Clock Program

Clocks Guide

Version
R2024.2.0
Clock Program

This section describes the clock program used for the Clock+. It contains information about the settings that determine the behavior of the clock and it lists each entry or “key” that you can override in the config.custom.xml.

XML Format

This section provides some brief notes on the format used in the XML configuration files that make up the clock program:

  • Each file contains the following as the first line: 
  • <?xml version="1.0" encoding="utf-8" ?>
  • Important: This line is required and the file may not contain anything, not even spaces, before it.
  • The parameter lines are preceded by <config> and concluded with </config>.
  • The parameter lines are divided into sections, each preceded with a <label> and ended with an </end label>. In the following example, the <label> (<admin_mode>) has a tag configured after it (<admin_pin>4110</admin_pin>), followed by the </end label> (</admin_mode>):
  • <admin_mode> <admin_pin>1234</admin_pin> </admin_mode>

<communication>

The <communication> section defines the URL of the instance of the Dayforce application the clock communicates to, as well as the communication timeouts.

Located in the <communication> section is the <firmware_update_url> tag, which defines the URL for the clock's firmware:

<firmware_update_url>
http://punch.dayforcehcm.com/deviceservices/GetFirmwareUpdate.aspx
</firmware_update_url>

<system>

The <system> section has settings that control things such as the length of employee badges, PINs, and transfer codes. In this section, you can also configure support for directionless clock entries and biometric verification, and how long the clock waits after going offline to show an offline message.

Located in the <system> section are the following tags:

  • <badge_length prefix="" suffix"">6</badge_length>: Controls the number of digits stored in the badges employees use with the clock. Type the number of digits stored in the badges employees use to identify themselves (either swiping a bar code card or pressing a proximity badge up to the clock) on the clock.
  • <transfer_by_code>no</transfer_by_code>: Controls whether the clock shows a list of items when employees perform transfers.
  • <transfer_code_length>3</transfer_code_length>: Controls the number of digits in the codes used to identify location, job assignments, or dockets. This length must match the Clock Code values configured in the Dayforce application. Clock codes are used for job transfers, when employees record switching from their primary job to working on another job.
  • <enable_transfer_sort>no</enable_transfer_sort>: Controls whether the labor metric lists can be sorted by users. Set to yes and employees can sort labor metrics when performing transfers on the clock.
  • <qty_decimal_places>0</qty_decimal_places>: Controls the number of decimal places, if any, users record quantities with on the Clock+. By default, the program specifies <qty_decimal_places>0</qty_decimal_places> and decimal places are disabled on the clocks. The clock can be configured to accept quantities with decimal places by replacing 0 with the number of decimal places on each quantity recorded. The entry: <qty_decimal_places>2</qty_decimal_places> dictates that each quantity recorded by users at the clock contains two decimal places. When an employee, recording a quantity, enters 5075 with the clock’s number pad, the quantity is stored with two decimal places as a value of 50.75.
  • <tip_decimal_places>2</tip_decimal_places>: Controls the number of decimal places, if any, users record tips with on the Clock+.
  • Note: When decimal places are enabled on the clock, users must record quantities with enough trailing zeros to fill the specified decimal places. For example, with the clock configured to accept two decimal places, an employee records a quantity of 10 by entering 1000. The clock stores this with the two decimal places as a value of “10.00”.
  • <directionless>no</directionless> Determines whether or not employees can perform directionless (fast) clock entries. When directionless clock entries are received, validation at the clock is limited. The application determines, based on the order of the clock entries, what type of clock entry the employee is performing.
  • The following attribute is available for the <directionless> tag:
    • default: Controls which screen, keypad or functions, is shown by default on the clock. Users can toggle between these screens using the Functions and Keypad buttons, but the default attribute allows you to specify which screen appears by default. When default="keypad", the Keypad screen is shown. When default="functions", the Functions screen is shown.
  • <default_language_fallback>yes</default_language_fallback>: Controls whether the clock returns to the default language when a user changes the language and then completes a function. When set to yes, the clock returns to the default language automatically. When set to no the clock retains the language the user selected.
  • <employee_pin>no</employee_pin>: Determines whether or not employees are prompted to enter a PIN when performing clock entries. Set to yes and employees have to enter a valid PIN when they perform clock entries.
  • <supervisor_pin>no</supervisor_pin>: Determines whether or not supervisors are prompted to enter a PIN when performing supervisor overrides. Set to yes and supervisors have to enter a PIN when they perform clock entries.
  • <time_synch>0</time_synch>: Controls how often the clock performs a time synchronization with the server. Set to 0 to disable time synchronization. To enable time synchronization, set the number (in seconds), which dictates how often the clock performs a time synchronization. For example, to set the clock to perform a time synchronization every hour, enter 3600, the total number of seconds in an hour. The minimum value permitted is “60”, for sixty seconds. If you enter any number between “1” and “59”, the clock will automatically adjust the value to “60” and perform a time synchronization every minute.
  • <pin_length>5</pin_length>: Controls how long PINs can be on the Clock+.
  • <touch_blocked_environment>no</touch_blocked_environment>: Controls how users interact with the clock. In environments where touch events are disabled (for example, a kiosk), this value must be set to yes. In all other scenarios, it should be left at the default value of no.
  • <biometric mode="verify">no</biometric> Controls whether or not biometric verification is enabled on the clock. When enabled, supervisors and employees are prompted to verify their identity by scanning their finger before their clock entries are accepted.
  • The <biometric> key can have several additional attributes specified between then < > brackets, including: 
    • threshold="1": By default, clocks are configured with medium sensitivity for fingerprint quality.
    • enrollment="normal" or enrollment="simple": Controls whether the clock prompts employees for one or two fingers when enrolling employees for biometric verification. When configured with enrollment="normal" two fingers are required. When configured with enrollment="simple" only one finger is required.
    • verify_attempts="1": Controls the number of biometric verification attempts the clock allows. For example, with verify_attempts="3" specified, the clock allows three attempts. This means that if an employee fails their first attempt at biometric verification, the clock will allow them two more attempts without having to re-enter their badge number.
    • lift_finger_in_enroll="yes": Specifies whether employees must lift their finger off the scanner between each scan when they enroll for the first time.
    • accept_on_hw_failure="no": Controls whether clock entries are accepted when biometric verification is enabled, but the reader is disconnected. When set to yes, the clock entries are rejected if the reader isn’t connected. When set to no, clock entries are accepted, despite the clock not being able to perform biometric verification.
  • <biometric mode="identify">no</biometric>: Controls whether or not biometric identification is enabled on the clock. When enabled, employees are prompted to scan their finger without first having to enter their badge number. The clock checks their scan against the ones saved in the database and finds the appropriate match.
  • <legal_consent>: Controls whether the clock displays a legal consent agreement before employees enroll for biometric verification. When the tag is set to yes, employees can’t enroll for biometric verification until they review information about stored biometric templates and agree to submit their fingerprint for verification purposes.
  • Important: You can’t edit the legal consent text that is contained in the <legal_consent> entry using the localization override file in the Localization tab of Site Setup > Clock Configuration. If you attempt to edit this text, the application generates an error and doesn’t save your changes. See Update the Clock+ Config File.
  • The following attribute is available for the <legal_consent> tag:
    • record: Controls whether the clock prompts users to review the legal consent text and agree to submit their biometric templates when performing a clock entry (if they haven’t previously consented to submit their biometric templates). When the user agrees, their confirmation is recorded in the database and they are no longer prompted to view the legal disclaimer text when they perform clock entries. If they disagree, they must confirm that they don’t consent, which will result in their biometric templates being deleted.
    • This attribute is set to "no" by default. To enable it, set it to "yes" in the clock's custom config file.

<admin_mode>

The <admin_mode> section defines the key sequence and PIN needed to enter administration mode on the clock. Administration mode is used to reboot the clock, update the clock's software or database, synchronize the clock's time with the application server, and other system tasks.

Located in the <admin_mode> section are the following tags:

  • <admin_pin>4110</admin_pin>: Controls the admin mode password. Set it to a 4-digit password. It can contain the digits 0-9.

<threads>

Threads define when the clock performs routine tasks such as submitting clock entries or checking for software updates. Each task in the <threads> section can be run on an interval-basis or following a set schedule.

These values shouldn’t be modified without consultation.

The available threads are as follows:

  • CleanupBioTemplates: This thread allows the clock to regularly remove out-of-date biometric templates through contact with the server. The CleanupBioTemplates key has the following additional parameters:
    • active: Determines if the thread is active or inactive. By default, this tag is set to yes.
    • schedules randomization: Enter the number of seconds the clock will use to randomize the scheduled start time. This helps to ensure that multiple clocks in one location don’t perform a thread at the same time and burden the network.
    • page size: Controls the number of biometric templates submitted at once to prevent overloading the server.

<timeouts>

The <timeouts> section defines how long the clock waits, specified in milliseconds, for different entries, such as how long an employee has to enter their badge number, as well as how long different information is displayed on the clock. It contains the following entries:

  • timeout type="badge_entry" delay="5000": The timeout for entering badge numbers.
  • timeout type="item_select" delay="10000": The timeout for selecting items.
  • timeout type="status_display" delay="5000": Controls how long status information is shown on the clock.
  • timeout type="info_display" delay="8000": Controls how long employee information is shown on the clock.
  • timeout type="submit_punch" delay="25000": The time before the clock stops attempting to submit clock entries and saves them as offline clock entries (only in online mode).
  • timeout type="supervisor" delay="10000": Controls when supervisor mode times out.
  • timeout type="options_select" delay="15000": Controls how long the multiple transfer screen is shown on the clock.
  • timeout type="bio" delay="10000": The timeout for fingerprint enrollment after an employee enters their badge.
  • For example, when set to "10000", the employee has 10 seconds to place their finger on the fingerprint scanner to start enrollment. If the scanner doesn’t detect a fingerprint after 10 seconds, the enrollment times out and the clock returns to the home screen.
  • timeout type="survey" delay="20000": The timeout for clock surveys.

<functions>

This section controls the use of the clock’s function keys. Defines what function, such as clocking in for work, is initiated by pressing the corresponding function key (F1 to F8). Each entry references the key, the function’s name (function id=), the clock entry type, and the class used to process the clock entry.

For example:

<function id="in" button="F1" punchtype="Punch_In"
class="BaseFunction" icon="shift_start" key="1" />

For functions that require a choice to be made, additional entries define which number pad keys correspond to which choice, if a scroll list should be used to select a value <scroll_list>yes</scroll_list>), and if a quantity must be entered (<quantity>yes</quantity>).

<unified>

This section contains some admin functions that, when enabled, appear in the administrator mode menu. The following entries are available in the <admin_functions> subsection:

  • "data_sync": Enables the Data Synchronization button which administrators can click to run a data synchronization with the database.
  • "time_sync": Enables the Time Synchronization button which administrators can click to run a time synchronization with the clock server.

<supervisor_functions>

This section specifies which functions and corresponding function keys may be used during a supervisor override.

The section also defines the numeric keys used to select supervisor functions.

<admin_functions>

This section specifies the admin functions enabled in admin mode and the numeric key used to invoke each function. See the <admin_mode> section above for the key sequence to enter admin mode.

<transfer_functions>

This section defines what transfers employees can perform from the clock.

The section has an entry for each type of transfer: org unit (location), job (job assignment) and docket (work order).

The numeric key to select the type of transfer is defined, as is the method of selection.

See Configure Transfers.

<multi_transfer_functions>

This section defines multi-transfer functionality.

See Configure Multi-Transfer Functionality.

<meal_waive_functions>

This section defines meal waive functionality.

See Enable Meal Waiving.

<biometric_functions>

This section defines the biometric functions available to supervisors. Each entry specifies the numeric key pressed to select the entry.

See Configure Biometrics on the Clock+.

<sounds>

This section defines sounds on the Clock+. See Enable Sounds on the Clock+.

<languages>

This section lists all of the language localization files available and the method used to select one. The following language cultures are available:

  • bg-BG - Bulgarian (Bulgaria)
  • cs-CZ - Czech (Czech Republic)
  • da-DK - Danish (Denmark)
  • de-DE - German (Germany)
  • en-CA - English (Canada)
  • en-GB - English (UK)
  • en-US - English (US)
  • es-ES - Spanish (Spain)
  • es-MX - Spanish (Mexico)
  • fi-FI - Finnish (Finland)
  • fr-CA - French (Canada)
  • fr-FR - French (France)
  • hi-IN - Hindi (India)
  • hr-HR - Croatian (Croatia)
  • hu-HU - Hungarian (Hungary)
  • it-IT - Italian (Italy)
  • ja-JP - Japanese (Japan)
  • ko-KR - Korean (Korea)
  • nb-NO - Norwegian (Norway)
  • nl-NL - Dutch (Netherlands)
  • pl-PL - Polish (Poland)
  • pt-BR - Portuguese (Brazil)
  • pt-PT - Portuguese (Portugal)
  • ro-RO - Romanian (Romania)
  • sk-SK - Slovak (Slovakia)
  • th-TH - Thai (Thailand)
  • zh-Hans - Simplified Chinese

In the following example, English is configured as the default language:

<languages>
<language culture="en-US" name="English" code="1033" default="yes"/>
<!--
<language culture="fr-CA" name="Français" code="3084"/>
<language culture="es-MX" name="Español" code="2058"/>
-->
</languages>