Schedule Optimization properties
You can set parameters that control how optimization runs.
Field Service Schedule Optimization properties
Schedule Optimization general properties
| Property | Description |
|---|---|
| Exit buffer time | Amount of time (in minutes) to add between the end of a task and the travel start of the next. An example of a valid time value is 10.
|
| Qualifier type for schedule optimization | The qualifier type for schedule optimization determines the criteria used to optimize schedules. There are two qualifier types available: "Assignment group" and "Territory." When the Field Service Territory model is enabled, the qualifier type automatically switches to "Territory" and remains fixed. This means that when the Territory model is active, the optimization process focuses on territories instead of assignment groups. For more information, see Enable the Field Service territory model.
|
| Number of seconds used for task scheduling resolution | Specifies the acceptable interval for scheduling a task. For example, if the value is set to 300 seconds, Schedule Optimization will schedule tasks and the associated travel time, such as task start time, travel start time, or estimated end, to the nearest 5-minute start or end time.
|
| Maximum number of overlapping qualifiers in a qualifier set | Numeric value set to determine the maximum number of overlapping qualifiers that can be applied to a single qualifier set.
|
| Logging level | The logging level will determine the type of information displayed in the results of an optimization log entry, providing details about the Schedule optimization run. There are four options available: Error,
Warning, Info, and Debug.
|
Schedule Optimization travel time estimate properties
| Property | Description |
|---|---|
| Maximum number of location points allowed in a map vendor call | Numeric value set to determine the maximum number of location points allowed in a map provider call. Beans.AI is the map provider that Schedule Optimization supports for travel time estimates. For more information, see Schedule Optimization travel estimate providers.
|
Schedule Optimization system properties
The following system properties are installed with Schedule Optimization.
| Property | Description |
|---|---|
| sn_schedule_optim.so_max_batch_duration | Maximum duration between start and end time on a batch run, in hours.
|
| sn_schedule_optim.so_min_batch_duration | Minimum duration between start and end time on a batch run, in hours.
|
| sn_schedule_optim.consider_overlapping_territories_for_scheduling | Controls whether overlapping territories are considered when scheduling tasks during optimization.
|
| sn_schedule_optim.prioritized_event_assignment_horizon_offset | Number of minutes that will be adjusted to the Window start time of a task, only for GraphQL processing. This will be used by Schedule Optimization to prevent the Schedule Start and Schedule Travel Start from being
scheduled in the past for prioritized events.
|
| sn_schedule_optim.prioritized_event_max_agent_count | Maximum number of technicians to be considered for prioritized event optimization.
|
| sn_schedule_optim.prioritized_event_max_task_count | Maximum number of tasks to be considered for prioritized event optimization.
|
| sn_schedule_optim.max_priority_events | Maximum number of prioritized event types that can be configured to trigger optimization.
|
| sn_schedule_optim.prioritized_optimization_delay_buffer | Time (in seconds) to wait before initiating the optimization process for prioritized events.
|
| sn_schedule_optim.intraday_assignment_horizon_offset | Specifies the time offset (in minutes) added to the current time when calculating the window start for tasks that have no defined window start.
|
| sn_schedule_optim.intraday_max_retry_count | Specifies how many times the solution processor retries submitting an intraday optimization job.
|
| sn_schedule_optim.intraday_minimum_frequency | Defines how frequently intraday optimization runs.
|
| sn_schedule_optim.intraday_policy | Specifies the default policy for intraday optimization. This can be overridden at the group level.
|
| sn_schedule_optim.intraday_qualifier_type | Specifies whether intraday optimization runs by assignment group or territory.
|
| sn_schedule_optim.intraday_window | Defines the default schedule that controls when intraday optimization can run.
|
| sn_schedule_optim.max_agent_count | Limits the number of technicians considered during on‑demand and intraday optimization runs.
|
| sn_schedule_optim.max_task_count | Limits the number of tasks considered during on‑demand and intraday optimization runs.
|
| sn_schedule_optim.processing_time_per_task | Specifies the maximum processing time, in seconds, that the optimizer can use to compute a solution.
|
| sn_schedule_optim.run_summary_packet_size | Controls how many records are grouped when generating optimization run details.
|
| sn_schedule_optim.scheduled_state_count_of_task | The number of work order tasks that can be in a scheduled state before being assigned to a technician.
|
| sn_schedule_optim.schedule_optimization_qualifier_type | Specifies whether schedule optimization runs by assignment group or territory.
|
| sn_schedule_optim.schedule_state_type | Determines how tasks are scheduled. The choices are duration or number of tasks.
|
| sn_schedule_optim.scheduling_resolution_time | The number of seconds Schedule Optimization uses to round task start times, travel times, and end times. For example, a value of 60 rounds all start times, travel times, and end times to the nearest minute. A value of 300 rounds them to the nearest 5 minutes.
|
| sn_schedule_optim.logging.verbosity | Sets the level of detail captured in Schedule Optimization logs for each run. The choices are info, debug, warn, and error.
Note: The 'maint' role is required to edit this property. This role is exclusive to internal users. Contact support to make changes. |
| sn_schedule_optim.so_max_solution_threshold | Maximum number of ML solutions that can run simultaneously. When workload distribution is enabled with multiple jobs or multiple optimization modes run concurrently, increase this value.
Note: The 'maint' role is required to edit this property. This role is exclusive to internal users. Contact support to make changes. |
| sn_schedule_optim.enable_qualifier_split | Determines which optimization modes use split qualifiers to distribute workloads across parallel jobs. Choices:
Note:
Split qualifiers work with batch, intraday, and prioritized optimization but not on-demand optimization.
|
| sn_schedule_optim.qualifier_distribution_splits | Number of splits to distribute qualifiers across parallel optimization jobs for each batch or intraday configuration. Higher split counts reduce processing time per job but require more ML capacity. If running
multiple optimization modes simultaneously adjust
Note: The 'maint' role is required to edit this property. This role is exclusive to internal users. Contact support to make changes. |
| sn_schedule_optim.maximum_matrix_size | Determines the maximum number of locations that can be queried to a third‑party map provider when computing travel estimates.
|
Performance-related Schedule Optimization properties
| Property | Description |
|---|---|
| com.glide.event_manager.sn_schedule_optim.data_queue_1.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_1.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_1
|
| com.glide.event_manager.sn_schedule_optim.data_queue_2.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_2.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_2
|
| com.glide.event_manager.sn_schedule_optim.data_queue_3.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_3.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_3
|
| com.glide.event_manager.sn_schedule_optim.data_queue_4.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_4.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_4
|
| com.glide.event_manager.sn_schedule_optim.data_queue_5.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_5.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_5
|
| com.glide.event_manager.sn_schedule_optim.data_queue_6.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_6.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_6
|
| com.glide.event_manager.sn_schedule_optim.data_queue_7.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_7.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_7
|
| com.glide.event_manager.sn_schedule_optim.data_queue_8.claim_limit | This property controls the number of Data Processing events that are captured and processed in a single background transaction. If the property is set to 100, the event handler will grab and process the first 100 Data
Processing events from the queue in one background transaction.
|
| com.glide.event_manager.sn_schedule_optim.data_queue_8.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.data_queue_8
|
| com.glide.event_manager.sn_schedule_optim.event_queue_1.claim_limit | Controls the number of Solution Processing events grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_1.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_1.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_2.claim_limit | Controls the number of Solution Processing events grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_2.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_2.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_3.claim_limit | Controls the number of Solution Processing events grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_3.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_3.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_4.claim_limit | Controls the number of Solution Processing events grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_4.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_4.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_5.claim_limit | Controls the number of Solution Processing events grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_5.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_5.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_6.claim_limit | Controls the number of Solution Processing events grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_6.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_6.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_7.claim_limit | Controls how many Solution Processing events are grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_7.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_7.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_8.claim_limit | Controls the number of Solution Processing events grabbed by its event handler and processed in a single background transaction.
|
| com.glide.event_manager.sn_schedule_optim.event_queue_8.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_queue_8.
|
| sn_schedule_optim.data_processor_number_of_queues | Number of queues for data processing Enables performance improvement for end to end optimization.
|
| sn_schedule_optim.solution_processor_number_of_queues | Number of queues for solution processing (task updates). Increases the number of custom queues (up to 8) for processing optimization solution and speeding up optimization by allowing more parallel processing during
solution processing flow.
|
| sn_schedule_optim.solution_processor_packet_size | Packet size to group events for solution processing (task updates). Sets the packet size for grouping events in solution processing, defining the capacity of each custom queue. It aims to distribute solution processing as widely as possible across the available custom queues specified in sn_schedule_optim.solution_processor_number_of_queues."
|
| sn_schedule_optim.map_vendor_call_types | Controls whether a synchronous or asynchronous call type is made to the map vendor. Changing the default value of sync to async can improve performance and may result in more outbound requests.
|
| sn_fsm_map_integr.logging.verbosity | Captures additional logs for troubleshooting purposes. It is used for integration calls to map providers such as Beans.ai or Google, providing detailed insights to help diagnose and resolve issues.
|
| sn_schedule_optim.qualifier_data_agent_entity_split | Indicates how many sets of agents will be processed simultaneously in an optimization run, improving performance.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_1.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_1.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_1.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_2.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_2.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_2.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_3.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_3.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_3.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_4.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_4.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_4.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_5.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_5.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_5.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_6.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_6.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_6.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_7.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_7.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_7.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_8.claim_limit | Specifies the number of break processing events in a single background transaction when updating technician schedule attributes such as travel duration and travel home duration.
|
| com.glide.event_manager.sn_schedule_optim.event_attr_queue_8.even.load.distribution.enabled | Controls balanced events load distribution for custom queue sn_schedule_optim.event_attr_queue_8.
|