{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":14794,"path":"field-service-management/field-service-scheduling/dynamic-sched-system-properties.md","title":"Dynamic scheduling system properties","bundle":null,"doc_type":null,"release":"australia","body":"\n# Dynamic scheduling system properties\n\nSet up properties to customize the behavior and functionality of the dynamic scheduling process according to your organization's needs.\n\nThe 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.\n\nNavigate to **All** &gt; **Field Service** &gt; **Dynamic Scheduling Administration** &gt; **Properties**, or go to `sys_properties` table if you can't find the property in **Dynamic Scheduling Administration**.\n\n<table id=\"table_fyv_dtr_bs\"><thead><tr><th>\n\nProperty label\n\n</th><th>\n\nProperty name\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nAllow dispatchers to manually double-book agents\n\n</td><td>\n\nwork.management.allow. doublebooking.dynamicscheduling\n\n</td><td>\n\nAllows dispatchers to double-book agents manually even when dynamic scheduling is enabled. -   Type: true/false\n-   Default value: false\n\n</td></tr><tr><td>\n\nProperty to ignore calculation of travel time for agents to task location based on schedule\n\n</td><td>\n\ncom.snc.dynamic.scheduling. ignoreAgentTravelTimeDuringScheduling\n\n</td><td>\n\nAssigns 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.\n\nSet up the following parameters related to dynamic scheduling when **Ignore Travel** is enabled:\n\n**Note:**\n\n-   Double booking must be enabled for the system to assign tasks to the agent automatically.\n-   If access hours are defined in a work order task, the system ignores the defined access hours limit when auto-assigning that task to agents. Access hours are activated using Field Service Access Hours Management \\(com.snc.fsm\\_access\\_hours\\) plugin.\n\n-   Type: true/false\n-   Default value: false\n\n</td></tr><tr><td>\n\nOptimize work block travel time rating\n\n</td><td>\n\ncom.snc.dynamic.scheduling.optimize\\_travel\\_time\\_rating\n\n</td><td>\n\nOptimize work block travel time rating.-   Type: choice list\n-   Default value: Include all travel\n\nThe following is more details on the property options:\n\n-   **Include travel to task** - Ideal when on-time arrival is a key business metric. Only the time it takes to travel to the task is considered in the rating. Any travel after the task is ignored for scoring.\n-   **Include travel after task** - Ideal when the order of tasks matters and incorrect sequencing could increase overall route time. This is best if you want to factor in the impact a task has on travel time to the next task. This method ignores how far the agent has to go to the task, but includes the impact that traveling to the task has on the rest of the route.\n-   **Include all travel** - This is ideal for route efficiency if you want to minimize the total travel time across a technician’s day. This method considers both the travel to a task, and the travel after a task.\n-   **Include no travel** - Ideal for remote tasks, virtual support, or dispatch scenarios where the technician is static since travel is not a factor in work block rating.\n\n</td></tr><tr><td>\n\nTravel calculation method\n\n</td><td>\n\nwork.management.travel.calculation. dynamic\\_scheduling\n\n</td><td>\n\nUses 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.\n\n</td></tr><tr><td>\n\nDistance calculation method\n\n</td><td>\n\nwork.management.distance.calculation.dynamic\\_scheduling\n\n</td><td>\n\nCalculates 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.\n\nIf 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.\n\n-   Type: choice list\n-   Default value: Use straight line estimate.\n\n</td></tr><tr><td>\n\nShow advanced agent recommendation logs to user\n\n</td><td>\n\ncom.snc.dynamic.scheduling.showlogs\n\n</td><td>\n\nDisplays recommended eligible agents to the dispatchers while scheduling the tasks using dynamic scheduling. Type: true/false Default value: false\n\n</td></tr><tr><td>\n\nDynamic Bundling before Dynamic Scheduling\n\n</td><td>\n\ncom.snc.dynamic.scheduling.bundle\\_before\\_scheduling\n\n</td><td>\n\nEnsures dynamic bundling runs before dynamic scheduling. Tasks in the Pending Dispatch state are bundled before running dynamic scheduling. -   Type: true/false\n-   Default value: false\n\n</td></tr><tr><td>\n\nEnable the feature of assigning task to agent with travel time within threshold\n\n</td><td>\n\nwork.management.enable.optimizing.travel\n\n</td><td>\n\nEnables dynamic scheduling to assign work order tasks to the nearest agent regardless of availability. -   Type: true/false\n-   Default value: false\n\n</td></tr><tr><td>\n\nAssign task to agent with travel time within the threshold in minutes\n\n</td><td>\n\nwork.management.travel.time.threshold.minutes\n\n</td><td>\n\nSets the travel time \\(in minutes\\) that assigns a work order task to the nearest agent if they are within the travel distance.-   Type: integer\n-   Default value: 5\n\n</td></tr><tr><td>\n\nAllow Dynamic Scheduling to only use work schedule/WFO\n\n</td><td>\n\ncom.snc.dynamic.scheduling.useWorkScheduleOnly\n\n</td><td>\n\nControls 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.-   Type: true/false\n-   Default value: true\n\n</td></tr></tbody>\n</table>## Work Order Task Start and End Dates\n\nDynamic scheduling uses **Window start date** and **Window end date** field values in the work order task to schedule tasks. Additionally, the system properties, business rules, and client scripts are considered during set up and configuration.\n\n-   If both the Window start and Window end dates are present in the work order tasks, dynamic scheduling uses these dates.\n-   If the task has a Window start date but the date has passed, dynamic scheduling uses the current date and time for this value.\n-   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.\n-   If the task has no Window start date but has a Window end date, dynamic scheduling uses the current time for this value.\n-   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.\n-   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.\n-   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.\n\nThe **Window start date** field gets updated based on the delivery date of the transfer order only for the work orders that are not assigned. The business rule **Sync up Delivery Time with WOT** has to be set to **True**. For multiple transfer orders containing mandatory part requirements, the **Window start date** is set to the latest delivery time of the transfer order\\(s\\). Window start date is updated based on transfer orders only when the part requirement associated with the transfer order is mandatory. However, you can manually edit the window start time and override the existing date that is populated based on the transfer order.\n\n**Note:** The Window start date is not updated if the work order task is one or more of the following:\n\n-   Associated with an appointment\n-   Fixed Window\n-   Window end is populated and is before the delivery by date.\n\n**Related topics**  \n\n\n[Example - Dynamic Scheduling](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/field-service-management/field-service-scheduling/example-for-dynamic-scheduling.md)\n\n[Configure dynamic scheduling](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/field-service-management/field-service-scheduling/create-dynamic-scheduling-config.md)\n\n"}}