FAQ: Schedule Optimization
This section contains frequently asked questions related to Schedule Optimization.
Why are work orders unresourced with the Total Working Hours of the Technician Exceeded violation? 
Perform the following checks if you encounter the issue:
Validate that the technician is available to attend to the work order. If the technician does not have free time in their calendar, the work order is updated with the following violation. :The total Working hours of the technician exceeded.
Validate that the Preferred Start Time (PST) and Preferred End Time (PET) field values of the work order are realistic and feasible.
Verify that the number of qualified technicians is available during the time window of the work order PST and PET.
Verify that the number of work orders is scheduled for the available technician for the PST and PET.
Why are work orders in OPT_TENTATIVE status? 
Validate that the ServiceMax Job is running if you encounter the issue.
Why is the Ranked Appointment Booking page not launching in the customer portal? 
Perform the following checks if you encounter the issue:
Ensure that the job is already running. The job starts running when you launch the Ranked Appointment Booking page. The job run might take some time to start.
Ensure that valid data is available in the following work order fields:
Appointment Type
Primary Territory
Valid Address
Why are work orders scheduled only for a few technicians in Batch Optimization? 
Perform the following checks if you encounter the issue:
Validate the technician's business hours. If the technicians' business hours do not match the work order's access hours, the technicians are not considered for scheduling.
Validate if any non-work order events are created for technicians, such as a holiday or full-day break. In such cases, the technician is not considered as their calendar is already full.
Check the cost factors. The cost factors defined in the dispatch process might impact the scheduling.
Check the required skills in the work orders. If the technicians do not possess the skills required for the work order, work orders are not scheduled for the technicians.
Compare the work order address with the technician's address. If the distance is too high, the work order might not be scheduled for the technician.
Check Mandatory, Preferred, and Excluded (MPX) technician criteria in the work orders. The MPX hard constraint might impact the scheduling.
Why does the appointment booking page display a message? 
The following message is displayed on the Ranked Appointment Booking page when the RTO dispatch process is in the Suspended or the Idle state:
Please wait while the job starts for territory <territory name>.
It means that the job resumption or initiation is triggered depending on the current state. The job starts running in two or three minutes.
When does a job go to Idle state?
RTO job goes into Idle state when all the work orders for the corresponding dispatch process are dispatched, and there are no work orders with Scheduling Status as Tentative to optimize for an hour. This time duration is defined internally and is not configurable.
What is the reason for getting the following error on launching Ranked Appointment Booking? 
This message is displayed when you launch the Ranked Appointment Booking page for a work order that cannot be fulfilled for various reasons. For example, the work order might specify a Required skill, and no technicians in the territory possess the specified skill.
Is it possible that a work order has a dispatch process but is not scheduled by Schedule Optimization? 
Yes. There can be work orders with a dispatch process linked but not scheduled. Work orders with the following statuses are examples of such scenarios:
OPT_SKIPPED
OPT_ERROR
OPT_UNASSIGNED
OPT_BATCH
A technician cannot do a specific type of work for medical reasons. It does not mean they lost the skill. Is there any way to configure Schedule Optimization to exclude a specific technician based on specific criteria? 
Yes. You can use any of the following approaches:
Resource Preference Management: With this feature, you can mark a technician as Prohibited for a work order based on the Account, Installed Product, or Location. For more information, see Resource Preference Management.
Technician Skill Validity: Update the technician skill validity in the technician record by entering a future date as the skill start date. Work orders will not be assigned to the technician as the skill start date is in the future. For more information, see Managing Expertise of a Service Team or Technician.
Does Schedule Optimization give priority to work orders that are already late? 
If there is a late violation on a work order, Schedule Optimization tries to assign the work order as soon as possible to reduce the late violation cost. If a work order that is already late is still not assigned, there can be multiple reasons for scheduling depending on various factors.
What happens when PST is within the scheduling horizon window, but the work order cannot be scheduled because of a lack of capacity? It is understood that Schedule Optimization flags it as a late work order and treats it with higher priority. But, is there a time when it is too late to schedule the work order? 
Yes, a scenario wherein the work order cannot be scheduled even after the SLA is passed because of a lack of capacity or skill requirement. The following is an example:
Create a work order with PST as 25/11 8:00 AM, and PET as 26/11 5:00 PM. The work order has a skill requirement that is not available with any technician on the service team.
The work order is marked as OPT_UNASSIGNED as no technician is available.
As the work order has the OPT_UNASSIGNED status, Schedule Optimization tries to reinject the work order every time there is a technician record update or the job suspend-resume.
Injection of the OPT_UNASSIGNED work order is attempted on 25/11 and 26/11, as the PST and PET values are within the horizon.
On 27/11, the work order is marked as OPT_SKIPPED, as both the PST and PET values are outside the horizon.
Update the SLA of the work order for it to be considered again for scheduling.
For information about SLA fields and their impact on scheduling, see SLA Fields.
What happens when some work orders can be performed at any point in time during the year? Is it possible to specify PST and PET to depict a long period, for example, PST=2020/09/01 and PET=2021/08/31? What happens in such a scenario? Is this work order constantly optimized until the scheduled date is reached? Or is it ignored until PET is in the Dispatch Horizon? 
When you create such a work order, Schedule Optimization sends all the business days through PST=2020/09/01 and PET=2021/08/31 for the work order, but it is scheduled only for days within the horizon. If the dispatch horizon is 15 days and today is 2020/08/31, the work order is scheduled on any day between 2020/08/31 and 2020/09/14. As the horizon is a moving window, the work order might be scheduled on any day between 2020/09/15 to 2021/08/31 when these days are part of the horizon. Scheduling is attempted within the dispatch horizon window as long as the Scheduling Status of the work order is not Dispatched.
For information about SLA fields and their impact on scheduling, see SLA Fields.
Skill Set field value is not populated for work orders having the Locked By DC flag checked. Is this an expected behavior? 
Yes. When the Locked by DC flag is checked, none of the rules are computed. Therefore, the skill set is not populated when the Locked By DC flag is checked on work order creation.
Is it possible to cancel and force-fix Dispatched work orders? 
The following scenarios are possible:
If the AllowManageDispatchedNode server setting is set to FALSE, a Dispatched work order cannot be canceled or force-fixed (manually assigned).
If the AllowManageDispatchedNode server setting is set to TRUE, you can cancel the work orders marked as Dispatched in the last 24 hours.
Why is the event start time in the past? For example, the event was created at 9:43 AM, but the start time is 8:00 AM. 
To keep the data in sync, Schedule Optimization recreates the event for the work order when the event for the dispatched work order is deleted manually.
How to identify non-optimizable events? 
The event status is updated as Non-optimizable. In Dispatch Console, you can use the Event.Status field to set up an event rule to identify such events with a different color.
Is there a way to identify the element that caused the route to be inactive, as all the fixed elements (manually assigned work orders, non-work order events) on that route are updated as non-optimizable? 
There is no specific flag to indicate which element caused the route to turn inactive. However, you can see the status of the element that caused the route to turn inactive updated as non-optimizable first. All the other fixed elements in that route are updated in the next push message.
To provide the possibility to correct a work order assignment that caused a route to become inactive, is there any work order field with a description of the cause of the issue? Does the OptiMax Error Text field provide any useful information regarding this? 
No. The status of the corresponding work order event is updated as Non-optimizable. The cause is not populated on the work order or the event.
Why is the Promised Arrival Window field updated with the message Assigned By DC (now renamed to Tech Assigned by DC/Manually Entered)? 
Assigned by DC message is updated in the work order in the following scenarios:
The dispatch Process field in the work order is blank. AND
The technician field in the work order is NOT blank. AND
The dispatch Status field is NOT New.
Why are updated technician working hours not considered? 
The reason is either of the following:
The job was not suspended and resumed.
No resource update was performed after the business hours of the technician were changed.
For the updated working hours to be considered, perform either of the tasks.
Push messages are not updated in the work orders, causing overlap.
Push messages are not updated in the work order if the OptiMax Status AND Scheduling Change Token fields are blank. In such cases, the work order is considered canceled.
Is coordinates computation for work orders done? 
Schedule Optimization computes coordinates for the work orders that do not have them.
While scheduling work orders manually, the dispatcher might know the drive time needed for the work order. In such a scenario, can the dispatcher specify the drive time manually in the Dispatch Console? Does Schedule Optimization recalculate and override the drive time that was specified manually? 
Drive time is calculated for manually assigned work orders because it is required to determine the travel time from the previous element to the manually assigned work order. Schedule Optimization recalculates and overrides the drive time specified by the dispatcher for manually assigned work orders.
Updates to which technician fields make a callout to the server? 
Updates to the following technician fields make a call to the server:
SVMXC__Latitude_Home__c
SVMXC__Longitude_Home__c
SVMXC__City__c
SVMXC__Street__c
SVMXC__Country__c
SVMXC__Fixed_Cost__c
SVMXC__Per_Hour_Cost__c
SVMXC__Per_Mile_Cost__c
SVMXC__Average_Speed__c
SVMXC__Max_Hours__c
SVMXC__Max_Distance__c
SVMXC__Service_Group__c
SVMXC__Service_Territory__c
Can work order schedules be changed by Schedule Optimization after a manual dispatch? 
Yes. Consider the following scenarios:
Schedule Optimization might change the schedule for a manually dispatched work order if the status of the work order is still Tentative on the server.
If the Schedule Optimization job is in an Idle state and you manually schedule a work order immediately after creating it, the Schedule Optimization job might change the schedule when the job becomes Active. This happens because the manual assignment request was not synchronized to the server. To avoid such a scenario, ServiceMax recommends that you do not manually assign work orders in the OPT_INITIATED state. You can manually assign work orders such as work orders when the job starts running or the OptiMax Status of the work order is updated.
Does the Schedule Optimization job go into the Idle state if there are no new elements in the territory for a period of time? The territory might still have work orders that are optimized for the near future. 
The job continues to run if Schedule Optimization schedules work orders in the Tentative status for the near future, even if no new work orders are created or updated.
What are the Expertise fields that trigger a call to the server when updated? 
When you update the following Expertise fields in the Technician/Resource record, a call to the server is triggered:
Availability Start Date
Availability End Date
Expertise Level
Why is return drive time calculated for non-work order events without location? 
The location of the previous element is considered as the non-work order event's location if the event does not have the location. Hence, if the element before the non-work order event has a location different from the technician's home location, return drive time is calculated if it is the last element in the route.
Why is the Scheduling Status of the RTO work order updated to Cancelled when I clear the scheduling-related fields of the work order? 
Whenever you clear the scheduling-related fields of an RTO scheduled work order, the scheduling status is updated to Cancelled and the Scheduling Change Token is updated to CHANGE_CANCEL_WO. These fields are cleared after a call is made to the Schedule Optimization server.
* 
This behavior applies to all work orders, including the work orders marked as Dispatched in the past or current day and the tentatively scheduled work orders.
What are the possible reasons for a work order to be not considered for scheduling? 
The work order is not considered for scheduling when one of the following might be true
The work order does not qualify for any dispatch process as per the qualification criteria.
The work order has a Required skill populated based on the skill match rule and no technician has that skill in the associated territory.
No technicians in the territory are available.
All the technician routes have become non-optimizable.
The distance between the work order location and the technician location exceeded the maximum distance defined in the technician record.
There is not enough intersection between the work order access hours and the technician working hours.
Work order SLA fields are out of the current horizon. For information about how the SLA fields in the work order impact scheduling, see SLA Fields.
The work order does not contain valid and correct information, such as address, zip, country, latitude-longitude, and service duration.
:
Why is Schedule Optimization not scheduling work orders to technicians with right skills for the job? 
This issue might occur if the work order does not specify any mandatory skill. To drive Schedule Optimization to assign work orders to technicians with right skills for the job, update the work order with Mandatory Skill and Skill Level fields. If these values are specified in the work order, Schedule Optimization takes these into consideration and assigns work orders accordingly.
Was this helpful?