Dynamic scheduling system properties
Summarize
Summary of Dynamic scheduling system properties
Dynamic scheduling system properties in ServiceNow allow you to customize the behavior and functionality of the dynamic scheduling process to meet your organization’s specific needs. These properties control scheduling frequency, automatic task assignment, travel time calculations, optimization iterations, and more. Proper configuration helps optimize task assignments, improve operational efficiency, and tailor scheduling to your workforce requirements.
Show less
You can access these properties via All > Field Service > Dynamic Scheduling Administration > Properties or directly through the sysproperties table if needed.
Key Properties and Their Practical Use
- Manual Double-Booking (
work.management.allow.doublebooking.dynamicscheduling): Allows dispatchers to manually double-book agents even when dynamic scheduling is active. Default is false, enabling more flexible scheduling if needed. - Ignore Agent Travel Time (
com.snc.dynamic.scheduling.ignoreAgentTravelTimeDuringScheduling): Enables automatic work order task assignments without considering travel time, focusing on agent ranking. Note that double booking must be enabled for automatic assignment in this mode. - Optimize Work Block Travel Time Rating (
com.snc.dynamic.scheduling.optimizetraveltimerating): Controls how travel time affects scheduling optimization with options to include travel before task, after task, both, or none. Choose based on whether on-time arrival, route order, or total route efficiency is most important. - Travel and Distance Calculation Methods (
work.management.travel.calculation.dynamicschedulingandwork.management.distance.calculation.dynamicscheduling): Selects how travel time and distance are estimated—using Google Maps API, Beans.AI, or straight-line estimates—impacting accuracy of scheduling based on travel. - Show Advanced Agent Recommendation Logs (
com.snc.dynamic.scheduling.showlogs): Displays detailed scheduling recommendations to dispatchers to improve transparency. Default is false. - Dynamic Bundling Before Scheduling (
com.snc.dynamic.scheduling.bundlebeforescheduling): Ensures tasks in Pending Dispatch state are bundled before scheduling runs, improving batch optimization of tasks. - Assign Tasks Based on Travel Time Threshold (
work.management.enable.optimizing.travelandwork.management.travel.time.threshold.minutes): Enables assigning tasks to the nearest agent if within a configured travel time (default 5 minutes), even if the agent is otherwise unavailable. - Work Schedule Usage Control (
com.snc.dynamic.scheduling.useWorkScheduleOnly): Controls whether dynamic scheduling strictly uses the agent’s work schedule or falls back to a default schedule if no work schedule is available.
Task Scheduling Dates and Window Settings
Dynamic scheduling uses the Window start date and Window end date fields on work order tasks to determine scheduling windows. These dates can be:
- Explicitly set in the task or derived from related SLA breach dates or appointments.
- Automatically adjusted based on delivery dates of transfer orders with mandatory part requirements.
- Overridden manually if needed.
Special cases apply where window dates do not update automatically, such as tasks linked to appointments, fixed windows, or tasks with certain existing window end dates. Business rules and client scripts manage these calculations and must be enabled for automatic updates.
Why This Matters for ServiceNow Customers
By understanding and configuring these system properties, you can:
- Fine-tune scheduling to balance agent workloads and travel efficiency.
- Enable or restrict manual dispatcher actions like double-booking.
- Control how travel impacts agent task assignments, improving route planning and customer satisfaction.
- Leverage system automation effectively by managing task bundling and scheduling windows.
- Ensure that your dynamic scheduling setup aligns with your operational policies and business goals.
Set up properties to customize the behavior and functionality of the dynamic scheduling process according to your organization's needs.
The following properties allow you to control aspects such as the frequency of scheduling, automatic assignment, travel time calculations, and optimization iterations. Adjusting these properties helps optimize task assignments, improve efficiency, and align the dynamic scheduling process with your specific requirements.
Navigate to or go to sys_properties table if you can't find the property in Dynamic Scheduling Administration.
| Property label | Property name | Description |
|---|---|---|
| Allow dispatchers to manually double-book agents | work.management.allow. doublebooking.dynamicscheduling | Allows dispatchers to double-book agents manually even when dynamic scheduling is enabled.
|
| Property to ignore calculation of travel time for agents to task location based on schedule | com.snc.dynamic.scheduling. ignoreAgentTravelTimeDuringScheduling | Assigns work order tasks automatically without considering travel time for agents. The Ignore Travel option appears in the work order task form, allowing dynamic scheduling to assign tasks to the highest ranked agents regardless of travel time. Set up the following parameters related to dynamic scheduling when Ignore Travel is enabled: Note:
|
| Optimize work block travel time rating | com.snc.dynamic.scheduling.optimize_travel_time_rating | Optimize work block travel time rating.
The following is more details on the property options:
|
| Travel calculation method | work.management.travel.calculation. dynamic_scheduling | Uses Google Maps API, Beans.AI, or straight line estimates to calculate estimated agent travel time and distance to task locations when agents are assigned tasks using dynamic scheduling. |
| Distance calculation method | work.management.distance.calculation.dynamic_scheduling | Calculates agent’s estimated travel time and distance to the task location based on either Google Maps API, Beans.AI, or straight-line. If the Use Google Maps API for travel time estimates geolocation property is enabled, then you can select Google Maps API or straight-line estimates in the properties for calculating estimated travel time and distance. If the Use Google Maps API for travel time estimates is not enabled, then the system uses the value in the Estimated Travel Duration field in the work order task to determine task assignment for the agent.
|
| Show advanced agent recommendation logs to user | com.snc.dynamic.scheduling.showlogs | Displays recommended eligible agents to the dispatchers while scheduling the tasks using dynamic scheduling.
|
| Dynamic Bundling before Dynamic Scheduling | com.snc.dynamic.scheduling.bundle_before_scheduling | Ensures dynamic bundling runs before dynamic scheduling. Tasks in the Pending Dispatch state are bundled before running dynamic scheduling.
|
| Enable the feature of assigning task to agent with travel time within threshold | work.management.enable.optimizing.travel | Enables dynamic scheduling to assign work order tasks to the nearest agent regardless of availability.
|
| Assign task to agent with travel time within the threshold in minutes | work.management.travel.time.threshold.minutes | Sets the travel time (in minutes) that assigns a work order task to the nearest agent if they are within the travel distance.
|
| Allow Dynamic Scheduling to only use work schedule/WFO | com.snc.dynamic.scheduling.useWorkScheduleOnly | Controls whether dynamic scheduling and workforce optimization can fall back to the default work schedule when scheduling agents. When set to true, the scheduling engine does not fall back to
the default work schedule. When set to false, the scheduling engine falls back to the default work schedule if an agent's work schedule expires or is unavailable.
|
Work Order Task Start and End Dates
- If both the Window start and Window end dates are present in the work order tasks, dynamic scheduling uses these dates.
- If the task has a Window start date but the date has passed, dynamic scheduling uses the current date and time for this value.
- If the task has a Window start date but no Window end date, dynamic scheduling uses the com.snc.wm.wo.task_window_day property to determine this value.
- If the task has no Window start date but has a Window end date, dynamic scheduling uses the current time for this value.
- If the task has neither a Window start nor a Window end date, dynamic scheduling uses the current time and date for the Window start and the com.snc.wm.wo.task_window_day property for the Window end.
- If a task is created, the Window end date gets automatically populated based on the latest SLA breach date from its parent work order. The business rules Populate Window End Based On SLA for both Task SLA [task_sla] and Work Order Task [wm_task] tables, and the client script Calculate Window End has to be set to true.
- If a task is created and Fixed window is enabled, the business rules and client scripts doesn't execute and Window end time is not updated. If a work order is created based on an appointment and there is an SLA associated with the work order, the Window end time is populated based on the appointment and not on the SLA.
- Associated with an appointment
- Fixed Window
- Window end is populated and is before the delivery by date.