Scheduling Automation
Creating a daily task schedule for technicians can be time-consuming when you must review task lists, identify technicians with the required skills and availability, and account for travel time between tasks.
Accruent Field streamlines this process by allowing you to schedule tasks quickly based on predefined rules.
Scheduling automation includes multiple methods, depending on the use case:
- Technician Recommendations: When you assign a single task manually, you can view a list of recommended technicians for that task.
- ZScheduler: When you schedule tasks in bulk or use scheduling-related recommendations, the system uses the ZScheduler engine.
Both automated scheduling methods are described in the following sections.
Manual scheduling with technician recommendations
When you assign tasks manually, you can use Technician Recommendations to view a list of recommended technicians for each task. This feature helps you assign individual tasks more efficiently.
You can access Technician Recommendations from the Schedule & Assign side panel in multiple modules.
Access technician recommendations from List view
- Go to Task Scheduling > List view > Open Tasks.
- Hover over the task you want to schedule, and then select Schedule & Assign to open the scheduling side panel.
- Select View Technicians.
Access technician recommendations from Calendar view
- Go to Task Scheduling > Dispatch Console > Calendar view.
- Select the task you want to schedule. The task must have a status of Open or Scheduled.
- Select Schedule & Assign to open the scheduling side panel.
- Select View Technicians.
Access technician recommendations from Map view
- Go to Task Scheduling > Dispatch Console > Map view.
- Hover over the task you want to schedule, and then select Schedule & Assign to open the scheduling side panel.
- Select View Technicians.
How technician recommendations work
The Technician Recommendations engine filters technicians based on predefined criteria, also known as base filters. These filters exclude technicians who do not meet the requirements for the task, such as those who do not have the required skills, are not in the correct region or work group, or are outside the defined proximity to the task location.
After applying the base filters, the engine evaluates the remaining technicians using predefined scheduling optimization methods. These methods rank technicians based on factors such as utilization rate, travel time, and experience.
You can configure the scheduling optimization methods and base filters in Settings > Scheduling Settings.
Base recommendation filters
Availability
Technicians must be available during the scheduled time of the task. A technician is considered available when all of the following conditions are met:
- Within the technician’s normal shift or planned overtime
- No conflicting tasks assigned
- Not on planned leave
- Not on a public holiday
Technicians who are not available are not included in recommendation results.
Required skills
Technicians must have the required skills and skill levels associated with the task type.
Technicians who do not have the required skills are excluded from recommendations. Administrators can disable this filter in Settings. If a task does not require specific skills, all technicians are eligible regardless of this filter.
Work group
If work groups are configured, technicians must belong to the appropriate work group for the task. The system determines the correct work group based on attributes such as customer, work order type, task type, and site region.
For example, if work groups are configured by region, the technician must belong to a work group that includes the region associated with the customer site where the task is performed.
Region via contractor
If a technician is associated with a contractor, the contractor’s regions must include the region of the customer site. Otherwise, the technician is excluded from recommendations.
Proximity
Technicians must be within a defined proximity to the task location.
- Technicians outside the defined proximity are excluded.
- If no tasks are assigned for the day, the system calculates proximity based on the distance between the technician’s home base and the customer site.
- If tasks are already assigned for the day, the system calculates proximity based on the distance from the previous task location to the new task.
Scheduling optimization methods
When you use Technician Recommendations, you can select from predefined scheduling optimization methods to further refine the list of recommended technicians.
To change the default optimization method, go to Settings > Work Order Settings > Scheduler Settings.
Experience score
This score reflects a combination of a technician’s experience at the customer site, experience performing similar tasks, first-time fix rate, and skills.
Utilization rate
This metric helps balance workload across technicians. Technicians with lower utilization are prioritized to maintain an even distribution of tasks.
Predicted travel time
This metric represents the estimated travel time between tasks or from the technician’s base location. The estimate may change based on schedule adjustments, but it helps identify technicians who are likely to be near the task at the scheduled time.
Note: Scheduling optimization methods only apply to tasks with a predefined scheduled start date and time.
Auto schedule tasks with ZScheduler
You can use ZScheduler to automate the scheduling and dispatching of multiple tasks. Unlike Technician Recommendations, ZScheduler uses a different recommendation logic designed for bulk scheduling scenarios.
You can auto schedule tasks from multiple modules.
Auto schedule tasks from List view
- Go to Task Scheduling > List view > Open Tasks.
- Select Auto Schedule to open the scheduling side panel.
- Select the tasks you want to auto schedule using the available filters.
Auto schedule tasks from Calendar view
- Go to Task Scheduling > Dispatch Console > Calendar view.
- Select Auto Schedule to open the scheduling side panel.
- Select the tasks you want to auto schedule using the available filters.
Filter and select tasks for auto scheduling
After you open the Auto Schedule side panel, select the tasks to schedule using the available filters.
First, select the auto scheduling method:
- Schedule and assign tasks: Schedules tasks that do not have a scheduled start date and time. The system selects the most suitable technician and time to maintain an optimized schedule.
- Assign pre-scheduled tasks to technicians: Assigns tasks that already have a scheduled start date and time to the most suitable technician.
You can then refine task selection using the following filters:
- Time frame: Select a time range to schedule or assign tasks. You can schedule tasks for up to the next 10 days.
- Regions: Filter tasks by one or more regions based on the region of the associated customer site. To include all regions, select All Regions.
- Task type: Filter tasks by one or more task types. To include all task types, select All Task Types.
- Status: Filter tasks with a status of Open or Open and Scheduled.
After you select the required filters, select Preview Tasks to view the list of tasks that will be processed by the auto scheduler.
Preview and auto schedule selected tasks
After you select Preview Tasks, the system displays a list of tasks that match the selected filters.
You can then select which tasks from the list to auto schedule.
After you select the tasks, select Continue to run the auto scheduler.
Important: The auto scheduling process may take several minutes, depending on the number of selected tasks. While the scheduler is running, the task status changes to Auto Scheduling, and the tasks are temporarily unavailable for manual scheduling until the process is complete.
How ZScheduler works
ZScheduler auto-schedules multiple tasks and technicians at the same time. It is optimized to reduce travel time and maximize the number of tasks scheduled each day.
ZScheduler uses the following parameters to optimize scheduling.
Task parameters
- Location: The coordinates or location of the task. ZScheduler looks for technicians near the task location to optimize travel time.
- Duration: The estimated duration of the task in minutes. ZScheduler uses this value to calculate the availability of technicians for the task.
- Appointment windows: The appointment window selected by the customer when booking the task, if available. ZScheduler uses this information to find technicians who are available during the selected window.
- SLA deadline: The SLA deadline for the task, if available. ZScheduler uses this value to optimize task scheduling and minimize SLA breaches.
- Service window at the task location or customer site: The service window that determines when the customer site is available for work, if available. ZScheduler uses this information to identify technicians who are available during the same window.
Technician parameters
- Start location: The coordinates or location of the technician’s base location. ZScheduler uses this value to determine where the technician starts the work day.
- Availability and working hours: The technician’s availability determines whether a task falls within the technician’s working hours and whether the technician is a candidate for task assignment.
- Lunch and breaks: Optional lunch or break hour guidelines that allow ZScheduler to plan the technician’s schedule around breaks.
- Unavailable hours: Unavailable hours determine whether a task falls outside the technician’s working hours and whether the technician is excluded as a candidate for task assignment. Unavailable hours can include:
- Leave
- Existing tasks
- Other unavailable time, such as time assigned to a crew
Other parameters
ZScheduler also considers the following additional parameters.
- Constraints: Scheduling constraints that may affect task assignment, such as skills, work groups, and permissions.
- Maximum proximity between task and technician location: The maximum distance a technician may need to travel from their location to the task location.
- Percentage of working time per technician to be used per day: The maximum percentage of a technician’s working hours that ZScheduler can use to schedule tasks. This parameter helps keep part of the technician’s time unassigned for break or emergency tasks.
- Maximum overtime buffer allowed per day in minutes: The maximum duration by which a technician’s working hours can be extended to accommodate a task with an appointment window or SLA deadline.
View auto scheduling feedback and logs
After the auto scheduler runs, the system creates a log that shows the results of the run and provides feedback on why certain tasks were not scheduled.
You can use these logs to review audit results or review tasks that remain unscheduled.
View auto scheduling flow
After an auto scheduling run completes, the system triggers a notification linked to the scheduler log for that run.
To view the results from the notification:
- Wait for the auto scheduling run to finish.
- Select the Notification to open the results side panel.
- Select the Unscheduled tab to view tasks that were not scheduled.
- Select View Details to see the reasons a task was not scheduled.
To access scheduling logs outside of the notification workflow, go to Task Scheduling > Logs, and then select the record associated with the scheduler event you want to review.
Scheduler event types
Auto scheduling events are classified into the following types:
- On-demand: schedule and assign tasks: Triggered manually when you select the Schedule and Assign Tasks auto scheduling method.
- On-demand: assign tasks: Triggered manually when you select the Assign Pre-Scheduled Tasks to Technicians auto scheduling method.
- Recommendation based: Triggered automatically by the system based on a recommendation.
Understand scheduler event logs
The scheduler event side panel provides detailed information about each auto scheduling event.
- Initiator: Identifies how the event was triggered. If triggered manually, the system displays the user name. If triggered automatically, the system displays Automation.
- Total tasks to schedule: The total number of tasks sent to the auto scheduler.
- Tasks successfully scheduled: The number of tasks that the system successfully scheduled.
- Tasks failed to schedule: The number of tasks that the system could not schedule.
- Started on and completed on: The date and time when the scheduling event started and completed.
View unscheduled task feedback
You can view the reasons why a task was not scheduled.
- Go to Task Scheduling > Logs > Scheduler Logs.
- Hover over the task you want to review, and then select View.
- Select the Unscheduled tab.
- Select View Details to view the reasons the task was not scheduled.
Out-of-the-box recommendations for dispatchers
Recommendation Center provides a set of predefined recommendations that use ZScheduler to assist dispatchers in managing tasks and schedules.
Long-running tasks
This recommendation identifies tasks that are not submitted within 30 minutes after the scheduled end time by default.
You can accept the recommendation to extend the estimated task duration and reschedule or reassign affected tasks on the technician’s calendar.
Missed scheduled start time
This recommendation applies to tasks that have passed their scheduled start time by one hour by default without being started.
The system automatically reschedules and reassigns these tasks within their SLA, and sends a passive recommendation to notify dispatchers of the change.
Critical priority tasks
This recommendation alerts dispatchers when urgent tasks are created and automatically adjusts the schedule to accommodate them.
- If a task is created with a Critical priority, the system triggers an active recommendation.
- When you accept the recommendation, the system assigns the task to the most suitable technician available at the scheduled time.
- If no technician is available, the system moves an existing Low or Medium priority task out of the schedule to make room for the Critical task.
- The displaced task is then rescheduled or reassigned based on its SLA deadline.
Tasks at risk of SLA breach
This set of recommendations alerts dispatchers when a task is at risk of breaching its SLA.
- The system sends an active recommendation to schedule and dispatch tasks with an SLA deadline within 24 hours and a status of Open, Reopened, or Discontinued.
- The system sends an active recommendation to dispatch tasks with an SLA deadline within 12 hours and a status of Scheduled.
- The system sends a passive recommendation to review tasks with an SLA deadline within one hour and a status of In Transit or In Progress, and related statuses.
Scheduling settings for technician recommendations
The following settings let you configure different aspects of scheduling automation in Task Scheduling. These settings are used by the Technician Recommendations engine.
Use skills
When this setting is turned on, technicians must have the required skills and skill levels associated with the task type.
Technicians who do not have the required skills are excluded from recommendation results.
Define the minimum proximity
Define the minimum distance between the technician’s current location or base location and the task location. The task location is based on the customer site associated with the task.
Technicians outside this range are excluded when you run Technician Recommendations.
Select a primary optimization method
When you use Technician Recommendations or ZScheduler, you can select from predefined scheduling optimization methods that further refine the list of recommended technicians.
Experience score
This score reflects a combination of a technician’s experience at the customer site, experience performing similar tasks, first-time fix rate, and skills.
Utilization rate
This weekly metric helps balance workload across technicians. Technicians with lower utilization rates are prioritized to maintain an even distribution of tasks.
Predicted travel time
This metric represents the estimated travel time between tasks or from the technician’s base location. The estimate may change based on schedule adjustments, but it helps identify technicians who are likely to be near the task at the scheduled time.
Overtime
If overtime is disabled, the auto scheduler does not assign a task to a technician if the expected task duration extends beyond the technician’s shift.
For example, if a task starts at 4:30 PM with a duration of one hour, and the technician’s shift ends at 5:00 PM, the system does not assign the task because the completion time falls outside the shift.
If overtime is enabled, the auto scheduler can extend a technician’s shift duration. In this case, the technician becomes eligible for the task if the configured overtime limit allows it.
Maximum overtime buffer allowed in minutes
This setting defines the maximum amount of time a technician’s shift can be extended to complete a task scheduled outside standard working hours.
Experience score sample calculation
The following example shows how the system calculates the experience score using sample data.
Task and site values
| Field | Value |
|---|---|
| Task ID | TSK000123 |
| Customer site name | Foxhall |
| Task type | Corrective Maintenance |
Experience score factors
The system calculates experience scores based on customer site history, task type history, and first-time fix rate. Each factor represents the number of tasks completed by technicians.
The maximum score for each factor is based on the highest number of completed tasks by a single technician.
Customer site history calculation
This factor is based on the number of tasks a technician has completed at the customer site. The technician with the highest number of completed tasks defines the maximum score.
| Technician | Customer site history (number of tasks) | Computation | Score (percentile) |
|---|---|---|---|
| Chris Hemsworth | 5 | 5/5*100 = 100 | 100 |
| Robert Downey Jr | 2 | 2/5*100 = 40 | 40 |
| Scarlett Johansson | 0 | 0/5*100 = 0 | 0 |
Task type history calculation
This factor is based on the number of tasks a technician has completed for the specific task type. The highest number of completed tasks defines the maximum score.
| Technician | Task type history (number of tasks) | Computation | Score (percentile) |
|---|---|---|---|
| Chris Hemsworth | 2 | 2/3*100 = 66.67 | 66.67 |
| Robert Downey Jr | 3 | 3/3*100 = 100 | 100 |
| Scarlett Johansson | 1 | 1/3*100 = 33.33 | 33.33 |
First-time fix rate calculation
This factor is based on the number of tasks a technician completed correctly on the first attempt. The technician with the highest value defines the maximum score.
| Technician | First-time fix rate (number of tasks) | Computation | Score (percentile) |
|---|---|---|---|
| Chris Hemsworth | 1 | 1/2*100 = 50 | 50 |
| Robert Downey Jr | 1 | 1/2*100 = 50 | 50 |
| Scarlett Johansson | 2 | 2/2*100 = 100 | 100 |
Final experience score
The system calculates the final experience score as the average of all experience factors, normalized against the highest average score.
| Technician | Average | Computation | Final experience score (percent) |
|---|---|---|---|
| Chris Hemsworth | 72.26 | 72.26 / 72.26 * 100 = 100 | 100 |
| Robert Downey Jr | 63.33 | 63.33 / 72.26 * 100 = 87.65 | 87.65 |
| Scarlett Johansson | 44.44 | 44.44 / 72.26 * 100 = 61.5 | 61.5 |