Resource Scheduling Optimization scenarios

Completed

One of the main advantages to Resource Scheduling Optimization (RSO) is the flexibility that it provides organizations in determining when and how they're going to use the application. Each organization that is looking to deploy the solution has slightly different needs that not only determine what they want to optimize, but also when and how the jobs should be run.

For example, an organization could have RSO jobs that run once a week or nightly, and it might optimize the schedules for many resources at a time. Another option is that a customer calls in and cancels a request. In this scenario, the cancellation might affect only one resource, or it could potentially affect multiple resources. Depending on its needs, an organization can use Resource Scheduling Optimization in many ways to help enhance its schedule and resources.

While organizations have many different scenarios to choose from when using RSO for schedule optimizations, the most common scenarios that RSO is often used for are:

  • Overnight scheduling

  • Intraday scheduling

  • Condition-based scheduling

  • Cancelation and delays

  • Simulations

Overnight scheduling

Overnight scheduling is probably the most common way of using RSO to optimize schedules. Typically, the optimization job is working with larger amounts of data. For this reason, it's most effective to define schedules that will run RSO jobs after normal business hours. An organization could create a nightly or weekly schedule based on what they want to optimize. Each scheduled job has an attached record scope that defines what resources, requirements, and/or bookings to optimize. When the scheduled job is run, RSO optimizes all items within the scope.

Screenshot of Overnight Scheduling example using RSO to optimize schedules.

For example, an organization might have a weekly schedule that runs on Sunday evenings. The job is set to schedule any unscheduled items that are set to Ready to Dispatch and to optimize all currently scheduled bookings for internal user resources only.

On Monday through Thursday evenings, different jobs run, which optimizes the currently scheduled items. Overnight scheduling schedules items in the Washington Territory that have a status of Ready to Dispatch for all Washington resources. This method can be useful because it readjusts schedules based on scheduling changes that occur throughout the day.

When dispatchers arrive in the morning, they can view the results on the schedule board and see how the items were scheduled. If they notice anything that needs to be changed, they can use tools like the Schedule Board, Schedule Assistant, or RSO to adjust the schedules of different resources as needed.

Intraday scheduling

Throughout the day, an organization might have multiple new items that come in and need to be scheduled. Some of those items might not require immediate scheduling and could wait to be scheduled until the overnight scheduling job is run in the evening. However, other jobs might need to be scheduled immediately. In these instances, an organization can choose to create intraday schedules.

Unlike overnight scheduling that typically runs after hours, intraday scheduling runs throughout the day (such as every hour or half hour) and typically impacts a smaller subset of data such as High Priority or Emergency items.

Screenshot of Intraday Scheduling example for jobs that need to be scheduled immediately.

For example, an organization has a policy to schedule High Priority items immediately because they're associated with contract customers or emergency situations. Non-high-priority work orders have a little more flexibility.

In this instance, the organization might define:

  • An intraday schedule that runs every 30 minutes throughout the day and schedules any unscheduled High Priority items.

  • A second intraday schedule that runs every two hours and schedules all new unscheduled items.

  • A final job that runs over lunch that schedules any currently unscheduled items and performs some basic optimization for the rest of the day.

As the day progresses, dispatchers can see these new items that are scheduled on the Schedule Board, and they can choose to make any manual adjustments if necessary.

Condition-based scheduling

Contrary to intraday scheduling, where an organization sets up a predefined schedule for jobs to run throughout the day, some scenarios exist where an organization doesn't have the flexibility to wait for a scheduled job to start. In these scenarios, an organization might trigger and run an optimization job in response to a specific occurrence, such as the creation of an emergency item.

Screenshot of Condition Based Scheduling example of an optimization job in response to a specific occurrence.

For example, by using a workflow automation application such as Power Automate, an organization might define an automated procedure to run an optimization job anytime an item that is flagged as an emergency item is created. The optimization job is also set to only include requirements that are flagged as emergency jobs.

By triggering the automation in this way, the application schedules the emergency item for the most appropriate technician based on the defined criteria in the application.

Cancellation and delays

Another common scenario that can potentially affect current and future scheduling is a customer cancellation or some type of delay. For example, a traffic delay or when an existing job takes longer than expected. Depending on the scenario, resources involved, and length of delay (and so on), these items can potentially affect multiple resources. In this case, an organization can choose to use condition-based scheduling, define an intraday schedule, or deal with the change manually.

Often, however, cancellations or delays generally affect a single resource. In these instances, it can be easier to use RSO's single resource optimization feature to fill in any gaps and optimize the resources schedule for the rest of the day. Single Resource Optimization lets an organization select an individual resource and run an optimization job based on an individual resource only.

Screenshot of Cancellation and Delays example of an optimization job based on an individual resource only.

For example, a dispatcher receives a call from a customer at 11:00 AM. A technician named Edgar is scheduled to come on site at 1:30 PM to work on a preventative maintenance issue. The customer indicates that 1:30 PM no longer works and they need to cancel. Edgar now has a schedule gap during that time. With Single Resource Optimization, a dispatcher can select Edgar and then optimize only Edgar's schedule for a specific time frame or for the rest of the day, if needed. Existing bookings are moved. The items only affect Edgar, not other technicians.

Run as simulation

A typical organization likely has many different optimization jobs that are defined for it. As mentioned previously, many of these jobs are built and targeted for specific situations and scenarios. As the name suggests, the goal of any RSO job is that after the job runs, the result delivers a more efficient outcome than before the job was applied. However, depending on factors, different RSO jobs might provide different results. One result might be more efficient than another, or in some cases, the current scenario might be the most efficient outcome.

For these instances, an organization might find that it's more beneficial to run an RSO job as a simulation. The simulation shows you what the results would look like if that job was applied. By using the data that is displayed as part of the simulation, dispatchers can evaluate the results and determine if they're indeed the best option.

Screenshot of Simulating Results example used by dispatchers to evaluate the results and determine the best option.

If the simulated results are indeed the best outcome, they can be applied to the simulated results directly from within the schedule board. This method allows dispatchers to truly identify which options work best for them.