---
schema_version: "1"
id: d4397dc888b212345aa485da8795014bea08ca4e30f71a31e6a45b3645a631ad
title: Guidelines for Using Workforce Scheduling Commit Mode
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/service/264-0-0/wfs_config_scheduling_field_commit_guide.md
canonical_url: https://help.salesforce.com/s/articleView?id=service.wfs_config_scheduling_field_commit_guide.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: e223487218166f12c8885b77691aedf59a543d6f4afaa29910d781ae01829939
description: Learn what happens when a dispatcher or scheduling operation makes a change to the schedule that conflicts with an ongoing optimization process, and how the system behaves depending on the selected Commit Mode.
products:
  - Public Sector
  - Service Cloud
release: "264"
---
# Guidelines for Using Workforce Scheduling Commit Mode

Learn what happens when a dispatcher or scheduling operation makes a change to the schedule that conflicts with an ongoing optimization process, and how the system behaves depending on the selected Commit Mode.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong> and <strong>Unlimited</strong> Editions</td></tr></tbody></table>

Various conflicts can occur in the schedule during an optimization run. For example, while optimization is running, a dispatcher pins a service appointment, a customer cancels an appointment at the last minute, or an emergency service appointment is created and scheduled automatically. These actions can result in discrepancies between the schedule at the start of optimization and the schedule upon completion. If a scheduling change during optimization creates scheduling conflicts, you can commit the optimization recommendations despite the conflicts or roll back to the original schedule without making any changes.

Always Commit

If a user tries to make a potentially conflicting change to the schedule while optimization is in progress, a message is shown to warn the user that their change can conflict with the optimization results, but lets them opt to save the change. If the conflicting change is made by automation or a user outside of the Operations Console, no message is shown.

Rollback

If a potentially conflicting change is made to the schedule for the dates being optimized—with a buffer day before and after—don’t complete the optimization. This choice is a conservative scheduling option that helps you avoid possible conflicts. For example, if you begin a scheduled job to optimize from April 2 to April 5, changes made to the April 1 to April 6 schedule cause the optimization to be rolled back. Changes include creating and deleting resource absences and service appointments, any resource absence updates, and updates to the service appointment assigned resource, Scheduled Start or Scheduled End.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-workforce_scheduling-264-0-0-production-enus/1eb114f2-bdf8-40c9-98ed-accb880f7906/images/icon_note.png)

Note In rare cases, a service appointment can incorrectly have two assigned resources even if the scheduling policy is set to Rollback. This can occur if a dispatcher manually assigns a service appointment on the Gantt at the exact same time an optimization request is about to commit its results. The rollback check (which looks for Gantt changes) can finish right before the manual drag-and-drop action completes. Because the check detects no change at that moment, the rollback isn’t triggered, and the optimization results are committed, resulting in the duplicate assignment.

Each optimization type has its own org-wide default Commit Mode:

- Global Optimization defaults to Always Commit, because global runs are typically overnight when concurrent changes are rare and partial improvements are usually preferable to no change.
- In-Day Optimization defaults to Rollback, because in-day runs happen during the working day when concurrent changes are likely, and rolling back protects the schedule from conflicts.
- Resource Schedule Optimization (RSO) defaults to Rollback, because RSO covers a single resource’s day and rolling back on any concurrent change keeps the resource’s schedule consistent.

You select the Commit Mode for each optimization type from Setup, under Scheduling and Optimization.

Here are examples of potentially conflicting schedule changes and what happens depending on the selected Commit Mode.

  
| Scenario | Always Commit | Rollback |
| --- | --- | --- |
| The dispatcher pins a service appointment while an optimization request is running (the Pinned checkbox on the service appointment is selected). | The pinned service appointment remains in its place. An overlap can occur with another service appointment if optimization had planned to move the pinned appointment to schedule another job in place of it. | The pinned service appointment remains in its place. An overlap can occur with another service appointment. |
| The status of a service appointment is updated. | The schedule is updated. The service appointment can move to another time and resource as per the optimization results. The status remains unchanged from the latest update. | The optimization result is committed. |
| A service appointment is created and scheduled. | The schedule is updated as per the optimization results. An overlap can occur with another service appointment. | No changes are made to the schedule. |
| The dispatcher schedules an appointment that is currently unscheduled. | During optimization, the optimization run overrides the dispatcher’s decision and assigns the appointment to the service resource suggested by the engine (commits the recommended solution). | No changes are made to the schedule. |
| A scheduled service appointment is canceled. | If a scheduled service appointment is canceled during an optimization run, the service appointment remains canceled and doesn’t appear on the Gantt. | No changes are made to the schedule. |
| A scheduled service appointment is unscheduled. | The schedule is updated as per the optimization results. | No changes are made to the schedule. |
| Optimization tries to schedule a service appointment and the unscheduled appointment is canceled. | Scheduled Start and Scheduled End times are added to the service appointment. No assigned resource is added to the service appointment. | No changes are made to the schedule. |
| A resource absence is created within the optimization horizon. | The schedule is updated as per the optimization results. An overlap can occur with another service appointment. | No changes are made to the schedule. |
| A resource absence is updated within the optimization horizon. | The schedule is updated as per the optimization results. An overlap can occur with another service appointment. | No changes are made to the schedule. |
| A resource absence is deleted within the optimization horizon. | The schedule is updated as per the optimization results. | No changes are made to the schedule. |
| A scheduled service appointment is rescheduled to another time (the Scheduled Start Time or Scheduled End time, or both, is updated). | The service appointment moves to another time or service resource, or both, as per the optimization results. | No changes are made to the schedule. |
| A scheduled service appointment is rescheduled to another service resource (Assigned Resource is updated). | The service appointment moves to another time or service resource, or both, as per the optimization results. | No changes are made to the schedule. |
| The Arrival Window Start time of a service appointment or Arrival Window End time, or both, is updated. | The service appointment moves to another time or service resource, or both, as per the optimization results. | No changes are made to the schedule. |

#### See Also

- [Create and Manage Scheduling Policies in Workforce Scheduling](https://help.salesforce.com/s/articleView?id=service.wfs_policies_manage.htm&release=264.0.0&type=5 "Scheduling policies combine work rules and service objectives to control which resources and time slots Workforce Scheduling assigns to each appointment. Work rules decide who’s eligible, and service objectives decide who’s the best fit. During scheduling and optimization, the engine applies these criteria against factors like resource skills, travel time, and urgency to make sure the right person is assigned to the right job efficiently.")