Data Entry Flows

Overview

Data entry flows in the NoahFace iPad App and NoahFace Go mobile App allow you to collect multiple data items (one after the other) at clock in or clock out.

They are most typically used for scenarios where you need to:

  • Allocate time across multiple dimensions (eg: customers, projects, work types, etc).
  • Collect complex attestations for compliance with employment regulations.
  • Collect multiple pieces of information to drive pay rates (eg: piecework, shift conditions, tips, etc).

You can chain together as many data items as you want to, and you can even have conditional flows so that certain data items are dependent on the answers to previous data items.

Configuration

Data entry flows are configured by specifying the name of the first data item in your flow against your Clock In or Clock Out button in your screen details. For example:

       out=Clock Out:flow:lunch

Each data item is then independently configured to specify the type of data to be collected, labels, validations, etc, as well as the name of the next data item in the flow. For example:

        lunch=yesno:Lunch Break:Did you take your lunch break?

Textual Data

To require a worker to enter text, specify any of the following colon separated components (only the first 3 are required):

  • A type of "text".
  • The name of the data item.
  • The prompt for the data item.
  • The name of the next data item.
  • The minimum number of characters.
  • The maximum number of characters.
  • The type of keyboard (eg: numeric).
  • The regex validation.
  • The error message to be displayed if the regex validation fails.

For example:

        comments=text:Comments:Comments

Numeric Data

To require a worker to enter text, specify any of the following colon separated components (only the first 3 are required):

  • A type of "number".
  • The name of the data item.
  • The prompt for the data item.
  • The name of the next data item.
  • The minimum number of characters.
  • The maximum number of characters.

For example:

        boxes=number:Boxes:Number of Boxes Packed

Currency Data

To require a worker to enter a dollar amount, specify any of the following colon separated components (only the first 3 are required):

  • A type of "dollar".
  • The name of the data item.
  • The prompt for the data item.
  • The name of the next data item.
  • The minimum number of characters.
  • The maximum number of characters.
  • Whether cents are allowed (true or false).

For example:

        tips=dollar:Tips:Cash Tips Received

Pick Lists

To require a worker to select from a list, specify any of the following colon separated components (only the first 3 are required):

  • A type of "list".
  • The name of the data item.
  • The list of options. This can be either a global list (eg: $1) or a semi-colon separated list of strings.
  • The name of the next data item.
  • The default value for the data item.

If you want the next data item to be determined dynamically, based on the item selected from the list, use a data type of "case" instead of "list" (the specified next data item will be treated as the default).

A search bar will be displayed automatically if the list has many values.

For example:

        trucktype=list:Truck Type:Single;B Double;A Double

Yes/No Questions

To require a worker to answer a 2-option question, specify any of the following colon separated components (only the first 3 are required):

  • A type of "yesno".
  • The name of the data item.
  • The question to ask.
  • The name of the next data item if the green option is selected.
  • The name of the next data item if the red option is selected.
  • The button label for the green option (the default is "Yes").
  • The button label for the red option (the default is "No").
  • The data value if the green option is selected.
  • The data value if the red option is selected.

Yes/No data items enable conditional flows.

For example:

        restbreaks=yesno:Rest Breaks:Did you take your rest breaks today?

Messages

To display messages, specify the following colon separated components (only the first 3 are required):

  • A type of "msg".
  • The name of the data item.
  • The message text.
  • The name of the next data item.

For example:

        instructions=msg:Instructions:To work at this site you must complete a short survey.

Terminating your Flow

A data entry flow ends if you do not specify the name of the next data item.

Alternatively, you can immediately terminate the flow by specifying a next data item of either:

  • tick. This will record a clock in or clock out event as appropriate.
  • cross. This will record an access denied event.

Examples

Simple Example

For a simple example, let's assume that at the end of each shift you required workers to:

  • Enter the number of boxes they packed during their shift,
  • Confirm whether or not they took their rest breaks, and
  • If they indicated they did not take their rest breaks, then select the reason from a list of valid reasons.

To support this, you might use the following screen configuration:

In the NoahFace Go Mobile App, this would look as follows (if you indicated you did not take your breaks):

California Break Attestations

If you wanted workers to attest to the fact that they took their required breaks (and asked for a reason if they didn't), you might use the following screen configuration:

In the NoahFace Go mobile App, this would look as follows (if you indicated you did not take your rest breaks):

Privacy
Legal
Terms of Use
Contact Us
© NoahFace 2018
.