Totalizer Extensibility Setup Tool
The Totalizer Extensibility Setup Tool serves as a step-by-step aide that specifically creates, updates or deletes configurations.
The Totalizer Extensibility Setup Tool serves as a step-by-step aide that specifically creates, updates or deletes configurations that cannot be maintained in UKG Pro Workforce Management, but are required by Totalizer extensibility points.
Totalizer extensibility allows injection of custom scripting code (JSON), either before or after a Totalizer process, that permits manipulation of engine-produced data and influences the remaining Totalizer engine processes.
This tool eliminates the need for JSON coding expertise by generating appropriate code in the backend to maintain configurations required by an extensibility point.
Launch this setup tool when you need to define or maintain configurations for Totalizer extensibility points, such as:
-
Consecutive Day Overtime Reset
-
Overtime Preference
Worked on Day Off Differential
Totalizer Extensibility Setup Tool — Considerations and limitations
You must enable the Totalizer Extensibility feature switch before implementing the Totalizer Extensibility Setup Tool.
Totalizer Extensibility Setup Tool — Before you start
Before you implement the Totalizer Extensibility Setup Tool, you must do the following:
Feature switch: Enable the Totalizer Extensibility feature switch. See the Feature Switch topic.
Totalizer Extensibility Setup Tool — Configure the business process
- Migrate the TotalizerExtensibilitySetup_v3 business process model to the customer tenant using Setup Data Manager (SDM).
-
Log in to the appropriate tenant.
-
Go to
. -
Select the Source tenant where the Process Model resides, and select the template to copy. It is a .zip file. A message appears in the Source column: Source: Import from <filename>.zip.
-
Click Tap Review and Publish. The Publish Summary panel appears.
-
Review the Publish Summary panel. It lists the items that were extracted from the migration file. If you approve, click tap Publish with Comment or just Publish.
-
Click Tap Go to Publish History at the bottom of the panel to view the status of the data transfer. The Publish History page contains a table that lists the items you have published. If there were errors during the transfer, the button under the Errors column for that row is black.
-
To view details, click tap the appropriate row and click tap View Selected.
-
On the History for publish run page, click tap Show all to view the setup data that you published, and the errors that occurred, if any, listed by item type and name.
-
- Configure the Totalizer Extensibility Setup decision tables.
Note: Decision tables are configurable based on user requirements and can be changed accordingly. These tables are dynamic and can be updated at any time without redeployment of the process model.
-
Go to
. -
Select the TotalizerExtensibilitySetup_v3 process and click tap Edit. The process model enters edit mode.
-
Select the Decision Tables tab.
-
Click Tap Everyone's, and then select a decision table to edit.
-
Click Tap Decision Table Editor to add or update the rows in the table.
-
Click Tap Save and close.
- Repeat the step for each Totalizer Extensibility Setup decision table. Caution:
-
Values entered in the decision tables are case-sensitive, and must match configured values in the application.
-
Do not remove variables, variable names, or variable types from any decision table.
- TotalizerExtensibilitySetup_v3_InternalParameters — Controls internal Totalizer Extensibility Setup validation parameters.
Totalizer Extensibility Setup — Internal Parameters decision table structure
Totalizer Extensibility Setup — Internal Parameters decision table structure
Column name
Description
Internal Parameter Name
Internal parameter lookup key name.
Internal Parameter Value
Internal parameter lookup value.
Totalizer Extensibility Setup — Internal Parameters sample content
Totalizer Extensibility Setup - Internal Parameters decision table structure
Internal Parameter Name
Internal Parameter Value
Admin
Internal user; do not change.
Default =
SERVICES-LEVEL3
Note:When the workflow is calling APIs and Admin= blank, the process checks the permissions in the function access profile assigned to the user who is executing the workflow.
- TotalizerExtensibilitySetup_v3_Locale — Allows customization of the text in the workflow form and notifications for different locales.
Totalizer Extensibility Setup — Locale decision table structure
Totalizer Extensibility Setup - Locale decision table structure
Parameter name
Description
Locale Parameter Name
Internal field; do not change.
Locale Policy
Locale policy for which the text applies.
You can use an asterisk (
*
) as a wildcard, but put the less-restrictive locale policy names at the bottom of the table because the integration scans cross-reference tables from the top.Locale Parameter Value
Text displayed in the workflow form or notification.
Note:- Localization of business process workflows remains optional, but is supported.
- You can translate some or all messages by adding lines to the table in their preferred translation for specific locales. Decision tables are scanned from top to bottom; therefore, place messages for the most commonly used Locale Policy at the top of the decision table and less-restrictive locale policies at the bottom.
- Text within tags ("<>") must not be changed.
- The decision table holds all messages represented with standard English labels; these apply to all locales when the Locale Policy is set to !=empty.
- Names of the parameters in the decision table column Parameter Name must be used as is. If any parameter value needs to be localized for a different Locale Policy, copy the Parameter Name with the !=empty Locale Policy, add a new row to the decision table with the appropriate Locale Policy, and then add the localized value in the Message column.
- Decision tables support operators like "Contains," "Starts with," "Ends with," and "Is Not Empty." You can achieve your preferred results by following these examples:
- To match any non-empty or any string (like *), use the "Is Not Empty" operator.
- To match a string starting with "ABC" (like "ABC*"), use the "Starts with" operator and set the value to "ABC".
- To match a string containing "English" as substring, use the "Contains" operator with the value "English".
- The last row in the decision table must remain empty ("!=empty".)
Totalizer Extensibility Setup Locale — sample content
Totalizer Extensibility Locale — sample content
Locale Parameter Name
Locale Policy
Locale Parameter Value
Error_API
!=empty
API error occurred. Please check Activiti Tenant Admin page for details. The custom zone could be in use.
Error_Default
!=empty
Error occurred. Please check Activiti Tenant Admin page for details.
Error_DistinctCustomZoneNameRequired
!=empty
Duplicate Custom Zone Name not allowed.
Error_ExtensionNameInUse
!=empty
Duplicate Names are not allowed.
Error_ExtensionNameRequired
!=empty
Custom Zone Name not configured.
Label_Action
!=empty
Action
Label_ActionDelete
!=empty
Delete
Label_ActionUpdate
!=empty
Update
Label_ButtonClose
!=empty
Close
Label_ButtonCreate
!=empty
Create Custom Zones
Label_ButtonNext
!=empty
Next
Label_ButtonUpdate
!=empty
Update
Label_CustomZoneSetupHeader
!=empty
Custom Zone Setup
Label_ErrorFormHeader
!=empty
Error
Label_ExistingCustomZones
!=empty
Select Custom Zones
Label_ExtensionListConsecutiveDayReset
!=empty
Consecutive Day Overtime Reset
Label_ExtensionListHeader
!=empty
Select Extension
Label_ExtensionListOvertimePreference
!=empty
Overtime Preference
Label_Options
!=empty
Options
Label_OvertimePayChoice
!=empty
Overtime Pay Choice
Label_PurposeMoney
!=empty
Pay Choice Money
Label_PurposeTime
!=empty
Pay Choice Time for Time
Label_PurposeTimeAndMoney
!=empty
Pay Choice Time and Money
Label_SetupOptionsCreateNew
!=empty
Create Zones
Label_SetupOptionsManageExisting
!=empty
Edit Zones
Label_UpdateCustomZoneName
!=empty
Updated Name
Message_CreateCustomZoneHeader
!=empty
Enter Customer Zone Display Name.
Message_CreatedSuccessfully
!=empty
Zone Created successfully.
Message_CurrentCustomZoneHeader
!=empty
Custom Zone details.
Message_CurrentCustomZoneName
!=empty
Name: <CurrentCustomZoneName>
Message_CurrentCustomZoneType
!=empty
Type: <CurrentCustomZoneType>
Message_DeletedSuccessfully
!=empty
Zone deleted successfully.
Message_NoExtensionFound
!=empty
No Custom Zones found.
Message_UpdatedSuccessfully
!=empty
Zone Updated successfully.
-
-
- Deploy the updated business process model
Process models must be redeployed every time changes are made to an existing model. Re-deployment is not required for decision table changes.
Follow these steps to deploy the process model. For detailed information, see the online help topic Deploy Business Process Models .
-
Go to
. -
Select the TotalizerExtensibilitySetup_v3 model.
-
Click Tap Edit, and then configure the required parameters and deployment dates.
- (Optional) In Description, enter
Totalizer Extensibility Setup Tool
. - In Display Name, enter
TotalizerExtensibilitySetup_v3
. - In Start Effective, select the effective start date.
- In End Effective, select Forever to make the Business Process available indefinitely.
- In Status, select Active.
- In Action List, select Hide.
- In Tile List, select Show.
- In GoTo List, select Hide.
Caution: Do not make a selection from the Template Categories list. - (Optional) In Description, enter
-
Click Tap Save, and then select Return to deploy.
-
Add the process model to the required process profile.
-
Assign the process profile to employees by way of People Information.
-
Totalizer Extensibility Setup Tool — Version history
Process | Description |
---|---|
TotalizerExtensibility_v1 | Initial release. This setup tool facilitates creation and maintenance of configurations needed by Totalizer extensibility points. |
TotalizerExtensibility_v2 | The Totalizer Extensibility Setup Tool now includes the Consecutive Day Overtime Reset extension. |
TotalizerExtensibility_v3 | The Totalizer Extensibility Setup Tool now includes the Worked on Day Off Differential extension. |
The Totalizer Extensibility Setup Tool now includes the Factored Time extension. | |
The Totalizer Extensibility Setup Tool now includes the Split Shift extension. |
Consecutive Day Overtime Reset extension
The Consecutive Day Overtime Reset extension provides organizations with the ability to create custom zones that are designed to reset based on the number of contiguous nonworking (rest) days or a combination of rest days and maximum premium days.
These zones, referenced by the Totalizer, cannot be created with standard work rule building blocks. We recommend using terminology familiar to the organization that represent employee overtime policy
This extension is included in the Totalizer Extensibility Setup Tool workflow and can optionally be configured if appropriate for your organization.
Consecutive Day Overtime Reset extension — Considerations and limitations
-
The Totalizer Extensibility Setup Tool must be implemented.
-
The system prevents deletion of any custom zone that is in use by a combination rule or paycode distribution.
Consecutive Day Overtime Reset extension — User experience
An administrator launches the Totalizer Extension Setup Tool from My Business Processes.
When the Totalizer Extension Setup pane displays, the administrator selects Consecutive Day Overtime Reset from the list, and then proceeds through each step to create, update, or delete overtime custom zones.
The administrator then selects these custom zones during the combination rule definition for subsequent reference when constructing the paycode distribution. Work and pay rules must be created, and then assigned to the employee.
To illustrate consecutive day overtime reset options, let us examine approaches at two organizations.
Rest Days
Organization ABC stipulates that the overtime eligibility period resets after the employee has 2 contiguous rest days. The employee must work more than 5 days before overtime is paid.
Employee A works for two days and then has two rest days. The employee then works for seven days. Overtime is paid on days 6 and 7.
Employee B works for two days and then has one rest day. This pattern repeats and then the employee works for three continuous days. Overtime is paid on days 8 and 9.
In each case, the employee continues to receive overtime until 2 contiguous rest days occur.
Rest Days + Premium Days
Organization XYZ stipulates that the overtime eligibility period resets after the employee has 2 contiguous nonworking days or receives overtime for a specified number of days. The employee must work more than 5 days before overtime is paid. Overtime pay is limited to a maximum of 1 day.
Employee C works for eight days. Overtime is paid on day 6 and the eligibility period resets on the same day.
Consecutive Day Overtime Reset extension — Before you start
Before implementing the Consecutive Day Overtime Reset extension, you must complete each of the following steps to configure the custom zone assignment.
- Custom zones: Create custom zones by way of the Totalizer Extensibility Setup Tool for each consecutive day overtime that is applicable within the organization.
- Combination rules: Create a combination rule that includes the selection of each custom zone. See the Combination Rules topic.
- Paycode Distributions: Create a pay code distribution based on the zones and overtimes from the combination rule. This single pay code distribution applies to all types of overtime processing available to employees. See the Paycode Distributions topic.
- Work Rules: Create a work rule by selecting the pay code distribution that is configured with the custom zones. Configure the available overtimes and zones. See the Work Rules topic.
- Pay Rules: Create a pay rule that includes selection of the appropriate work rule. See the Pay Rules topic.Note: Assign the pay rule to all employees who rely on Consecutive Day Overtime Reset functionality.
Consecutive Day Overtime Reset extension — Configure the decision tables
-
Go to
. -
Select the TotalizerExtensibilitySetup_v3 process and click tap Edit. The process model enters edit mode.
-
Select the Decision Tables tab.
-
Click Tap Everyone's, and then select a decision table to edit.
-
Click Tap Decision Table Editor to add or update the rows in the table.
-
Click Tap Save and close.
- Repeat the step for each TotalizerExtensibilitySetup_ConsecutiveDayOvertimeReset decision table.
Caution:
-
Values entered in the decision tables are case-sensitive, and must match configured values in the application.
-
Do not remove variables, variable names, or variable types from any decision table.
- TotalizerExtensibilitySetup_ConsecutiveDayOvertimeReset_v3_InternalParameters — Controls internal parameters that are specific to Consecutive Day Overtime Reset.
Totalizer Extensibility Setup — Consecutive Day Overtime Reset — Internal Parameters decision table structure
Totalizer Extensibility Setup — Consecutive Day Overtime Reset — Internal Parameters decision table structure
Column name
Description
Parameter Name
Parameter lookup key name.
Parameter Value
Parameter lookup value.
Totalizer Extensibility Setup— Consecutive Day Overtime Reset — Internal Parameters sample content
Totalizer Extensibility Setup — Consecutive Day Overtime Reset — Internal Parameters decision table sample content
Parameter name
Description
Admin
Internal user; do not change.
Default =
SERVICES-LEVEL3
ResetType
Reset type default value.
This value must always =
ConsecutiveRestDays
DefaultNumberOfDays
Identify the day number on which the employee is eligible for overtime after working consecutive days.
Default =
6
DefaultNumberOfRestDays
Determine the number of rest days that must occur before the overtime reset is performed.
Default =
2
Default_MaxNumberOfDaysPremiumPay
Maximum number of days for which overtime is provided.
Default =
999
requiresApproval
Determine whether the overtime reset requires approval.
This value must always =
false
OvertimeOverridePrefix
(Optional)
Enter a semicolon or comma-separated list of overtime prefixes that filters overtime paycodes displayed on the form.
When left blank, all overtime paycodes display.
Note: Wildcards, such as * or ?, are supported.DefaultLastDayMinimumHours
Last Day Minimum Hours default value.
Default =
00:00
Note: Must adhere to the HH:mm format.DefaultMinimumHours
Minimum Hours default value.
Default =
00:00
Note: Must adhere to the HH:mm format. - TotalizerExtensibilitySetup_ConsecutiveDayOvertimeReset_v3_Locale — Provides translation of business process messages and labels that are specific to Consecutive Day Overtime Reset on the task form into different languages.
Totalizer Extensibility Setup — Consecutive Day Overtime Reset — Locale decision table structure
Totalizer Extensibility Setup — Consecutive Day Overtime Reset - Locale decision table structure
Column name
Description
Locale Parameter Name
Key for which localization is defined.
Locale Policy
Locale Policy.
Note: You can use an asterisk (*
) as a wildcard, but put the less-restrictive locale policy names at the bottom of the table because the integration scans cross-reference tables from the top.Locale Message
Form label or message shown as the result of a processing error.
Totalizer Extensibility Setup — Consecutive Day Overtime Reset — Locale sample content
Totalizer Extensibility Setup — Consecutive Day Overtime Reset — Locale sample content
Key Locale Message Error_CDRExtensionNameInUse
!= empty
This Zone is already in use.
Error_CDRExtensionNameRequired
!= empty
Mandatory field cannot be null.
Error_CDRLastDayMinimumHoursErrorMessageValidation
!= empty
DefaultLastDayMinimumHours must adhere to HH:mm format.
Error_CDRLastDayMinimumHoursOutOfRangeErrorMessageValidation
!= empty
DefaultLastDayMinimumHours value is out of range.
Minimum value: 00:00, Maximum value: 24:00.
Error_CDRMinimumHoursErrorMessageValidation
!= empty
DefaultMinimumHours must adhere to HH:mm format.
Error_CDRMinimumHoursOutOfRangeErrorMessageValidation
!= empty
DefaultMinimumHours value is out of range.
Minimum value: 00:00, Maximum value: 24:00.
Label_ButtonClose
!= empty
Close
Label_CDRAction
!= empty
Action
Label_CDRActionDelete
!= empty
Delete
Label_CDRActionUpdate
!= empty
Update
Label_CDRButtonClose
!= empty
Close
Label_CDRButtonCreate
!= empty
Create Custom Zone
Label_CDRButtonDelete
!= empty
Delete
Label_CDRButtonEdit
!= empty
Edit
Label_CDRButtonEditDeleteZone
!= empty
Create, Edit or Delete Zone
Label_CDRButtonGoBackToPrevious
!= empty
Go Back
Label_CDRButtonNext
!= empty
Next
Label_CDRButtonOvertimeOverrides
!= empty
Select Overtime Overrides
Label_CDRButtonSubmit
!= empty
Submit
Label_CDRButtonUpdate
!= empty
Update
Label_CDRCheckboxButtonOvertimePreferences
!= empty
Overtime Preferences
Label_CDRConsecutiveDayWorked
!= empty
Consecutive Day Worked
Label_CDRConsecutiveType
!= empty
Consecutive Type
Label_CDRCreatedSuccessfully
!= empty
Zone created successfully
Label_CDRCustomZoneSetupHeader
!= empty
Custom Zone Setup
Label_CDRDeletedSuccessfully
!= empty
Zone deleted successfully
Label_CDRLastDayMinimumHours
!= empty
Last day minimum hours
Label_CDRMaximumPremiumDays
!= empty
Maximum Premium Days
Label_CDRMinimumHours
!= empty
Minimum Hours
Label_CDRName
!= empty
Name
Label_CDRNewZoneRule
!= empty
New Zone Rule
Label_CDRNumberofDays
!= empty
Number of Days
Label_CDROvertimeOverride
!= empty
Overtime Overrides
Label_CDRRestDays
!= empty
Rest Days
Label_CDRSelectConsecutiveZone
!= empty
Select Consecutive Zone
Label_CDRSetupOptionsCreateNew
!= empty
Create Zones
Label_CDRSetupOptionsEditDeleteZone
!= empty
Edit/Delete Zones
Label_CDRSummary
!= empty
Summary
Label_CDRTotalizerExtensionSetup
!= empty
Totalizer Extension Setup
Label_CDRUpdatedSuccessfully
!= empty
Zone updated successfully
Label_CDRZoneRule
!= empty
Zone Rule
Label_CDRZoneType
!= empty
Zone Type
-
Consecutive Day Overtime Reset — APIs
API name | Type | Resource path |
---|---|---|
Retrieve Overtime Rules | GET | /v1/timekeeping/setup/overtime_rules |
Factored Time extension
The Factored Time Extension introduces a powerful tool for organizations to ensure compliance with regional compensation regulations. This feature automatically identifies hours worked within designated zones and applies a predefined factor to calculate additional compensation accurately.
This extension significantly enhances payroll accuracy and compliance, reduces manual intervention and potential errors, and ensures employees receive correct compensation for hours worked in designated zones.
This workflow applies to all employees within your organization whose pay rule building blocks build upon the custom zone.
Factored Time extension — Considerations and limitations
The Totalizer Extensibility Setup Tool must be implemented.
Business logic applicable to this workflow is embedded in the Totalizer Extensibility Setup Tool; no separate business model exists.
You can delete custom zones only when not assigned to a combination rule.
Factored Time extension — User experience
Administrator
An administrator launches the Totalizer Extension Setup Tool from My Business Processes.
When the Totalizer Extension Setup pane displays, the administrator selects Factored Time from the list, and then proceeds through each step to create, update, or delete custom zones.
Create a custom zone
The administrator selects the Create Zone option and is presented with the pane where the name, start and end times, factor, and start and end dates are entered.
For example, urban workers in a particular region receive an additional 14% for hours worked during the night, 10:00PM – 6:00AM. To accommodate factored time, the custom zone configuration appears as follows:
Name: Factored Time - urban
Start Time: 22:00
End Time: 06:00
Factor: 0.14
From: 01 June 2025
To: 01 Jan 3000
Edit or delete a custom zone
The administrator selects the Edit/Delete Zone option and is presented with two drop downs from which custom zone and action selections are made.
If the administrator chooses to edit the zone, the administrator makes the necessary revisions, and then submits the changes. Existing periods are automatically adjusted.
If the administrator chooses to delete a zone that is not assigned to a combination rule, the deletion takes place.
- If an administrator changes the Factor, the system automatically applies the new factor to the hours corresponding to punches that fall within the custom zone.
- If an administrator changes the Start Date to an earlier date that falls within a signed-off region, the system automatically generates historical corrections for any punches that fall within the custom zone of these pay periods.
Manager and employee: Timecard
The extension identifies all hours worked during the custom zone and then applies the defined factor to the hours. Calculated factored hours display on the totals tab in the Timecard.
For example, an employee punches In at 10:00PM and then punches Out at 1:00AM. The Amount of time that displays on the Totals tab is 3:25 (3 hours and 25 minutes.) The integration calculates the amount as follows:
10:00PM – 1:00AM = 3 hours
3 hours * 0.14 = 3 hours 25 minutes
Factored Time extension — Before you start
Before implementing the Factored Time extension, you must complete each of the following steps before you can configure the custom zone assignment.
- Custom zones: Create custom zones by way of the Totalizer Extensibility Setup Tool for each zone that is applicable within the organization.
- Combination rules: Create a combination rule that includes the selection of each Factored Time-related custom zone. See the Combination Rules topic.
- Paycode Distributions: Create a paycode distribution based on the available overtime and zones from the combination rules. This single paycode distribution applies to factored time processing available to all employees. See the Paycode Distributions topic.
- Work Rules: Create a work rule by selecting the pay code distribution that is configured with the custom zones. Configure the available overtimes and zones. See the Work Rules topic.
- Pay Rules: Create a pay rule. Assign the previously created work rule as default during configuration. See the Pay Rules topic.Note: Assign the pay rule to all employees who rely on Factored Time functionality.
Factored Time extension — Configure the decision tables
-
Go to
. -
Select the TotalizerExtensibilitySetup_v3 process and click tap Edit. The process model enters edit mode.
-
Select the Decision Tables tab.
-
Click Tap Everyone's, and then select a decision table to edit.
-
Click Tap Decision Table Editor to add or update the rows in the table.
-
Click Tap Save and close.
- Repeat the step for each TotalizerExtensibilitySetup decision table.
Caution:
-
Values entered in the decision tables are case-sensitive, and must match configured values in the application.
-
Do not remove variables, variable names, or variable types from any decision table.
- TotalizerExtensibilitySetup_v3_InternalParameters — Controls internal parameters that the Factored Time extension references.
Totalizer Extensibility Setup — Internal Parameters decision table structure
Totalizer Extensibility Setup — Internal Parameters decision table structure
Column name
Description
Parameter Name
Parameter lookup key name.
Parameter Value
Parameter lookup value.
Totalizer Extensibility Setup — Internal Parameters sample content
Totalizer Extensibility Setup — Internal Parameters decision table sample content
Parameter name
Description
Admin
Internal user; do not change.
Default =
SERVICES-LEVEL3
- TotalizerExtensibilitySetup_v3_Locale — Provides translation of business process messages and labels that are specific to Factored Time extension on the task form into different languages.
Totalizer Extensibility Setup — Locale decision table structure
Totalizer Extensibility Setup — Locale decision table structure
Column name
Description
Locale Parameter Name
Key for which localization is defined.
Locale Policy
Locale Policy.
Locale Message
Form label or message shown as the result of a processing error.
Totalizer Extensibility Setup — Locale sample content
Totalizer Extensibility Setup — Locale sample content
Key Locale Message FactoredErrorMessageEndTime !=empty Invalid End Time: '<EndTime>'. Expected Format: HH:mm
FactoredErrorMessageInvalidFactor !=empty Invalid factor: '<Factor>'. It must be a numeric value.
FactoredErrorMessageStartTime !=empty Invalid Start Time: '<EndTime>'. Expected Format: HH:mm
FactoredErrorMessageTimeNotPresent !=empty Factor Time Not Present FactoredErrorMissingFactorName !=empty There are currently no future periods available to expire. FactoredTimeErrorDateComparison !=empty From Date must preceed the To Date. FactoredTimeErrorMissingFactorToFrom !=empty From and To Dates cannot be empty. Label_ActionDelete !=empty Delete Label_ActionUpdate !=empty Update Label_ButtonClose !=empty Close Label_ButtonSubmit !=empty Submit Label_CustomZoneSetupHeader !=empty Custom Zone Setup Label_DeleteMessageInfo !=empty Are you sure you want to delete this zone? Label_ExistingCustomZones !=empty Select Custom Zone Label_ExtensionListFactoredTime !=empty Factored Time Label_FactoredTimeCreateOption !=empty Create Zone Label_FactoredTimeEditOptions !=empty Edit/Delete Zone Label_FactoredTimeEndTime !=empty End Time (00:00 - 23:59) Label_FactoredTimeFactor !=empty Factor Label_FactoredTimeFromDate !=empty From Label_FactoredTimeHeader !=empty New Zone Rule Label_FactoredTimeHeaderUpdate !=empty Update Zone Rule Label_FactoredTimeName !=empty Name Label_FactoredTimeStartTime !=empty Start Time (00:00 - 23:59) Label_FactoredTimeToDate !=empty To Label_GoBack !=empty Go Back Label_MessageSummary !=empty Summary Label_SetupOptionsCreateNew !=empty Create Zone Label_SetupOptionsManageExisting !=empty Edit Zone Label_UpdateMessageInfo !=empty Are you sure you want to update this zone? Message_CreatedSuccessfully !=empty Zone Created Successfully Message_DeletedSuccessfully !=empty Zone Deleted Successfully Message_NoZoneFound !=empty No zones available to update or delete. Message_UpdatedSuccessfully !=empty Zone Updated Successfully
-
Factored Time extension — APIs
API name | Type | Resource path |
---|---|---|
Create a new zone | POST | /v1/totalizer/extensibility/processor |
Update existing zone | PUT | /v1/totalizer/extensibility/processor/{id} |
Delete existing zone | DELETE | /v1/totalizer/extensibility/processor/{id} |
Overtime Preference
Launch the Totalizer Extensibility Setup Tool to create custom zones that represent employee overtime policy.
These zones, which the Totalizer references during Overtime Preference workflow processing, cannot be created with standard work rule building blocks. We recommend using terminology familiar to the organization, such as Time for Time; Money; and Time and Money.
For details, see the Overtime Preference topic.
Overtime Preference — Considerations and limitations
The system prevents deletion of any custom zone that is in use by a combination rule or employee overtime preference selection.
Overtime Preference — User experience
An administrator launches the Totalizer Extension Setup tool from My Business Processes.
When the Totalizer Extension Setup pane displays, the administrator selects Overtime Preferences from the list, and then proceeds through each step to create, update, or delete overtime preference display names. Upon completion, the names display in combination rule configuration and employee overtime preference selection.
The administrator then selects these custom zones during the combination rule definition for subsequent reference when constructing the paycode combination and distribution. Work and pay rules must be created, and then assigned to the employee.
Split Shifts extension
The Split Shifts extension introduces the ability to create custom split shift zones, allowing an employee’s work day to be split into two or more periods separated by a break.
This extension accommodates multiple industries in Australia that require employers to compensate with extra pay when employees work in split shifts. Employees, with non-contiguous work schedules, who work in industries that specifically adhere to the Hospitality Industry General Award (HIGA) benefit from this feature.
HIGA identifies a split shift as one where breaks occur between individual shifts that fall within a specified spread of hours. Often, breaks consist of 2 or more hours and spread of hours consists of 16 hours.
When the total working time, which includes working time, paid and unpaid breaks, and schedule time, exceeds a maximum span of hours, the employee earns overtime. Additionally, when the cumulative gap between individual shifts exceeds configured hours, the employee receives a split shift allowance.
The split shift allowance follows a tiered approach. For example, an organization configures the custom zone with three tiers. Each tier definition identifies the associated compensation, such as:
-
Tier 1: if the gap contains less than 2 hours, the extension awards no compensation.
-
Tier 2: If the gap contains 2 – 3 hours, the extension awards an hourly paycode of 1 hour in the employee Timecard.
-
Tier 3: If the gap exceeds 3 hours, the extension awards an hourly paycode of 2 hours in the employee Timecard.
Effective-dated custom zones, assigned to groups of employees, identify where the split shifts fall within the work day. These zones are incorporated into pay rule building blocks to correctly establish the appropriate overtime compensation.
Rely on this extension to identify qualification criteria, including:
-
Spread of hours between the In-punch of the first shift and the Out-punch of the last shift.
-
Maximum span of hours that must be worked before overtime compensation applies.
-
Minimum gap of hours that occur between shifts.
-
The number of tiers that qualify for shift allowance and fall within the spread of hours.
Split Shifts extension — Considerations and limitations
-
The Totalizer Extensibility Setup Tool must be implemented.
-
Business logic applicable to this workflow is embedded in the Totalizer Extensibility Setup Tool; no separate business model exists.
-
You can delete custom zones only when not assigned to a combination rule.
Validation is not performed on paycodes used to define the custom zones. We recommend that you copy the paycode defined in the application and then paste the value into the custom zone.
Occasionally, when combination rules are configured immediately after custom zone creation, a delay can occur before the custom zone displays in the Available List.
Split Shifts extension — User experience
Administrator
An administrator launches the Totalizer Extension Setup Tool from My Business Processes.
When the Totalizer Extension Setup pane displays, the administrator selects Split Shift from the list, and then proceeds through each step to create, update, or delete custom zones.
Create a custom zone.
The administrator selects the Create Zone option and is presented with a pane where the initial zone definition is performed. Fields include:
-
Name
-
From and To effective dates
-
Spread of Hours
-
Maximum Span of Hours (for overtime)
-
Minimum gap between shifts
-
Number of tiers for shift allowance
After the administrator configures the initial fields, subsequent setup forms allow the administrator to define each individual tier. As the administrator progresses through each tier definition, the setup form displays a detailed summary of the each previously defined tier.
For example, a split shift that accommodates a group of hospitality workers could be defined as:
Name: Split Shift
From: 01/01/2025
To: 01/01/3000
Spread of Hours: 16:00
Maximum Span of Hours (for overtime): 12:00
Minimum gap between shifts: 2:01
Number of tiers for shift allowance: 3
Tier: 1
Gap between shifts: 2:00
Amount: 00:00
Paycode Type: Hour
Paycode: APAC Split Shift Allowance 1
Tier: 2
Gap between shifts: 3:00
Amount: 01:00
Paycode Type: Hour
Paycode: APAC Split Shift Allowance 2
Tier: 3
Gap between shifts: 23:59
Amount: 02:00
Paycode Type: Hour
Paycode: APAC Split Shift Allowance 3
Edit or delete a custom zone.
The administrator selects the Edit/Delete Zone option and is presented with the Totalizer Split Shift extension pane.
If the administrator chooses to edit the zone, the administrator makes the necessary revisions, and then submits the changes. Existing periods are automatically adjusted.
If the administrator chooses to delete a zone that is not assigned to a combination rule, the deletion takes place.
Manager and employee: Timecard
The extension identifies all hours worked during the custom zone that are part of the split shift.
If the total span of hours exceeds the maximum span of hours, then overtime is calculated for the difference in hours.
If the cumulative gap between shifts qualifies, then a shift allowance is awarded to the employee.
For example, an employee is scheduled to work 6:00AM — 10:00AM and 02:00PM — 06:00PM on Monday. The employee punches 6:00AM — 10:00AM and 02:00PM — 07:00PM. Timecard totals calculate as follows:
Paycode | Amount |
---|---|
APAC Split Shift - OT Over 12h | 1:00 |
APAC Split Shift Allowance 3 | 3:00 |
Regular | 8:00 |
Split Shifts extension — Before you start
Before implementing the Split Shifts extension, you must complete each of the following steps before you can configure the custom zone assignment.
- Custom zones: Create custom zones by way of the Totalizer Extensibility Setup Tool for each zone that is applicable within the organization.
- Combination rules: Create a combination rule that includes the selection of each Split Shifts-related custom zone. See the Combination Rules topic.
- Paycode Distributions: Create a paycode distribution based on the available overtime and zones from the combination rules. This single paycode distribution applies to split shifts processing available to all employees. See the Paycode Distributions topic.
- Work Rules: Create a work rule by selecting the pay code distribution that is configured with the custom zones. Configure the available overtimes and zones. See the Work Rules topic.
Caution: Custom zones are not automatically assigned in the Work Rule after Paycode Distribution selection. You must attach the custom zone from the Zones list box.
- Pay Rules: Create a pay rule. Assign the previously created work rule as default during configuration. See the Pay Rules topic.Note: Assign the pay rule to all employees who rely on Split Shifts functionality.
Split Shifts extension — Configure the decision tables
-
Go to
. -
Select the TotalizerExtensibilitySetup_v3 process and click tap Edit. The process model enters edit mode.
-
Select the Decision Tables tab.
-
Click Tap Everyone's, and then select a decision table to edit.
-
Click Tap Decision Table Editor to add or update the rows in the table.
-
Click Tap Save and close.
- Repeat the step for each TotalizerExtensibilitySetup decision table.
Caution:
-
Values entered in the decision tables are case-sensitive, and must match configured values in the application.
-
Do not remove variables, variable names, or variable types from any decision table.
- TotalizerExtensibilitySetup_v3_InternalParameters — Controls internal parameters that the Split Shifts extension references.
Totalizer Extensibility Setup — Internal Parameters decision table structure
Totalizer Extensibility Setup — Internal Parameters decision table structure
Column name
Description
Parameter Name
Parameter lookup key name.
Parameter Value
Parameter lookup value.
Totalizer Extensibility Setup — Internal Parameters sample content
Totalizer Extensibility Setup — Internal Parameters decision table sample content
Parameter name
Description
Admin
Internal user; do not change.
Default =
SERVICES-LEVEL3
- TotalizerExtensibilitySetup_v3_Locale — Provides translation of business process messages and labels that are specific to Split Shifts extension on the task form into different languages.
Totalizer Extensibility Setup — Locale decision table structure
Totalizer Extensibility Setup — Locale decision table structure
Column name
Description
Locale Parameter Name
Key for which localization is defined.
Locale Policy
Locale Policy.
Locale Message
Form label or message shown as the result of a processing error.
Totalizer Extensibility Setup — Locale sample content
Totalizer Extensibility Setup — Locale sample content
Key Locale Message Label_Action !=empty Action Label_ActionDelete !=empty Delete Label_ActionUpdate !=empty Update Label_ButtonClose !=empty Close Label_ButtonNext !=empty Next Label_ButtonSubmit !=empty Submit Label_CustomZoneSetupHeader !=empty Custom Zone Setup Label_DeleteMessageInfo !=empty Are you sure you want to delete this zone? Label_ExistingCustomZones !=empty Select Custom Zone Label_ExtensionListSplitShift !=empty Split Shift Label_GoBack !=empty Go Back Label_Hour !=empty Hour Label_MessageSummary !=empty Summary Label_Money !=empty Money Label_PaycodeType !=empty Tier Type Label_SetupOptionsCreateNew !=empty Create Zone Label_SetupOptionsManageExisting !=empty Edit Zone Label_SplitShiftAllowanceTiers !=empty Shift Allowance Tiers Label_SplitShiftAmount !=empty Amount Label_SplitShiftConfigTierHeader !=empty Shift Allowance Tier Configuration Label_SplitShiftDetails !=empty Enter details to create new Split shift zone Label_SplitShiftEditOptions !=empty Edit/Delete Zone Label_SplitShiftEditZoneRuleHeader !=empty Edit Zone Rule Label_SplitShiftFromDate !=empty From Label_SplitShiftLimit !=empty Cumulative Gap Between Shifts Label_SplitShiftMaxGapBetweenShifts !=empty Minimum Gap between Shifts Label_SplitShiftMinSpanOfHours !=empty Maximum Span Of Hours(For Overtime) Label_SplitShiftNewZoneRuleHeader !=empty New Zone Rule Label_SplitShiftNoOfTier !=empty Configure No. Of Tiers for Shift Allowance Label_SplitShiftPaycode !=empty Paycode Label_SplitShiftPreviousConfiguredTiersHeader !=empty Configured Tiers: Label_SplitShiftSpanOfHours !=empty Spread Of Hours Label_SplitShiftTierCounter !=empty Tier Number Label_SplitShiftToDate !=empty To Label_SplitShiftZoneName !=empty Name Label_Tier !=empty Tier Label_UpdateMessageInfo !=empty Are you sure you want to update this zone? Message_CreatedSuccessfully !=empty Zone Created Successfully Message_DeletedSuccessfully !=empty Zone Deleted Successfully Message_NoZoneFound !=empty No zones available to update or delete. Message_SplitShiftAllowanceException !=empty *If left blank, shift allowance tiers will not be configured. Message_SplitShiftCreateZoneQuestion !=empty Do you want to create this zone? Message_SplitShiftErrorInvalidAmount !=empty Invalid Input : <Amount>. Amount must be numeric, as the associated paycode type is set to 'Money'. Message_SplitShiftErrorInvalidAmountInHours !=empty Invalid Amount:'<Amount>'.Expected format is HH:mm, as the associated paycode type is set to 'hour'. Message_SplitShiftErrorInvalidAmountNull !=empty Invalid Amount: Amount cannot be empty. Message_SplitShiftErrorInvalidDateComparison !=empty Please ensure the end date is after the start date. Message_SplitShiftErrorInvalidHour !=empty Invalid Input : <Hour>. <HourType> must be a value between 0 and 24 Message_SplitShiftErrorInvalidLimit !=empty Invalid Gap Between Shifts ( HH:MM): '<Limit>' . Expected Format: HH:mm Message_SplitShiftErrorInvalidMaximumSpanofHour !=empty Invalid Input : <MaximumSpanOfHour>. Maximum Span Of Hour cannot be empty. Message_SplitShiftErrorInvalidMaximumSpanofHourHHmmFormat !=empty Invalid Maximum Span Of Hour:'<MaximumSpanOfHour>'. Expected Format: HH:mm
The duration must fall between 00:01 and 24:00.Message_SplitShiftErrorInvalidMinimumGapBetweenShift !=empty Invalid Input : <MinimumGapBetweenShift>. Minimum Gap Between Shift cannot be empty. Message_SplitShiftErrorInvalidMinimumGapBetweenShiftHHmmFormat !=empty Invalid Minimum Gap Between Shift:'<MinimumGapBetweenShift>'. Expected Format: HH:mm
The duration must fall between 00:01 and 24:00.Message_SplitShiftErrorInvalidSpreadofHour !=empty Invalid Input : <SpreadOfHours>. Spread Of Hours cannot be empty. Message_SplitShiftErrorInvalidSpreadofHourHHmmFormat !=empty Invalid Spread Of Hours:'<SpreadOfHours>'. Expected Format: HH:mm
The duration must fall between 00:01 and 24:00.Message_SplitShiftErrorInvalidTiers !=empty Invalid Input : <NoOfTiers>. Please enter a positive, non-decimal number. Message_SplitShiftErrorInvalidTime !=empty Please enter Start and End Dates. Message_SplitShiftErrorInvalidZoneName !=empty Zone Name cannot be empty. Message_SplitShiftErrorMessageInvalidLimitExceeded !=empty Invalid Input :<Limit>. Limit in minutes must be numeric and in range 0 to 999. Message_SplitShiftErrorMessageInvalidLimitInMinutes !=empty Cumulative Gap Between Shifts cannot be empty. Message_SplitShiftErrorMessageInvalidPaycode !=empty Please enter a value for Pay Code. It cannot be empty. Message_UpdatedSuccessfully !=empty Zone Updated Successfully.
-
Split Shifts extension — APIs
API name | Type | Resource path |
---|---|---|
Create a new zone | POST | /v1/totalizer/extensibility/processor |
Update existing zone | PUT | /v1/totalizer/extensibility/processor/{id} |
Delete existing zone | DELETE | /v1/totalizer/extensibility/processor/{id} |
Worked on Day Off Differential extension
The Worked On Day Off Differential Extension provides a mechanism for organizations to remain compliant in regions where employees receive premium pay as compensation for working on a designated day off. This Extension automatically detects hours worked on days off and then applies the appropriate work rule to those hours to ensure accurate premium pay calculation.
The workflow relies on a combination of custom periods and specific duration paycodes that you apply in employee schedules on designated days off. You define custom periods within the Totalizer Extensibility Setup Tool and associate the periods with duration-based paycodes that you define to represent days-off.
During the active custom period, employees receive differential premium pay when they punch in and out on any designated day off. The work rule assignment in the duration paycode that you applied in the employee schedule drives the premium pay calculation.
This workflow applies to all employees within your organization.
Worked on Day Off Differential extension — Considerations and limitations
- The Totalizer Extensibility Setup Tool must be implemented.
- Business logic applicable to this workflow is embedded in the Totalizer Extensibility Setup Tool; no separate business model exists.
- You designate a day off by applying a duration paycode with 0:00 hours in the Schedule.
- Work rules that you create to drive the premium differential pay calculation must differ from work rules assigned to employees. These work rules must be assigned to the duration-type paycodes that you add to employee schedules.
- Duration-type paycodes with work rule assignments must be applied in the employee's schedule on designated non-working days. The duration paycodes must not overlap with scheduled shifts or worked hours.
- If actual hours worked, shown in the timecard, overlap with the day off duration paycode, the system generates an Invalid Named Duration exception.
- When creating or updating custom periods, the Start Date must be a current or future date. Start Dates in the past generate historical corrections that require manual intervention.
- Validation is not performed on paycodes selected during custom period creation.
- You should expire only future-dated custom periods by way of the Totalizer Extensibility Setup Tool.
- Do not delete custom periods as this action requires manual intervention of automatically generated historical corrections.
- Custom periods apply to all employees. Only one active custom period is allowed within any date range.
Worked on Day Off Differential extension — User experience
Administrator
An administrator launches the Totalizer Extension Setup Tool from My Business Processes.
When the Totalizer Extension Setup pane displays, the administrator selects Worked on Day Off Differential from the list, and then proceeds through each step to create, update, or expire custom periods.
Create or update a custom period
A list of all active and future custom periods presents to the administrator. The administrator selects the Create Period option and then selects Start and End Dates that determine the organization's custom period. Duration paycodes are then entered to identify those that represent days off. If the administrator chooses to enter more than one duration paycode, each must be separated by a semicolon (;). If no paycode entry is made, then the workflow considers all duration paycodes during processing. The administrator submits the selections from which the system then creates or updates the custom period.
Expire a custom period
The administrator selects the Expire Period option and is presented with a dropdown that contains only future custom periods. The administrator selects from the dropdown then submits a custom period, which the system then expires.
Employee
An employee reviews the Schedule and observes duration paycodes with 0:00 hours applied on every day off. Navigation to the timecard reveals purple phantom punches that correspond to the duration paycodes.
When the employee punches In and Out for time worked on a designated day off, the punches display in the timecard. The Totals add-on at the bottom of the timecard shows the number of hours worked and the wages that were calculated using the work rule that is assigned to the day-off duration paycode.
Worked on Day Off Differential extension — Before you start
Before implementing the Worked on Day Off Differential extension, you must complete each of the following steps to configure the custom zone assignment.
- Custom zones: Create custom zones by way of the Totalizer Extensibility Setup Tool for each consecutive day overtime that is applicable within the organization.
- Combination rules: Create a combination rule that includes the selection of each custom zone. See the Combination Rules topic.
- Paycode Distributions: Create a paycode distribution based on the zones and overtimes from the combination rule. This single pay code distribution applies to all types of overtime processing available to employees. See the Paycode Distributions topic.
- Work Rules: Create a work rule by selecting the pay code distribution that is configured with the custom zones. Configure the available overtimes and zones. See the Work Rules topic.
- Paycodes: Create hours-based duration-type paycodes for exclusive use by the Worked on Day Off Differential workflow. Assign the previously created work rule during configuration. See the Paycode Definition topic.
Worked on Day Off Differential extension — Configure the decision tables
-
Go to
. -
Select the TotalizerExtensibilitySetup_v3 process and click tap Edit. The process model enters edit mode.
-
Select the Decision Tables tab.
-
Click Tap Everyone's, and then select a decision table to edit.
-
Click Tap Decision Table Editor to add or update the rows in the table.
-
Click Tap Save and close.
- Repeat the step for each TotalizerExtensibilitySetup decision table that this extension references.
Caution:
-
Values entered in the decision tables are case-sensitive, and must match configured values in the application.
-
Do not remove variables, variable names, or variable types from any decision table.
- TotalizerExtensibilitySetup_v3_InternalParameters — Controls internal parameters that the Worked on Day Off Differential extension references.
Totalizer Extensibility Setup — Internal Parameters decision table structure
Totalizer Extensibility Setup Internal Parameters decision table structure
Column name
Description
Parameter Name
Parameter lookup key name.
Parameter Value
Parameter lookup value.
Totalizer Extensibility Setup Internal Parameters sample content
Totalizer Extensibility Setup — Internal Parameters decision table sample content
Parameter name
Description
Admin
Internal user; do not change.
Default =
SERVICES-LEVEL3
- TotalizerExtensibilitySetup_v3_Locale — Provides translation of business process messages and labels that are specific to Worked on Day Off Differential extension on the task form into different languages.
Totalizer Extensibility Setup — Locale decision table structure
Totalizer Extensibility Setup - Locale decision table structure
Column name
Description
Locale Parameter Name
Key for which localization is defined.
Locale Policy
Locale Policy.
Note: You can use an asterisk (*
) as a wildcard, but put the less-restrictive locale policy names at the bottom of the table because the integration scans cross-reference tables from the top.Locale Message
Form label or message shown as the result of a processing error.
Totalizer Extensibility Setup — Locale sample content
Totalizer Extensibility Setup — Locale sample content
Key Locale Message Error_ValidationDate != empty Start Date and End Date must be populated. ErrorMessage_FromDateToDate != empty Start Date must occur before End Date. Label_After != empty After Label_All != empty All Label_Before != empty Before Label_ButtonClose != empty Close Label_ButtonNext != empty Next Label_ButtonSubmit != empty Submit Label_CreatePeriodOption != empty Create Period Label_DeletePeriodOption != empty Expire Period Label_ExistingPeriodsHeader != empty Existing Active / Future Periods Label_ExpirePeriodheader != empty Select Future Period to Expire Label_ExtensionListWorkedDayDifferential != empty Worked on Day Off Differential Label_FuturePeriods != empty Existing Future Periods Label_GoBack
!= empty
Go Back Label_HistoricalCorrectionsWarning
!= empty
Warning: Label_MessageSummary
!= empty
Summary Label_WorkedDayOff_DurationPaycodes
!= empty Duration Paycodes (Optional) Label_WorkedDayOff_From
!= empty Start Label_WorkedDayOff_To
!= empty End Label_WorkedDayOffEffectivePaycodes
!= empty Selected Paycodes Label_WorkedDayOffNewZoneRuleHeader
!= empty New Period Message_AllPaycodesDisclaimer != empty *If left blank, all duration paycodes will be considered Message_Deleted != empty Expired Message_DeleteFuturePeriod != empty Expire Period Message_ExpirePeriodWarning != empty Do you want to expire this period from the system? Message_HistoricalCorrectionsWarning != empty Creating this period might generate corrections. Do you want to proceed? Message_NoFutureZoneExists != empty There are currently no future periods available for expiration. Message_PeriodCreatedSuccessfully != empty Period Created Successfully Message_PeriodExpiredSuccessfully != empty Period Expired Successfully
-
Worked on Day Off Differential — APIs
API name | Type | Resource path |
---|---|---|
Create a New Period | POST | /v1/totalizer/extensibility/processor |
Update Existing Period | PUT | /v1/totalizer/extensibility/processor/{id} |