Schedule Change Attestation
Note: This business process An organized flow of activities or tasks that achieves a business goal. An automated business process minimises the amount of paperwork and manual tasks to complete that process by way of automatic actions, online forms, and automatically generated messages. is an extension model that is developed outside the normal release schedule to meet specific customer needs. To request one of these models, you must submit a Salesforce Service Request to UKG. After the model is delivered to your tenant, you can edit it to meet your needs.
This Business Process Extension requires employees to attest to schedule changes when the changed schedule is different from the posted schedule, or the changed schedule is different from the contract schedule.
As part of the attestation The act of confirming or attesting that something is true. For example, when punching out, users may need to attest that they took their meal breaks. process, employees review the changes made to their schedule and accept or decline the changes. Employees also have the option to skip and respond later. If required, you can configure additional actions; for example, a paycode A category of time or money that employees earn, for example, Regular Hours, Bonus, or Sick. to apply a bonus or penalty depending on the response.
- If the changed schedule is different from the contract schedule, this model requires that you enable the Schedule not conform Employment Terms Legal contracts between employer and employee. When scheduled to work hours differ from the hours in their contract, the pay rules of the employees determine the impact on pay. rule violation in the employee's schedule rule Defines restrictions and requirements to ensure that a schedule meets certain criteria..
- Employee Self-Service schedule changes such as shift swaps request Employees can exchange their scheduled shift with a shift scheduled for another qualified employee.t to cover, and request open shifts do not initiate the Schedule Change Attestation Business Process. These changes are made with the consent of the employee so there is no need for attestation.

The first two workflows are similar, but depend on whether the schedule is changed from the posted schedule or from the contract schedule.
Model 1: Changed schedule is different from posted schedule
- The manager changes the posted schedule.
- The employee receives the following notification:
- Your posted schedule has been changed
- From the homepage, the employee selects the My Business Processes tile A container that provides navigation or action from its summary view. and launches the Schedule Change Attestation Business Process. All days with a changed schedule that are different from the contract schedule are displayed:
- Dates with a changed schedule
- Before and after schedule details
- Scheduled Location/Job (number of levels that display are configurable)
- For example:
- Your posted schedule has the following changes:
Date: 07/06/2021
Before: 06:00-10:00
After: 06:00-14:30
Job: Deli/Prep - If the change does not require attestation, the following message displays:
- An attestation is not required at this time
- The employee accepts or declines the schedule change. The employee can:
- Accept All.
- Decline All.
- Skip and Respond Later.
- Select a date for a specific schedule change to approve individually.
- A notification is sent to the manager.
Depending on how the workflow is configured, the following additional optional events can occur:
When the employee accepts the change:
- A tracking paycode edit and comment are added.
- An override work rule transfer is initiated.
When the employee declines the change:
- A tracking paycode edit and comment are added.
- An override work rule transfer is initiated.
- Schedule change is reverted and the previous schedule is restored.
Model 2: Changed schedule is different from contract schedule
Note: This model requires the Schedule Not Conform Employment Terms rule violation to be enabled in the employee's schedule rule.
- The manager changes the posted schedule.
- The employee receives the following notification:
- Your posted schedule has been changed
- From the homepage, the employee selects the My Business Processes tile and launches the Schedule Change Attestation Business Process. The Schedule Change Attestation panel opens and displays:
- Dates with a changed schedule
- Before and after schedule details
- Scheduled Location/Job (number of levels that display are configurable)
- For example:
- Your posted schedule has the following changes compared to your contract schedule:
Date: 07/06/2021
Contract: 10:00 - 16:00
Shift: 10:00 - 20:00
Job: Deli/Prep - If the change does not require attestation, the following message displays:
- An attestation is not required at this time
- The employee accepts or declines the schedule change. The employee can:
- Accept All.
- Decline All.
- Skip and Respond Later.
- Select a date for a specific schedule change to approve individually.
- A notification is sent to the manager.
Model 3: The employee defers the schedule change decision
- The manager changes the posted schedule.
- The employee receives the following notification:
- Your posted schedule has been changed
- From the homepage, the employee selects the Punch The entries on a timecard that mark the beginning (in-punch) or end (out-punch) of a work interval, such as the beginning of a shift or transfer. tile and sees that next week's schedule was changed.
- The employee is not ready to proceed with the schedule change and selects Skip and Respond Later.
- The employee's punch is accepted.
Depending on how the workflow is configured, the following additional optional events can occur:
When the employee accepts the change:
- A tracking paycode edit and comment are added.
- An override work rule transfer is initiated.
When the employee declines the change:
- A tracking paycode edit and comment are added.
- An override work rule transfer is initiated.
- Schedule change is reverted and the previous schedule is restored.

In addition to the basic workflows, you can configure the following:
- Work rule transfer override - penalty pay — The process can be configured to initiate a work rule transfer after the employee accepts or declines the schedule change. The work rule mapping table inside the Process Template A file that automates and directs the flow of a business process. It contains the tasks, people, and rules that define the process. is utilized to determine the work rules that apply.
- When no override is specified, the employee’s default work rule remains in effect.
- Schedule restore — If the employee declines the schedule change, the original posted schedule or the contract schedule can be restored. This includes all scheduled transfers from the previous or contract schedule (Job/Labor Category/Cost Center/Work Rule).
- Paycode edit — After the employee accepts or declines the change, an appropriate paycode with a comment can be inserted. This is used for reporting and KPIs; for example, how many schedule changes were made, and the acceptance -to- decline ratio.
- Ignore Attestation tag — An optional schedule tag A graphic on the schedule that identifies a specific characteristic that applies to a specific employee on a specific day. Not a shift or a pay code. Example: On call. can be configured so managers can select a day for which attestation is not required. Adding this tag can be seen as an override, at the manager’s discretion. For example, when a new hire receives a schedule in the middle of the posted schedule period A repeating span of days in the schedule that is defined for administrative purposes, such as pay periods., attestation is initiated unless the manager uses this tag.
- Predictive tags — Predictive tags can be used to visualize pending schedule changes — changes that have not yet been reviewed by the employee — inside the Schedule Planner.
- To tag the schedule changes made for the posted schedule, the Change Detection Period must be configured relative to the schedule period so that both the edit and change periods follow the cadence of when the schedule is posted.
-
The predictive tag is not part of the Business Process, so predictive rules must be configured. This tag is not replaced after attestation, but an accepted or declined tag is added by the Business Process, allowing you to track the three states of a schedule change:
- Change is Pending Acceptance (only the predictive tag is present)
- Change is Accepted (predictive and accepted tag is present)
- Change is Declined (predictive and declined tag is present)

- Any change to the posted schedule initiates a notification. Currently there is no mechanism that allows configuring a specific type of schedule change to initiate a notification. As a result, employees receive a schedule change notification for every change made to their posted or contract schedule.
- Employees must initiate the Business Process. The Workflow Notifications Informs people to run business processes or integrations, complete forms, or respond to events in business processes. Example: Approve a time-off request. framework cannot automatically launch an interactive Business Process, which means that employees must start the Business Process from their homepage via the My Business Process tile.
- Some changes might not require attestation, such as when the schedule is changed back and then conforms to the posted or contract schedule. In this case, the following message displays when launching the business process:
- An attestation is not required at this time
- This Business Process is only supported from desktop, mobile, or tablet devices. It is not supported on data-collection devices.

Note: The process for configuring and deploying this and other Business Process Extensions is the same as all Business Process models.
-
From the Main Menu, go to Administration > Application Setup > Business Processes > Process Models.
-
Select ScheduleChange workflow and click Edit
. A new pop-up window opens. -
Select the Decision Tables tab, and then search for the ScheduleAttestation_{Version}_Variables decision table.
-
Select the decision table, and then click tap Edit to set the parameters:
Use Variable Name Variable Type Value (example) Variable Description Identify the type of model to use. Only one can be set to Yes (optional). Contract string No Attestation is initiated when posted schedule differs from the contract schedule (Yes/No). BaseLine string Yes Attestation is initiated when changes are made to the posted schedule (Yes/No). Define if a work rule transfer is required for the full shift. Both can be Yes or both can be No (optional). If required, it references the work rule decision table. WorkRuleDecisionAccept string Yes Initiate an override work rule transfer for the full shift when the schedule change is accepted - (Yes/No). WorkRuleDecisionDecline string No Initiate an override work rule transfer for the full shift when the schedule change is declined - (Yes/No). Define if a work rule transfer is required for the deviated portion of the shift. Both can be Yes or both can be No (optional). If required, it references the work rule decision table. WorkRuleTransferDeviationOnlyForAccept string Yes Initiate an override work rule transfer for the deviated shift portion when the schedule change is accepted - (Yes/No). WorkRuleTransferDeviationOnlyForDecline string No Initiate an override work rule transfer for the deviated shift portion when the schedule change is declined - (Yes/No). Define whether to restore the original schedule (contract schedule or previously posted schedule) when the change is declined (optional). ScheduleRevertReject string Yes Restore the original schedule when schedule change is declined - (Yes/No). Identify the name of the schedule tag to add after acceptance or decline (mandatory).
Tags must be defined with static colors — red to represent declined schedule; and green to represent accepted schedule.
TagChangeAccept string Schedule Change Accepted Name of the schedule tag to add when the schedule change is accepted (mandatory).
TagChangeDecline string Schedule Change Declined Name of the schedule tag to add when the schedule change is declined (mandatory). Define whether to send a notification to the employee's manager after the change is accepted or rejected (optional). ManagerNotificationAccept string Yes Initiate manager workflow notification when a schedule change is accepted (Yes/No). ManagerNotificationReject string Yes Initiate manager workflow notification when a schedule change is declined (Yes/No). Identify a workflow notification to send after the change is accepted or rejected (optional). WorkflowNotificationAccept string Scheduling - Schedule Change Accepted Name of the workflow notification sent to manager when a schedule change is accepted (optional). WorkflowNotificationDecline string Scheduling - Schedule Change Declined Name of the workflow notification sent to manager when a schedule change is declined (optional). Limit the number of nodes of the organization referenced. LimitOrgRef integer 2 Limit the number of organizational nodes displayed on the form from the Job level up (optional). Controls how many calendar days after or before the current day in which to search for schedule changes (optional). These options are inactive when NumSchedulePeriods is used. NumberOfDays integer 30 Number of days after the current day in which to search for schedule changes. NumberOfPastDays integer 0 Number of days before the current day in which to search for schedule changes. Controls the number of schedule periods in which to search for schedule changes (optional). There are no limits, but, for best performance, avoid exceeding 16 schedule periods. CurrentSchdPeriod string Yes Check for schedule changes in the current Schedule Period. NumSchedulePeriods integer 16 Number of future Schedule Periods in which to search for schedule changes.
For performance, set the value according to the number of schedule periods for which a manager finalizes employee schedules.
Identify a day-based paycode to add to the timecard when the schedule change is accepted or rejected (optional). This is used for reports and KPIs only. TimeCardPaycodeAccept string Schedule Change Accepted Paycode name (day-based) to add in the timecard when schedule change is accepted. TimeCardPaycodeDecline string Schedule Change Declined Paycode name (day-based) to add in the timecard when schedule change is declined. Identify a comment to add to the paycode when the schedule change is accepted or rejected (optional). This is used for reports and KPIs only. TimeCardCommentAccept string Schedule Change Accepted via Attestation Comment added to the paycode when schedule change is accepted. TimeCardCommentDecline string Schedule Change Declined via Attestation Comment added to the paycode when schedule change is declined. Name of the schedule tag that managers use to cancel the attestation requirement for a day (optional). TagIgnoreDay String No Attestation Required Name of the schedule tag that a Manager can add to cancel the requirement to Attest to changes on that day (optional). Define whether to use in punch attestation. Enable for Punch Attestation Boolean Yes Record the punch when attestation is not required (Yes/No). Define whether to display radio button Skip and Respond Later. AllowPostponing Attestation Boolean Yes Display the Skip and Respond Later radio button on the My Business Process and Punch tiles(Yes/No) Note:- When ScheduleRevertReject = Yes, WorkruleDecisionDecline must be No.
- Workflow notifications referenced by this Extension must be configured with a Priority value of medium.
-
If you are configuring work rule overrides, open the _AcceptDeclineWorkRule subprocess and modify the decision table as needed.
The _AcceptDeclineWorkRule subprocess is a decision table that contains five columns. The first column lists the employee's current work rule. The remaining columns list the work rules that override the current work rule, depending upon the action and corresponding incentive. Select the _AcceptDeclineWorkRule subprocess and make the edits as needed:
Column name Description dtInputWorkRule Employee's current work rule. dtOutputAcceptWorkRule Override work rule for full shift Accept scenario. dtOutputDeclineWorkRule Override work rule for full shift Decline scenario. dtOutputDeviationWorkRuleAccept Override work rule for partial shift Accept scenario. dtOutputDeviationWorkRuleDecline Override work rule for partial shift Decline scenario. The sample table shows how you can configure the _AcceptDeclineWorkRule subprocess to meet your action and incentive needs.
[dtInputWorkrule] [dtOutputAcceptWorkrule] [dtOutputDeclineWorkrule] [dtOutputDeviationWorkruleAccept] [dtOutputDeviationWorkruleDecline] 1 =="New Zealand" "Penalty - Change Accepted" "NULL" "NULL" "NULL" 2 =="Australia - Industry Awards" "Penalty - Change Accepted" "Penalty - Change Declined" "Australia - Sched Change Accepted" "NULL" 3 =="FlexibleBreaks" "NULL" "NULL" "FLEXIBLE BREAKS-OnAccept" "FLEXIBLE BREAKS-OnDecline" 4 "NULL" "NULL" "NULL" "NULL" Note:
- When the ScheduleRevertReject, WorkRuleTransferDeviationAccept, and WorkRuleTransferDeviationReject parameters are set to "Yes", the deviation work rule transfer is not applicable when employees are assigned a scheduled shift and multiple contract shifts.
- Always keep an empty “NULL” line as the last entry in this table. Without this last line, the decision table will not work.
- Enter "NULL" in any output column when a work rule transfer is not required for the accept or decline action.
-
If you are configuring localized messages and form labels, open the _Localization subprocess and modify the decision table as needed:
Use Parameter name Default value Error message displayed when employee has no posted data or no employment term in contract. Message_NoPostedData_NoEmplTerm An attestation is not required at this time. Error message displayed when there is no rule violation in Contract. Message_NoRuleViolation An attestation is not required at this time. Error message displayed when employee has no scheduled data. Message_NoScheduleData An attestation is not required at this time. Label that appears next to radio button in the first form that contains all schedule changes over range of dates. Text_FormFirst_RadioButton Schedule Change Attestation Label that appears next to dynamic dropdown in first form. Text_FormFirst_DropDown Choose by date Label that appears next to radio button in second form that contains all schedule changes for a particular day. Text_FormSecond_RadioButton Do you accept this Schedule change? Header for baseline schedule. Message_BaselineHeader The posted schedule contains the following changes Header for contract schedule. Message_ContractHeader The posted schedule contains the following changes compared to the contract schedule Notification header. Message_NotificationHeader Notification Date label. Text_DateLabel Date: Before label. Text_BeforeLabel Before: No Shift label. Text_NoShiftLabel No Shift After label. Text_AfterLabel After: Shift deleted label. Text_ShiftDeletedLabel Shift Deleted Job label. Text_JobLabel Job: Contract label. Text_ContractLabel Contract: Shift label. Text_ShiftLabel Shift: Accept All label. Text_AcceptAllLabel Accept All Decline All label. Text_DeclineAllLabel Decline All Accept label. Text_AcceptLabel Accept Decline label. Text_DeclineLabel Decline Note:
- Avoid using special characters in the table.
- The !="empty" rows must always be the last rows in the Locale decision table; do not edit or remove these rows. These are the default messages and labels.
- Because Activiti scans decision tables from top to bottom and stops when it finds a match, define rows containing the most-used conditions at the top of the table, and rows containing wildcard conditions at the bottom of the table.
- Names of the parameters in the "Key" column of the Locale decision table must be used as is. If any parameter value needs to be localized for a different Locale Policy, copy the "Key" with the “not empty” Locale Policy, add a new row to the table with the appropriate Locale Policy, and then add the localized values in the Value and Description decision table columns.
Schedule Change Attestation considerations
-
Values entered in the decision tables are case-sensitive.
-
All pay code, tag, comment, and workflow notification values entered in the decision tables must match UKG Pro Workforce Management™ values.
-
Do not delete schedule tags placed in the Schedule Planner by the process; deleting the tags initiates schedule attestation.

You can create a Schedule Change Attestation Detail KPI Key Performance Indicator measures the result of an activity in an organisation so that you can compare it to operational or strategic goals and attempt to improve performance. Dataview A configurable tool for analysing data and taking actions on a group of employees or an organisation. based on a transactional Dataview with the two specified day-based paycodes. The data is:
- Filtered — Total number of changes > 0
- Calculated — Sum the columns for Total Accepted, Total Declined, Total Number of Changes
- Acceptance Ratio KPI
- SM<CHANGEACCEPTED> / SM<CHANGEOFFERED> * 100
- where both parameters are metrics Measures and tracks workforce performance by comparing planned with actual workload or coverage, or by showing variances at any organizational level. based on the actual days in the two specified paycodes
- Total of both Attestation answers
- SM<CHANGEACCEPTED> = Schedule Change Accepted and SM<CHANGEOFFERED> = Schedule Change Accepted + Schedule Change Declined

API name | Section | Type | Resource path | Location | Description |
---|---|---|---|---|---|
Retrieve locale date span | API/Common Resources I/Symbolic Periods/Retrieve Locale Date Span | POST | /v1/commons/symbolicperiod/read | ScheduleAttestation_BaselineContract | Retrieve employee's current schedule period. |
Retrieve persons | API/People/Persons/Retrieve Persons | POST | /v1/commons/persons/extensions/multi_read | ScheduleAttestation_BaselineContract | Retrieve employee's locale name, employment term and work rule. |
Retrieve posted schedule with criterion | API/Scheduling/Manager Schedule Actions/Retrieve Posted Schedule with Criterion | POST | /v1/scheduling/schedule_management_actions/multi_read | ScheduleAttestation_BaselineContract | Retrieve employee's posted dates. |
Retrieve employee rule violations | API/Scheduling/Rule Violations/Retrieve Employee Rule Violations | POST | /v1/scheduling/violations | ScheduleAttestation_BaselineContract | Retrieve contract employee's rule violation dates. |
Retrieve locales | API/Common Resources II/Locale Settings/Locale Policies/Retrieve Locales | POST | /v1/commons/locale_policies/multi_read | ScheduleAttestation_BaselineContract | Retrieve employee's locale date format. |
Retrieve current user's User Preferences | API/Common Resources II/Locale Settings/User Preferences/R etrieve User Preferences for Current User | GET | /v1/commons/user_preferences/locale_policy?tenantDefault=true | ScheduleAttestation_BaselineContract | Retrieve employee's default tenant locale format. |
Retrieve schedule audits | API/Scheduling/Schedule Audits/Retrieve Schedule Audits | POST | /v1/scheduling/audits/multi_read | ScheduleAttestation_BaselineContract | Retrieve employee's schedule details. |
Retrieve employee's employment terms | API/Scheduling/Employment Terms— Manager Access/Retrieve Employee Employment Terms | POST | /v1/scheduling/employment_terms_schedule/multi_read | ScheduleAttestation_BaselineContract | Retrieve employment term's group shifts. |
Create schedule tags | API/Scheduling/Schedule Tags/Create Schedule Tags | POST | /v1/scheduling/schedule/schedule_tags/multi_create | ScheduleAttestation_DeclineAllSchedule | Retrieve employee's Accept and Decline schedule tags. |
GenericNotificationNotifyAPI | Activiti/Kronos APIs | POST | GenericNotificationNotifyAPI |
ScheduleAttestation_DeclineAllSchedule ScheduleAttestation_AcceptAllSchedule |
Send notification to employee or manager based on schedule change action. |
Update group shifts | API/Scheduling Group Assembles employees who share schedules or any other work characteristics. Shifts/Update Group Shifts | POST | /v1/scheduling/schedule/shifts/multi_update |
ScheduleAttestation_DeclineAllSchedule ScheduleAttestation_WorkruleTransfer Decline ScheduleAttestation_WorkruleTransfer Accept |
Update a shift. |
Create group shifts | API/Scheduling/Group Shifts/Create Group Shifts | POST | /v1/scheduling/schedule/shifts/apply_create | ScheduleAttestation_DeclineAllSchedule | Create a new shift. |
Update timecard — manager | API/Timekeeping/Timecards/Update Timecard— Manager | POST | /v1/timekeeping/timecard |
ScheduleAttestation_DeclineAllSchedule ScheduleAttestation_AcceptAllSchedule |
Add comment and note in the employee's timecard. |
Delete shifts | API/Scheduling/Shifts/Delete Shifts | POST | /v1/scheduling/schedule/shifts/multi_delete | ScheduleAttestation_DeclineAllSchedule | Delete shifts. |