Schedule Post Acknowledgment

The Schedule Post Acknowledgment extension provides a way for employees to acknowledge that they have seen the posted schedule and agree with the content.

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.

Prior to this Extension, employees received notification of a posted schedule, but managers had no way of knowing whether the schedule had been reviewed or agreed upon by the employee.

In order to engage the employee in the scheduling process, when the schedule is posted this Extension:

  • Asks the employee to acknowledge that they have seen the posted schedule.

  • Captures employee agreement to the posted schedule for audit purposes.

  • Allows the employee to decline any shift from the posted schedule.

  • Allows a contract employee to decline non-contract shifts from the posted schedule.

  • Removes the declined shift after manager approval, and then generates an open shift.

  • Allows the manager to audit responses to gain insight into employee engagement, as well as quality of the posted schedule.

User experience

The Schedule Post Acknowledgment workflow launches at the same time as the Schedule Post notification.

Employee experience

A task, generated by the workflow, is assigned in the employee’s Control Center. It displays all posted schedule weeks with daily shift details. Each week is represented either as a calendar week (ISO 8601 number) or the number of weeks posted.

The employee is asked whether they accept the posted schedule, and can optionally enter a comment. Their response determines the next action.

  • Yes — the workflow ends.

  • No — the workflow ends when the decline option is not enabled. This response has no impact on the schedule, but is captured for audit purposes.

  • No — a second form appears when the decline option is enabled. The employee then:

    • Selects specific shifts to decline.

    • Optionally, enters a comment.

    • Submits the form which can either be automatically approved or routed for manager approval.

After the manager responds to the decline request, the employee receives request status notification.

Manager experience

Managers receive notification and a task in the Control Center to review the employee’s decline request.

The task contains details corresponding to each declined shift. A checkbox displays next to each shift, and is selected, by default.

The manager’s response determines how each declined shift is treated.

  • Selected shifts are considered “Decline accepted”. These are removed from the employee’s schedule, generating open shifts. A schedule tag is placed in the Schedule Planner indicating that the employee needs another shift. The posting manager receives notification of both the deleted and open shifts.

  • Unselected shifts are considered “Decline Rejected”. These remain in the employee’s schedule.

Contract employee

When configured appropriately, contract employees are only allowed to decline shifts that do not match the contract schedule. With this case, the entire posted schedule displays on the acknowledgment form, but the decline is limited to only non-contract shifts.

Enable this model by identifying a keyword to include in the employee’s Process Profile. For example, when ‘Contract’ is found in the Process Profile name, the employee qualifies as a contract employee.

Silent Approval (Tacit Consent)

Silent approval, otherwise known as tacit consent, optionally allows automatic approval of the posted schedule when no action is taken by the employee before a configured deadline. For example, for a schedule that is always posted on the Monday prior to the 2-week schedule, employees must acknowledge the schedule before Friday at 2:00PM. The task deadline can be shown on the acknowledgment form.

When employees do not complete the assigned task, it is removed from the Control Center and the schedule posting is considered as “Silent Approved.”

Reporting

Paycodes are used to track the status of the Schedule Post Acknowledgment. Configure these paycodes as hidden to prevent clutter in the Schedule Planner.

Available statuses include:

  • Posted Schedule Accepted

  • Posted Schedule Declined

  • Posted Schedule Decline Approved

  • Posted Schedule Decline Rejected

Create a transactional Dataview with KPIs based on the tracking paycodes to provide insight into employee responses. Examples include: Total Shifts Posted, Total Shifts Declined, Silent Approved, Acceptance Ratio.

Considerations and limitations

  • The Schedule Post Acknowledgment workflow supports a maximum schedule of 70 days, or 10 weeks.
  • The silent approval time is always calculated in the time zone of the user.
  • The process relies on the ProcessProfileIdentifierForContractEmployees parameter in the Parameters decision table to identify contract employees. By configuring ProcessProfileIdentifierForContractEmployees, contract employees can only decline non-contract shifts.

  • SDM Schedule Post KPI Dataview.zip is provided with the business process. You can use this Dataview to track employee responses — schedule accepted, schedule rejected and silently approved.

  • (Optional) Versions 2 and higher of the Schedule Post Acknowledgment workflow can be used in conjunction with the Right to Rest integration.

Before you start

  1. A process profile containing the Schedule Post Acknowledgment business process must be assigned to the posting manager and employees.

  2. Workflow Notifications: Configure generic notifications that facilitate the Schedule Post Acknowledgment process. Design the notifications by combining free text with available custom tags. During configuration, select do not suppress duplicates and the appropriate recipients for each workflow notification. (Optional) Select one-click navigation in email to include a URL to the appropriate navigator widget that the notification receiver uses to address the alert. See the Configure Notifications for Business Processes topic.

    Examples:

    Name: OpenShiftCreationManagerNotification

    Long Message:

    Shifts noted below have been deleted:
    Employee: <employeeDetails>.
    Rejected Shifts: <rejectedShiftDetails>.
    Approved Shifts: <approvedShiftDetails>.

    Control center fields:

    Control center fields

    Field

    Label

    Value

    1

    Employee Details

    < employeeDetails>

    2

    Rejected Shift Details

    < rejectedShiftDetails>

    3

    Approved Shift Details

    < approvedShiftDetails>

    Name: ShiftDeclineRequestEmployeeNotification

    Long Message:

    Approved Shift Details: <approvedShiftDetails>.
    Rejected Shift Details: <rejectedShiftDetails>.

    Control center fields:

    Control center fields

    Field

    Label

    Value

    1

    Approved Shift Details

    < approvedShiftDetails>

    2

    Rejected Shift Details

    < rejectedShiftDetails>

    Name: Schedule Post Validation Notification

    Long Message:

    Decision table values are not correct for:
    Location: <Location>.
    Variables: <ErrorKeys>.

    Select Resend every hhhh:mm, and then enter a duration.

    Note: Recommended duration is 0:05.

    Control center fields:

    Control center fields

    Field

    Label

    Value

    1

    Location

    < Location>>

    2

    Variables

    < ErrorKeys>

  3. Control Center Mapping: Create control center notification mappings for all workflow notifications that support staffing level-based open shift validation. During configuration, select Scheduler from the domain; Post Schedule from the event type; the appropriate notification, such as Schedule Post Notification; Schedule from navigation page; and an appropriate icon. See the Control Center Notification Mapping topic.

  4. Comment: Configure a comment, such as Shift Details, to which the process adds shift details. The pay codes category must be selected during configuration. See the Comments topic.

  5. Schedule Tag: Configure a schedule tag, such as Shift Decline., that displays justification document status in the Schedule Planner. The schedule tag type must be selected during configuration. See the Tag Definitions topic.

    Note: Do not delete schedule tags created for this workflow process from the Schedule Planner.
  6. Paycode: Configure day-based paycodes to track the status of the Schedule Post Acknowledgment. These paycodes, when configured in a transactional Dataview, are instrumental in providing insight into employee responses. See the Paycode definition topic.

    Examples: ScheduleAccepted, ScheduleDecline, Silent Approval, and ScheduleAcceptedDeclineRejected.

  7. Process Profile: Configure a process profile, such as SchedulePostAcknowlegment_Contract, to support the contract employees that use the Schedule Post Acknowledgment business process. The Schedule Post Acknowledgment business process must be moved to the Selected Items box during configuration. See the Process Profiles setup page topic.

    Note: The process profile name must contain a keyword, such as "Contract", in order to be identified by the contract model.

Configure the Schedule Post Acknowledgment process model

  1. Migrate the business process model to the tenant Migrate the Schedule Post Acknowledgment 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. 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.

    6. 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.

    7. To view details, click tap the appropriate row and click tap View Selected.

    8. 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. Configure the decision tables Configure the Schedule Post Acknowledgment decision tables.
    1. Go to Main Menu > Administration > Application Setup > Business Process setup > Process Models.

    2. Select the SchedulePostAcknowledgement_v2.1 process and click Edit. The process model enters edit mode.

    3. Select the Decision Tables tab.

    4. Click Tap Everyone's, and then select the decision table to edit.

    5. Click Tap Decision Table Editor to add or update the rows in the table.

    6. Click Tap Save and close.

    7. Edit the following decision tables:

      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.

      • Edit the decision table: SchedulePostAcknowledgement_v2_1_InternalParameters

        The Schedule Post Acknowledgment Internal Parameters decision table contains internal mapping parameters which are external to the business and functional requirements.

        Schedule Post Acknowledgment Internal Parameters decision table structure

        Schedule Post Acknowledgment Internal Parameters decision table structure

        Variable

        Description

        EmployeePersonNumberActivitiVariableKey

        Employee person number; do not change.

        PostingManagerPersonNumberActivitiVariableKey

        Posting manager person number; do not change.

        SchedulePostDurationActivitiVariableKey

        Posted schedule duration; do not change.

        Admin

        Internal user; do not change.

        PostedSchedulePeriodDateFormat

        Posted schedule period date format for notes.

        Supported formats include:

        • yyyy-dd-MM

        • yyyy-MM-dd

        • dd-MM-yyyy

        • MM-dd-yyyy

        RightToRestNotation

        Notation that highlights Right to Rest violated shifts.

      • Edit the decision table: SchedulePostAcknowledgement_v2_1_Parameters

        The Schedule Post Acknowledgment Parameters decision table holds process parameters.

        Schedule Post Acknowledgment Parameters decision table structure

        Schedule Post Attestation Config Parameters decision table structure

        Variable name

        Description

        SilentApprovalBy

        (Optional) Day name and time at which the schedule post is silently approved.

        Set to Null when not used.

        Format: Day name, HH:mm

        Example: Monday,17:00

        ApprovalRequiredForShiftDecline

        Boolean parameter that enables manager approval for declined shifts.

        AllowShiftDecline

        Boolean parameter that enables the ability to decline shift with deletion.

        ScheduleAcceptedPayCode

        Paycode that is inserted in the Schedule Planner on the days for which the schedule is accepted.

        Example: ScheduleAccepted

        ScheduleAcceptedPayCodeForSilentApproval

        Paycode that is inserted in the Schedule Planner on the days for which the schedule is accepted as part of the silent approval process.

        Example: SilentApproval

        ScheduleDeclinedPaycode

        Paycode that is inserted in the Schedule Planner on the days for which the schedule is declined.

        Example: ScheduleDeclined

        ShiftDeclineRejectedPaycode

        Paycode that is inserted in the Schedule Planner on the days for which the decline request is rejected by the manager.

        Example: ShiftAcceptedDeclineRejected

        ScheduleDetailsComment

        Comment, that is configured with a paycode category, and is assigned to all applicable paycodes.

        Example: Shift Details

        OpenShiftCreationManagerNotification

        (Optional) Notification, containing declined shift details, that is sent to the posting manager.

        Set to Null when not used.

        Example: OpenShiftCreationManagerNotification

        ShiftDeclineRequestEmployeeNotification

        (Optional) Notification, containing shift details after manager approval, that is sent to the employee.

        Set to Null when not used.

        Example: ShiftDeclineRequestEmployeeNotification

        ValidationErrorNotification

        Notification, containing details and validation errors, that is sent to the posting manager.

        Example: Schedule Post Validation Notification

        DisplayShiftLabel

        Boolean parameter that determines whether the shift label or shift time spans are displayed on the workflow form.

        DisplayWeekNumberInISOFormat

        Boolean parameter that determines whether the ISO week number displays on the form.

        ProcessProfileIdentifierForContractEmployees

        Keyword added to the Process Profile name that is used to identify the contractual employees. These employees can only decline shifts which are different from their contract schedule.

        Example: Contract

        WeekStartDay

        The reference day from which the week begins for the employee.

        ScheduleDeclinedTag

        (Optional) The schedule tag assigned to an open shift that is created as the result of a declined shift.

        Set to Null when not used.

        Shift Decline

        RightToRestSwitch

        Boolean parameter that enables Right to Rest functionality.

      • Edit the decision table: SchedulePostAcknowledgement_v2_RightToRest_Parameters

        The Schedule Post Acknowledgment Right to Rest Parameters decision table allows an organization to configure the threshold.

        Schedule Post Acknowledgment Right to Rest Parameters decision table structure

        Schedule Post Acknowledgment Right to Rest Parameters decision table structure

        Variables

        Description

        RightToRestThreshold

        Threshold limit that defines the difference between two shifts in order to qualify for right to rest.

        Supported format = HH:mm

      • Edit the decision table: SchedulePostAcknowledgement_v2_1_Locale

        The Schedule Post Acknowledgment Locale decision table allows customization of text in the Workflow form, and error messages for different locales.

        Schedule Post Acknowledgment Locale decision table structure

        Schedule Post Attestation Locale decision table structure

        Variable name

        Variable type

        Description

        Key

        String

        Internal field label; do not change.

        Locale Policy

        String

        Name of the locale policy for which the message applies. When the message applies to all locales, retain the empty value.

        Message

        String

        Label displayed in the Workflow form, or error message.

        Description

        String

        (Optional) Additional information or customized message description.

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

        Key parameter names

        Key parameter names

        Validation Type

        Description

        Label_messageInitialForm1

        Value for the header displayed on the first form.

        Label_messagePeriodForm1

        Value for the Period label displayed next to the date range on the first form.

        Label_messageRadioForm1

        Radio button message label display on form 1 when no timer is needed.

        Label_messageYes

        "Yes" label displayed for the employee.

        Label_messageNo

        "No" label value displayed for the employee.

        Label_messageForm1SubmitButton

        Button name that displays on the employee first form.

        Label_messageComment

        Localized value used as a Comments label on the forms.

        Label_messageWeek

        Localized value for "Week".

        Message_postingManagerCommentNoteLabel

        Prefix used to address the posting manager's comment in paycode comment notes.

        Message_employeeCommentNoteLabel

        Prefix used to address the employee's comments in paycode comment notes.

        Label_messageCancelButton

        Button name that terminates tasks and process instances.

        Label_messageBack

        Localized value for "Back"; used on multiple forms.

        Label_messageEmployeeCommentPostingManager

        Prefix used to address the employee's comment on the posting manager form.

        Label_messageAllShiftsLockedOrContract

        Localized value that indicates that the posted schedule has a locked or contract shift.

        Label_messageHeaderForm3

        Value for the header displayed on the third form.

        Label_message1HeaderForm2

        Value for the Locked or Contract shift header message on the second form.

        Label_message2HeaderForm2

        Value for the Locked shift header message on the second form.

        Error_messageForm3NoShiftSelected

        Error message displayed on the employee's third form when the employee tries to submit the form without selecting any shifts.

        Error_messageForm2NoShiftSelected

        Error message displayed on employee's second form when the employee tries to submit the form without selecting any shifts.

        Label_messageForm2SubmitButton

        Submit button name that displays on the employee's second form.

        Label_messageForm3SubmitButton

        Submit button name that displays on the employee's third form.

        Label_messageSubmitButtonPostingManager

        Submit button name that displays on the posting manager's form.

        Label_messageHeaderForm2

        Value for the fixed header message that displays on the second form.

        Label_messageRadioForm1WithTimer

        Radio button message label that displays on the first form when a timer is necessary.

        Message_NotesSchedulePostDuration

        Schedule post duration prefix used in the notes.

        Message_NotesShiftDetails

        Shift timings prefix used in the notes.

        Label_ScheduleAcknowledgement

        Success message displayed after the employee completes their task.

        Label_messagePostingManagerIntial

        Posting manager form heading.

        Error_GenericErrorMessage

        General error message displayed on the form.

        Error_NotFoundMessage

        Error message displayed on the form if the pay code, comment, tag, or other parameters are incorrect.

        Label_DisplayErrorHeading

        Error form heading. (Error Encountered).

        Label_RightToRestNote

        Right to Rest message displayed on the form.

  3. 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 .

    1. Go to Main Menu > Administration > Application Setup > Business Process setup > Process Models.

    2. Select the SchedulePostAcknowledgement_v2.1 process model.

    3. Click Tap Edit, and then configure the deployment dates and required parameters , such as:

      Template Categories: Notification Templates

      Status: Active

      Action List: Hide

      Tile List: Hide

      GoTo List: Show

    4. Click Tap Save, and then select Return to deploy.

      Note: After deployment, assign the process to the Schedule Post workflow notification.

APIs

API details

APIs for the workflow

API name

Type

Resource path

Description

Retrieve All Extensions

GET

/v1/commons/persons/extensions

Retrieves extensions data for a person record.

Retrieve Schedule with Criterion

GET

/v1/scheduling/schedule

Returns a schedule pertaining to one employee. The data included in the response can be specified using the select parameter.

Retrieve Employee Employment Terms

POST

/v1/scheduling/employment_terms_schedule/multi_read

Retrieves an employee's employment term.

Update Schedule for Multiple Employees

POST

/v1/scheduling/schedule/multi_update

Updates schedule for multiple employees.

Send Notification by ID

POST

/v1/platform/messaging/generic_notifications/{id}/notify

Sends a generic notification according to the provided notification reference ID.

Retrieve Tag Definition by Name

GET

/v1/scheduling/setup/tag_definitions

Returns a tag definition by name.

Version history

Version history

Version history

Version

Description

1

Initial release.

Provides a way for employees to acknowledge that they have seen the posted schedule and agree with the content.

2

Enhanced to support Right to Rest functionality.

2.1

Enhanced to support the upgraded Groovy version of Activiti v2.x.