Schedule Change Attestation

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.

Note: This business process 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.

As part of the attestation 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 to apply a bonus or penalty depending on the response.

Note:
  • If the changed schedule is different from the contract schedule, this model requires that you enable the Schedule not conform Employment Terms rule violation in the employee's schedule rule.
  • Employee Self-Service schedule changes such as shift swaps, request 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.
  • After the employee accepts or declines the change, an appropriate paycode with a comment is inserted. This is used for reporting and KPIs; for example, how many schedule changes were made, and the acceptance -to- decline ratio. Because these paycodes are considered as indicative, they should be configured as non-productive. To prevent the paycodes from being considered in the schedule cost, configure each to not count towards totals.

  • A schedule tag can be added by the manager on any 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, attestation is initiated unless the manager uses this tag.

User experience

The first two workflows are similar, but depend on whether the schedule is changed from the posted schedule or from the contract schedule.

  1. Model 1: Changed schedule is different from posted schedule
    1. The manager changes the posted schedule.
    2. The employee receives the following notification:

      Your posted schedule has been changed

    3. From the homepage, the employee selects the My Business Processes tile 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: 12/29/2023

      Assignment: Assignment

      Shift: 09:00 AM - 06:15 PM

      Job: USA/Manager

      Change: 09:00 AM - 08:00 PM, USA/Manager;NJ/Baker

      If the change does not require attestation, the following message displays:

      An attestation is not required at this time

    4. 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.
    5. A notification is sent to the manager.
    Note:

    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.
  2. 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.
    1. The manager changes the posted schedule.
    2. The employee receives the following notification:

      Your posted schedule has been changed

    3. 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 AM - 4:00 PM Shift: 10:00 AM - 8:00 PM Job: Deli/Prep Change: 09:00 AM - 3:00 PM

      If the change does not require attestation, the following message displays:

      An attestation is not required at this time

    4. 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.
    5. A notification is sent to the manager.
  3. Model 3: The employee defers the schedule change decision
    1. The manager changes the posted schedule.
    2. The employee receives the following notification:

      Your posted schedule has been changed

    3. From the homepage, the employee selects the Punch tile and sees that next week's schedule was changed.
    4. The employee is not ready to proceed with the schedule change and selects Skip and Respond Later.
    5. The employee's punch is accepted.
    Note:

    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.

Optional events

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 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).
  • 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)

Considerations and limitations

  • Values entered in the decision tables are case-sensitive.
  • All paycode, tag, comment, and workflow notification values entered in the decision tables must match values in the application.
  • Do not delete schedule tags placed in the Schedule Planner by the process; deleting the tags initiates schedule attestation.
  • 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 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

  • When an approved time-off is applied on a day, the entire day is excluded from attestation regardless of the number of shifts on the day.
  • When excluding a day from employee attestation, the shift start date is compared with the approved time-off date.
  • This Business Process is only supported from desktop, mobile, or tablet devices. It is not supported on data-collection devices.
  • (Optional) Versions 4.1 and higher of the Schedule Change Attestation workflow can be used in conjunction with the Right to Rest integration.

Before you start

Before you configure these Schedule Change Attestation business processes, you must configure the following:

  • Comments: Create schedule comments that are attached to the paycodes which are inserted when schedule changes are accepted or declined. Configure two comments, such as Schedule Accepted and Schedule Declined, by selecting the paycodes category. Create a third comment, such as Adjusted By Schedule Attestation Workflow, by selecting the shifts category. See the Comments topic.

  • Tags: Create schedule tags, such as Schedule Accepted and Schedule Declined, that are added to the schedule planner to identify how the employee responded to the schedule change. During configuration select green as the tag color for the Schedule Accepted tag, and red as the tag color for the Schedule Declined tag.

    Create another schedule tag, such as Schedule Ignore, that when added to a shift by the manager identifies days when attestation is not required. See the Tag Definitions topic.

  • Paycodes: Create day-based paycodes, such as Schedule Accepted and Schedule Declined, that identify whether the employee accepted or declined the schedule change. Each paycode must be configured as non-productive and to not count toward totals. These paycodes must be created for exclusive use by the Schedule Change Attestation workflows. See the Paycode definition topic.

  • Workflow notifications: Create generic notifications that are sent to the manager, and optionally the employee, when the employee accepts or declines the schedule change. Design the notifications by combining free text with available labels and custom tags. See the Configure Notifications for Business Processes topic.

    Confirm that managers have the appropriate notification profile assigned in People Editor.

    Examples include:

    Name: Accepted

    Message: Schedule change accepted by <Employee Name> for Dates: <Dates>

    Name: Declined

    Message: Schedule change declined by <Employee Name> for Dates: <Dates>

    Note:
    • The < Employee Name> and < Dates> labels in the message body are used in process logic.

    • Custom tag < PersonID> can also be added to display the Employee ID.

  • Schedule Rule Sets: (For the contract workflow attestation.) The key requirement for the Contract Workflow Attestation is to detect the schedule changes compared with the contract schedule which is specified in the Employment Terms. Whenever the scheduled shift deviates from the contract shift, a Warning or Informational message displays in the Rule Violations add-on. This violation is called Shifts Conform to Employment Terms.

    Create a schedule rule set. During configuration, select Shifts Conform to Employment Terms, and set as either Warning or Informational. Assign the schedule rule set in the People Editor record for those employees who will need to attest to contract schedule changes. See the Configure schedule rule sets topic.

Deploy the business process models

Deploy the Business Process Models to install and make them available for use.

Note: The process for configuring and deploying this and other Business Process Extensions is the same as all Business Process models .

Deploy the Schedule Change Attestation — Schedule business process model

  1. Migrate the Schedule Change Attestation — Schedule process model to the customer tenant using Setup Data Manager (SDM).
    1. Log in to the appropriate tenant.
    2. Go to Main Menu > Administration > Setup Data Manager.
    3. 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.
    4. Click Tap Review and Publish. The Publish Summary panel appears.
    5. Click Tap Review and Publish. The Publish Summary panel appears.
    6. 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.
    7. 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.
    8. To view details, click tap the appropriate row and click tap View Selected.
    9. 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.
  2. Deploy the business process model
    Note: 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 .

    1. Go to Main Menu > Administration > Application Setup > Business Process setup > Process Models.
    2. Select the ScheduleChangeAttestationSchedule_v5.5 process and click tap Deploy
    3. On the Business Process page, configure the required parameters and deployment dates.
    4. Select Hide for the Action List, Tile List and GoTo List options.
      Caution: Do not make a selection from the Template Categories list.
    5. Click Tap Save and Return to deploy.
    6. Add the process model to the required process profile. See the Process Profiles setup page topic.
    7. Assign the process profile to employees by way of People Information.

Deploy the Schedule Change Attestation — Contract business process model

  1. Migrate the Schedule Change Attestation — Contract process model to the customer tenant using Setup Data Manager (SDM).
    1. Log in to the appropriate tenant.
    2. Go to Main Menu > Administration > Setup Data Manager.
    3. 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.
    4. Click Tap Review and Publish. The Publish Summary panel appears.
    5. Click Tap Review and Publish. The Publish Summary panel appears.
    6. 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.
    7. 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.
    8. To view details, click tap the appropriate row and click tap View Selected.
    9. 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.
  2. Deploy the business process model
    Note: 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 .

    1. Go to Main Menu > Administration > Application Setup > Business Process setup > Process Models.
    2. Select the ScheduleChangeAttestationContract_v5.2 process and click tap Deploy
    3. On the Business Process page, configure the required parameters and deployment dates.
    4. Select Hide for the Action List, Tile List and GoTo List options.
      Caution: Do not make a selection from the Template Categories list.
    5. Click Tap Save and Return to deploy.
    6. Add the process model to the required process profile. See the Process Profiles setup page topic.
    7. Assign the process profile to employees by way of People Information.

Configure the decision tables

Important: Process models must be redeployed every time changes are made to an existing model. Re-deployment is not required for decision table changes.
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.

Configure the Schedule Change Attestation — Schedule decision tables

Configure the Schedule Change Attestation — Schedule decision tables
  1. From the Main Menu, go to Administration > Application Setup > Business Processes Setup > Process Models.
  2. Click Tap Filter Columns, and then search for ScheduleChangeAttestationSchedule_v5_5 under Model Name.
  3. Select the ScheduleChangeAttestationSchedule_v5_5 process and click tap Edit . The process model enters edit mode.
  4. Select the Decision Tables tab.
  5. Click Tap Everyone's, and then search for ScheduleChangeAttestationSchedule_v5_5. Select the decision table to edit.
  6. Click Tap Decision Table Editor to add or update the rows in the table.
  7. Click Tap Save and close.
  8. Edit the following decision tables:
    Note:

    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".
    ScheduleChangeAttestationSchedule_v5_5_InternalParameters— Configuration variables for the workflow system. Default values are configured to optimize the performance of the workflow. This table is for internal use only; do not makes changes to the content.

    Schedule Change Attestation Schedule — Internal Parameters

    Schedule Change Attestation Schedule — Internal Parameters

    Parameter name

    Parameter value

    Admin

    Internal user; do not change.

    Default value: SERVICES-LEVEL3

    Employee

    Internal Activiti variable that retrieves the initiator's person number; do not change.

    Default value: initiator

    ScheduleChangeAttestationSchedule_v5_5_Parameters— Controls the Schedule Change Attestation process.

    Schedule Change Attestation — Schedule Parameters decision table

    Schedule Change Attestation Schedule Parameters decision table

    Parameter name

    Parameter value

    EnableWorkruleTransferOnAccept

    Full: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the entire shift upon accept.

    Deviation: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the deviated part of the shift upon accept.

    None: No work rule transfer applies.

    EnableWorkruleTransferOnDecline

    Full: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the entire shift upon decline.

    Deviation: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the deviated part of the shift upon decline.

    None: No work rule transfer applies.

    EnableScheduleRevertOnDecline

    Yes: Revert the schedule change to the previous attested state if the employee declined the schedule change.

    No: The schedule does not revert.

    ScheduleChangeAcceptTag

    Name of the schedule tag which appears on the employee’s schedule upon accept.

    ScheduleChangeDeclineTag

    Name of the schedule tag which appears on the employee’s schedule upon decline.

    WorkflowNotificationAccept

    Name of the workflow that is sent when attestation is accepted.

    WorkflowNotificationDecline

    Name of the workflow that is sent when attestation is declined.

    NodesToDisplay

    Number of levels of business structure that are displayed in the attestation form.

    NumberOfDays

    The number of days in the future that the workflow validates for a schedule change.

    NumberOfPastDays

    The number of days in the past that the workflow validates for a schedule change.

    Note: The Extension gives priority to the CurrentScheduledPeriod parameter over the NumberOfPastDays parameter.

    CurrentSchedulePeriod

    Yes: The workflow ignores the NumberOfDays parameter, and instead references the NumberOfSchedulePeriods parameter to determine how many future schedule periods to check for any schedule changes.

    No: The workflow ignores the NumberOfSchedulePeriods parameter, and instead references the NumberOfDays and NumberOfPastDays parameters when checking for any schedule changes.

    Note: The Extension gives priority to the CurrentScheduledPeriod parameter over the NumberOfPastDays parameter.

    NumberOfSchedulePeriods

    Number of schedule periods to check for schedule changes.

    Note: Set the parameter value according to the number of schedule periods for which the manager generally finalizes employee schedules.
    Caution: Setting this parameter too high can impact business process performance. As a best practice, set this parameter to a realistic value that matches operations.

    IndicativeCommentAccept

    Comment name applied to the employee’s schedule to identify the accepted shift.

    IndicativeCommentDecline

    Comment name applied to the employee’s schedule to identify the declined shift.

    CreateShiftComment

    Comment name applied to the employee's schedule to identify the replaced shift.

    IndicativePaycodeAccept

    Paycode name applied to the employee’s schedule to identify the accepted shift.

    IndicativePaycodeDecline

    Paycode name applied to the employee’s schedule to identify the declined shift.

    IgnoreDayTag

    Schedule tag name that identifies days that the workflow must ignore during the attestation check.

    EnablePostponingAttestation

    Yes (default): The attestation form displays the Skip and Respond Later option.

    No: The attestation form does not display the Skip and Respond Later option.

    RightToRestThreshold

    Minimum duration, represented in HH:mm format, that must exist between two shifts.

    Default: 12:00

    Note: Right to Rest functionality is only enabled when the RightToRestThreshold and RightToRestNotation are configured correctly.

    RightToRestNotation

    Symbol that is displayed on the employee attestation form when Right to Rest conditions are met.

    Default: ( *)

    Note: Right to Rest functionality is only enabled when the RightToRestThreshold and RightToRestNotation are configured correctly.

    EnableJobChangeAttestation

    Yes: Initiate attestation when a job change is found from the posted schedule.

    No (default): Do not initiate attestation when a job change is found from the posted schedule.

    EnableAssignmentChangeAttestation

    Yes: The workflow checks for any assignment change to the employee’s schedule.

    No (default): The workflow does not check for any assignment change to the employee’s schedule.

    EnableByPassPredictiveSchedulingFeature

    Yes (default): The workflow bypass predictive rules initiation.

    No: The workflow does not bypass predictive rules initiation.

    ScheduleChangeAttestationSchedule_v5_5_AcceptDeclineWorkrule— Controls override work rules.

    If you are configuring work rule overrides, open the _AcceptDeclineWorkRule subprocess and modify the decision table to meet your action and incentive needs.

    Schedule Change Attestation — Schedule Accept Decline Workrule decision table

    Schedule Change Attestation — Schedule Accept Decline Workrule decision table

    Column name

    Description

    Input Workrule

    Employee's current work rule.

    Output Accept Workrule

    Override work rule for full shift Accept scenario.

    Output Decline Workrule

    Override work rule for full shift Decline scenario.

    Output Deviation Workrule Accept

    Override work rule for partial shift Accept scenario.

    Output Deviation Workrule Decline

    Override work rule for partial shift Decline scenario.

    Note:
    • Enter "NULL" in any output column when a work rule transfer is not required for the accept or decline action.
    • Always keep an empty “NULL” line as the last entry in this table. Without this last line, the decision table will not work.
    ScheduleChangeAttestationSchedule_v5_5_Locale — Allows customization of the text in the workflow form and notifications for different locales.

    Schedule Change Attestation — Schedule Locale decision table

    Schedule Change Attestation — Schedule Locale decision table

    Variable name

    Variable type

    Description

    Key

    Text

    Internal field label; do not change.

    Locale Policy

    Text

    Locale Policy.

    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.

    Message

    Text

    Text displayed in the workflow form or notification.

    Description

    Text

    (Optional) The description that is shown in Additional Details.

    If you are configuring localized messages and form labels, open the _Locale subprocess and modify the decision table as needed.

    Sample Schedule Change Attestation — Schedule Locale decision table content

    Key

    Message

    Error_DefaultError

    Unknown Error. Please contact system administrator.

    Error_EmptyShifts

    No Attestation is required at this time.

    Error_FullDeviationNoneValuesOnly

    < VariableNames>: variables must contain only Full, Deviation or None value.

    Error_InvalidAdmin

    Admin variable must be configured in internal variable table.

    Error_InvalidComment

    Comment name is not valid.

    Error_InvalidEmployee

    Employee variable must be configured in internal variable table.

    Error_InvalidPaycode

    Paycode name is invalid.

    Error_InvalidTag

    Configured tag name is not valid.

    Error_NoBlankOrNullValue

    <VariableNames>: variables must not contain blank or null values.

    Error_NodesToDisplay

    The NodesToDisplay variable must contain an integer.

    Error_NumberOfDays

    NumberOfDays can be blank when CurrentSchedulePeriod is Yes, otherwise it must contain a positive number.

    Error_NumberOfPastDays

    NumberOfPastDays must be zero or a positive number.

    Error_NumberOfSchedulePeriods

    NumberOfSchedulePeriods can be blank when CurrentSchedulePeriod is No, otherwise it must contain a whole number.

    Error_RightToRestThreshold

    When configured, the RightToRestThreshold must adhere to HH:mm format.

    Error_YesNoValuesOnly

    <VariableNames>: variables must be configured with only Yes or No values.

    Label_FormAfter

    After:

    Label_FormAssignment

    Text to display assignment on the attestation form.

    Label_FormAttestationHeading

    The posted schedule contains the following changes

    Label_FormBefore

    Before:

    Label_FormChange

    Text to display change data on the attestation form.

    Label_FormChangedData

    Changed Data

    Label_FormCheckBoxHeader

    Select Dates:

    Label_FormDate

    Text to display date on the attestation form.

    Label_FormJob

    Text to display job on the attestation form.

    Label_FormNextButton

    Next

    Label_FormNoShiftLabel

    No Shift

    Label_FormRadioAccept

    Accept Selected

    Label_FormRadioDecline

    Decline Selected

    Label_FormRadioOptionsHeader

    Select Action:

    Label_FormRadioRespondLater

    Skip and respond later

    Label_FormShift

    Text to display shift on the attestation form.

    Label_FormShiftDeletedLabel

    Shift Deleted

    Label_FormSubmitButton

    Submit

    Label_FormSummaryButton

    Button name on summary form.

    Label_FormSummaryHeader

    Header on the summary form.

    Label_FormViolatesRightToRest

    Violates Right To Rest

    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".)

Configure the Schedule Change Attestation — Contract decision tables

Configure the Schedule Change Attestation — Contract decision tables
  1. From the Main Menu, go to Administration > Application Setup > Business Processes Setup > Process Models.
  2. Click Tap Filter Columns, and then search for ScheduleChangeAttestationContract_v5_2 under Model Name.
  3. Select the ScheduleChangeAttestationContract_v5_2 process and click tap Edit . The process model enters edit mode.
  4. Select the Decision Tables tab.
  5. Click Tap Everyone's, and then search for ScheduleChangeAttestationContract_v5_2. Select the decision table to edit.
  6. Click Tap Decision Table Editor to add or update the rows in the table.
  7. Click Tap Save and close.
  8. Edit the following decision tables:
    Note:

    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".
    ScheduleChangeAttestationContract_v5_2_InternalParameters — Configuration variables for the workflow system. Default values are configured to optimize the performance of the workflow. This table is for internal use only; do not makes changes to the content.

    Schedule Change Attestation Contract — Internal Parameters

    Schedule Change Attestation Contract — Internal Parameters

    Parameter name

    Parameter value

    Admin

    Internal user; do not change.

    Default value: SERVICES-LEVEL3

    Employee

    Internal Activiti variable that retrieves the initiator's person number; do not change.

    Default value: initiator

    ScheduleChangeAttestationContract_v5_1_Parameters — Controls the Schedule Change Attestation process.

    Schedule Change Attestation — Contract Parameters decision table

    Schedule Change Attestation — Contract Parameters decision table

    Parameter name

    Parameter value

    EnableWorkruleTransferOnAccept

    Full: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the entire shift upon accept.

    Deviation: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the deviated part of the shift upon accept.

    None: No work rule transfer applies.

    EnableWorkruleTransferOnDecline

    Full: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the entire shift upon decline.

    Deviation: If the work rule in shift is found in the decision table, apply the corresponding work rule transfer to the deviated part of the shift upon decline.

    None: No work rule transfer applies.

    EnableScheduleRevertOnDecline

    Yes: Revert the schedule change to the previous attested state if the employee declined the schedule change.

    No: The schedule does not revert.

    ScheduleChangeAcceptTag

    Name of the schedule tag which appears on the employee’s schedule upon accept.

    ScheduleChangeDeclineTag

    Name of the schedule tag which appears on the employee’s schedule upon decline.

    WorkflowNotificationAccept

    Name of the workflow that is sent when attestation is accepted.

    WorkflowNotificationDecline

    Name of the workflow that is sent when attestation is declined.

    NodesToDisplay

    Number of levels of business structure that are displayed in the attestation form.

    NumberOfDays

    The number of days in the future that the workflow validates for a schedule change.

    NumberOfPastDays

    The number of days in the past that the workflow validates for a schedule change.

    Note: The Extension gives priority to the CurrentScheduledPeriod parameter over the NumberOfPastDays parameter.

    CurrentSchedulePeriod

    Yes: The workflow ignores the NumberOfDays parameter, and instead references the NumberOfSchedulePeriods parameter to determine how many future schedule periods to check for any schedule changes.

    No: The workflow ignores the NumberOfSchedulePeriods parameter, and instead references the NumberOfDays and NumberOfPastDays parameters when checking for any schedule changes.

    Note: The Extension gives priority to the CurrentScheduledPeriod parameter over the NumberOfPastDays parameter.

    NumberOfSchedulePeriods

    Number of schedule periods to check for schedule changes.

    Note: Set the parameter value according to the number of schedule periods for which the manager generally finalizes employee schedules.
    Caution: Setting this parameter too high can impact business process performance. As a best practice, set this parameter to a realistic value that matches operations.

    IndicativeCommentAccept

    Comment name applied to the employee’s schedule to identify the accepted shift.

    IndicativeCommentDecline

    Comment name applied to the employee’s schedule to identify the declined shift.

    IndicativePaycodeAccept

    Paycode name applied to the employee’s schedule to identify the accepted shift.

    IndicativePaycodeDecline

    Paycode name applied to the employee’s schedule to identify the declined shift.

    IgnoreDayTag

    Schedule tag name that identifies days that the workflow must ignore during the attestation check.

    EnablePostponingAttestation

    Yes(default): The attestation form displays the Skip and Respond Later option.

    No: The attestation form does not display the Skip and Respond Later option.

    RightToRestThreshold

    Minimum duration, represented in HH:mm format, that must exist between two shifts.

    Default: 12:00

    Note: Right to Rest functionality is only enabled when the RightToRestThreshold and RightToRestNotation are configured correctly.

    RightToRestNotation

    Symbol that is displayed on the employee attestation form when Right to Rest conditions are met.

    Default: ( *)

    Note: Right to Rest functionality is only enabled when the RightToRestThreshold and RightToRestNotation are configured correctly.
    ScheduleChangeAttestationContract_v5_2_AcceptDeclineWorkrule — Controls override work rules.

    If you are configuring work rule overrides, open the _AcceptDeclineWorkRule subprocess and modify the decision table to meet your action and incentive needs.

    Schedule Change Attestation — Contract Accept Decline Workrule decision table

    Schedule Change Attestation — Contract Accept Decline Workrule decision table

    Column name

    Description

    Input Workrule

    Employee's current work rule.

    Output Accept Workrule

    Override work rule for full shift Accept scenario.

    Output Decline Workrule

    Override work rule for full shift Decline scenario.

    Output Deviation Workrule Accept

    Override work rule for partial shift Accept scenario.

    Output Deviation Workrule Decline

    Override work rule for partial shift Decline scenario.

    Note:
    • Enter "NULL" in any output column when a work rule transfer is not required for the accept or decline action.
    • Always keep an empty “NULL” line as the last entry in this table. Without this last line, the decision table will not work.
    ScheduleChangeAttestationContract_v5_2_Locale — Allows customization of the text in the workflow form and notifications for different locales.

    Schedule Change Attestation — Contract Locale decision table

    Schedule Change Attestation — Contract Locale decision table

    Variable name

    Variable type

    Description

    Key

    Text

    Internal field label; do not change.

    Locale Policy

    Text

    Locale Policy.

    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.

    Message

    Text

    Text displayed in the workflow form or notification.

    Description

    Text

    (Optional) The description that is shown in Additional Details.

    If you are configuring localized messages and form labels, open the _Locale subprocess and modify the decision table as needed.

    Sample Schedule Change Attestation — Contract Locale decision table content

    Sample Schedule Change Attestation — Contract Locale decision table content

    Key

    Description

    Invalid_CurrentSchedulePeriod

    Invalid value configured for the CurrentSchedulePeriod parameter.

    Invalid_EnableByPassPredictiveSchedulingFeature

    Invalid value configured for the EnableByPassPredictiveSchedulingFeature parameter.

    Invalid_EnablePostponingAttestation

    Invalid value configured for the EnablePostponingAttestation parameter.

    Invalid_EnableScheduleRevertOnDecline

    Invalid value configured for the EnableScheduleRevertOnDecline parameter.

    Invalid_EnableWorkruleTransferOnAccept

    Invalid value configured for the EnableWorkruleTransferOnAccept parameter.

    Invalid_EnableWorkruleTransferOnDecline

    Invalid value configured for the EnableWorkruleTransferOnDecline parameter.

    Invalid_IndicativePaycodeAccept

    Invalid value configured for the IndicativePaycodeAccept parameter.

    Invalid_IndicativePaycodeDecline

    Invalid value configured for the IndicativePaycodeDecline parameter.

    Invalid_IgnoreDayTag

    Invalid value configured for the IgnoreDayTag parameter.

    Invalid_NodesToDisplay

    Invalid value provided for the NodesToDisplay parameter.

    Invalid_NumberOfDays

    Invalid value provided for the NumberOfDays parameter.

    Invalid_NumberOfPastDays

    Invalid value provided for the NumberOfPastDays parameter.

    Invalid_NumberOfSchedulePeriods

    Invalid value provided for the NumberOfSchedulePeriods parameter.

    Invalid_RightToRestNotation

    Invalid value provided for the RightToRestNotation parameter.

    Invalid_RightToRestThreshold

    Invalid value provided for the RightToRestThreshold parameter.

    Invalid_ScheduleChangeAcceptTag

    Invalid value provided for the ScheduleChangeAcceptTag parameter.

    Invalid_ScheduleChangeDeclineTag

    Invalid value provided for the ScheduleChangeDeclineTag parameter.

    Label_RightToRestNote

    Text displayed in form when a Right to Rest Violation occurs.

    Note: When configuring Label_RightToRestNote, do not edit or delete the < RTRNotation> custom tag.

    Message_BaselineHeader

    Header for Baseline.

    Message_ContractHeader

    Header for Contract.

    Message_Next

    Button name that displays on the attestation form.

    Message_NoAction

    Button name that displays when attestation is required.

    Message_NotificationHeader

    Header for the notification.

    Message_NoPostedData_NoEmplTerm

    Error message that displays when the employee has no posted data or no employment term (in Contract).

    Message_NoRuleViolation

    Error message that displays when there is no rule violation (Contract option).

    Message_NoScheduleData

    Error message that displays when the employee has no scheduled data.

    Message_Submit

    Button name that displays on the summary form.

    Message_Summary

    Form header for the summary form.

    Text_AcceptAllLabel

    Accept All label on the radio button of the first user form.

    Text_AcceptLabel

    Accept label on the radio button of the second user form.

    Text_AfterLabel

    After label.

    Text_AttestLaterLabel

    Skip and Respond Later label on the radio button that displays on both the business process and punch tiles.

    Text_BeforeLabel

    Before label.

    Text_ContractLabel

    Contract label.

    Text_DateLabel

    Date label.

    Text_DeclineAllLabel

    Decline All label on the radio button of first user task form.

    Text_DeclineLabel

    Decline label on the radio button of second user task form.

    Text_FormFirst_DropDown

    Dynamic dropdown label of the first form.

    Text_FormFirst_RadioButton

    Radio button label on the first form. (Form that contains all schedule changes which span a range of dates.)

    Text_FormSecond_RadioButton

    Radio button label on the second form. (Form that contains all schedule changes for a particular day.)

    Text_JobLabel

    Job label.

    Text_NoShiftLabel

    No Shift label.

    Text_ShiftDeletedLabel

    Shift Deleted label.

    Text_ShiftLabel

    Shift label.

    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".)

Audit

You can create a Schedule Change Attestation Detail KPI Dataview 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 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

APIs

API details — applicable for both the Schedule and Contract Attestation workflows

API name

Resource path

Type

Description

Retrieve Locale Date Span

/v1/commons/symbolicperiod/read

POST

Retrieve a locale date span or symbolic period that aligns with the specified data.

Retrieve Persons

/v1/commons/persons/extensions/multi_read

POST

Retrieve multiple person records based on search criteria.

Retrieve Posted Schedule with Criterion

/v1/scheduling/schedule_management_actions/multi_read

POST

Retrieve posted schedule records for the specified posting periods.

Retrieve Employee Rule Violations

/v1/scheduling/violations

POST

Retrieve rule violations along with explanations for the specified employees.

Retrieve Locales

/v1/commons/locale_policies/multi_read

POST

Retrieve locales according to the specified request.

Retrieve User Preferences for Current User

/v1/commons/user_preferences/locale_policy

GET

Retrieve user preferences for the tenant.

Retrieve Schedule Audits

/v1/scheduling/audits/multi_read

POST

Retrieve a set of audits according to the specified criteria.

Retrieve Employee Employment Terms

/v1/scheduling/employment_terms_schedule/multi_read

POST

Retrieve employment terms, group shifts, group paycode edits, and memberships that match the specified criteria.

Create Schedule Tags

/v1/scheduling/schedule/schedule_tags/multi_create

POST

Create one or more schedule tags according to the IDs provided.

Send Schedule Change Notifications

/v1/scheduling/schedule_management_actions/notifications/apply_update

POST

Send notification to employee or manager based on schedule change action.

Update Shifts

/v1/scheduling/schedule/shifts/multi_update

POST

Update one or more shifts based on the IDs provided.

Create Shifts from Patterns

/v1/scheduling/schedule/shifts/apply_create

POST

Create one or more shifts according to the parameters provided.

Update Schedule

/v1/scheduling/schedule

POST

Update a schedule for an employee as a manager.

Delete Shifts

/v1/scheduling/schedule/shifts/multi_delete

POST

Delete one or more shifts according to the parameters provided.

Retrieve Schedule

/v1/scheduling/schedule

GET

Return a schedule pertaining to one employee, Hyperfind, or location.

Retrieve Time-Off Requests as Manager

/v1/scheduling/timeoff/multi_read

POST

Retrieve time-off for the employees.

API details — applicable for only the Schedule Attestation workflow

API name

Resource path

Type

Description

Retrieve Comments as Manager

/v1/commons/comment

GET

Retrieve comments from the application.

Retrieve Paycodes

/v1/timekeeping/setup/pay_codes/multi_read

POST

Retrieve the list of all paycodes supplied in the request.

Retrieve Tag Definitions with Criterion

/v1/scheduling/setup/tag_definitions/multi_read

POST

Retrieve the list of all tags supplied in the request.

Retrieve Timezone

/v1/commons/setup/timezones

GET

Retrieve the timezone details of the employee.

Version history

As of version 5.0, the extension was redesigned as two separate processes Schedule Change Attestation — Schedule and Schedule Change Attestation — Contract.

Version history — Schedule Change Attestation — Schedule

New as of version 5.0.

Version

Process

Description

5.0

ScheduleChangeAttestationSchedule_v5

  • Introduces the Schedule Change Attestation -- Schedule process that you associate with standard baseline employees in their Process Profile.

  • After schedule posting, attestation initiates when changes occur with the employee's shift, job, or assignment.
  • If multiple changes occur at the same time, such as job and shift, a single attestation applies to all changes.

  • A redesigned attestation form now:

    • allows employees to accept or reject changes that occur on multiple dates.

    • limits the display to changes in the schedule;

    • offers a check box selection instead of an individual day selection drop down.

  • Addresses an issue where the workflow utilized the default UTC time zone instead of the employee time zone during comparison of the attestation date and the number of past days.

5.1

ScheduleChangeAttestationSchedule_v5.1

Enhances the process to:

  • implement work rule transfer functionality on new shifts.

  • prevent an "Unknown Error" message when Multiple Assignment functionality is not enabled on the tenant.

5.2ScheduleChangeAttestationSchedule_v5.2Addresses an issue where the Schedule Change Accepted and Declined columns in the Schedule Change Attestation dataview did not populate correctly.
5.3ScheduleChangeAttestationSchedule_v5.3Addresses an issue where the process incorrectly applied a paycode edit with an amount of zero (0.00) when the schedule change was declined.
5.4ScheduleChangeAttestationSchedule_v5.4Enhances the process to correctly support non-English locales.
5.5ScheduleChangeAttestationSchedule_v5.5Addresses an issue where the process generated a date exception when 31 days was passed as a parameter in LocalDate for months containing fewer than 31 days.

Version history — Schedule Change Attestation — Contract

New as of version 5.0.

Version

Process

Description

5.0

ScheduleChangeAttestationContract_v5

  • Introduces the Schedule Change Attestation -- Contract process that you associate with contract employees in their Process Profile.
  • Enhances the process by introducing a new attestation form on which the individual day selection drop down is replaced with a check box selection.

  • Addresses an issue where the workflow utilized the employee timezone instead of the system timezone to calculate the previous day.

5.1

ScheduleChangeAttestationContract_v5.1

Enhances the process to identify the work rule override applied to the contract shift before posting the schedule.

Version history — Schedule Attestation — Baseline Contract

Replaced as of version 5.0.

Version

Process

Description

1.0

ScheduleAttestation_BaselineContract

Initial release.

1.1

ScheduleAttestation_BaselineContract_v1.1

Addressed an issue where task notifications were generated in the control center when the business process domain was configured in the Control Center Notification Mapping.

Added script level error handler which sets all notification variables as configurable.

1.2

ScheduleAttestation_BaselineContract_v1.2

Addressed a null pointer exception issue that occurred when an employee requested an open shift by way of ESS.

1.3

ScheduleAttestation_BaselineContract_v1.3

Optimized code to fetch work rule and pay rule from the Person Extension API response.

1.4

ScheduleAttestation_BaselineContract_v1.5

Optimized code to fetch empRuleRefs(ERULE_SHIFTS_EMPLOYMENT_TERMS) from Rule violation API.

2.0

ScheduleAttestation_BaselineContract_v2

Enhanced to provide:

  • A single main process (Name: ScheduleAttestation_BaselineContract_v2.0).

  • External Dynamic decision tables for initialize variable and Accept or Decline work rule transfer.

  • Single decision table for Accept tor Decline work rule transfer.

Addressed issues:

  • Removed the comma separator dependency in the groovy script logic to solve a work rule exception.

  • Number Schedule Period calculation.

3.0

ScheduleAttestation_BaselineContract_3

Enhanced to include:

  • The introduction of the Localization Decision Table.

  • Retained break segments while rejecting schedule changes.

  • Different work rule transfers that are specific to the shift deviation instead of the complete shift.

3.1

ScheduleAttestation_BaselineContract_3.1

Addressed a null pointer exception issue when the employee declined all the schedule changes for the deleted shift.

3.2

ScheduleAttestation_BaselineContract_3.2

  • Added a feature that allows attestation to be performed when entering an in-punch in the employee's timecard when attestation is not required.

  • Improved the overall code performance by leveraging the multi create and update API for Tags and Timecard.

3.3

ScheduleAttestation_BaselineContract_3.3

Addressed an issue where localization support did not work correctly for different date formats.

4.0

ScheduleAttestation_BaselineContract_4

Enhanced to support Right to Rest that determines whether the difference between the posted schedules on previous and current days is less than the threshold limit.

Addressed issues:

  • Projected hours were not reflected correctly in metrics.

  • Indicative paycodes were added in the timecard instead of the Schedule Planner.

4.1

ScheduleAttestation_BaselineContract_4.1

Enhanced the logic to exclude days which have approved time-off applied from employee attestation.