In Resource Scheduling Optimization, dispatchers can lock existing scheduled bookings to Resource, Time or Time Range, or Resource and Time based on their scheduling scenarios.
Once a booking is created, a lock can be set on the Scheduling Lock Options field in the Resource Scheduling Optimization tab of the Bookable Resource Booking record.
There are 4 options:
Before this changes, RSO administrators could select and rank ‘Locked booking’ objective on optimization goal, RSO will try to include locked bookings and optimize together with other bookings. When there are too many locked bookings in optimization scope, it reduces the flexibility of RSO system to generate optimal results. To improve global optimization results, RSO may decide to NOT include some locked bookings in the new proposed schedule, and since RSO will not delete locked bookings either, these locked bookings will be treated as ‘Ignored’. Dispatchers will end up seeing overlapping bookings on schedule board, or technician gets double booked which causes confusions and disruption.
For example, there are two requirements, Repair work (1 hour) and Install boiler (8 hours). We have one resource (Jeff) that works 8 hours per day. If you book repair work (1 hour) to the resource Jeff and lock that booking to Jeff, when RSO runs with the objective of maximizing total working hours, RSO decides to ignore the booking for Repair work (1 hour) and create another booking for Install boiler (8 hours) to maximize the total working hours. Since Repair work (1 hour) gets ignored from the final schedule and not being deleted, Jeff ends up being double booked.
With the improved logic for locked bookings shipped along RSO 3.4.0.8, RSO will ALWAYS include locked bookings in the new proposed schedules, and schedule other bookings around.
In the previous example for Jeff, RSO will make sure that booking for Repair work (1 hour) remains on the schedule, won’t create booking for Install boiler (8 hours) to avoid overlapping.
Excessive use of lock constraints may result in poor optimization of the final schedule. For example: Jeff has low utilization as there isn’t any other requirement can fit into the remaining hours.
Booking lock options should be used wisely to maximize Resource Scheduling Optimization results and minimize interference with other Resource Scheduling Optimization objectives.
Sometimes, dispatchers may lock a booking explicitly without being aware that the locked booking potentially violates certain scheduling constraints.
E,g: skill matching, a booking gets assigned to a technician who does not have the required skill.
In this case, RSO will still respect locked bookings and make sure this locked booking is in the final schedule, as RSO respects user decision of the ‘locked booking’. RSO shows a prompt: “Locked booking is infeasible, has invalid match of resource skill” to let the user decide in case they would like to correct manually and explicitly.
These are some of the new enhancements to allow efficiency in resource scheduling. Do review the detailed documentation on Universal Resource Scheduling for Dynamics 365 Field Service overview – Dynamics 365 Field Service | Microsoft Learn for further information.