Configure Routing to Work in a Dispatcher-Free Environment

Sometimes activities are unassigned due to partial violation of work skills or work zones, even if the mobile worker has successfully completed such activities before. Oracle Field Service uses machine learning to assign such activities and make sure that no important activities are left unassigned. Having Oracle Field Service to do this is similar to using a virtual dispatcher or working in a dispatcher-free environment. You can use the Continuous Improvement type of routing plan to configure Oracle Field Service to work in a dispatcher-free environment.

Routing configuration

To work in a dispatcher-free environment, you can configure these fields in a Continuous Improvement Routing plan:

  • In the Run Schedule section, set the value of Apply to activities within given time interval, days to the number, greater than 1.
  • Set the plan as a multi-day plan.
  • Select the Try to assign important activities to mobile workers, even if it violates constraints option in the Assignment Parameters section.
  • Create at least one resource filter and set the Cost of not assigning an activity to High or Highest up to the bucket level.

Training mobile workers

Apart from configuring the Routing plan, your mobile workers must be specifically trained for this. Here are some things you can train them on:

  • Mobile workers must know what to do if the activity assigned to them can't be done either due to unrecoverable work skills and work zones mismatch or due to personal preferences.
  • Mobile workers must have the permissions to move activities back to bucket and/or reassign them to other mobile workers.
  • A mobile worker who gets the activity must do some pre-work before reassigning the activity. They might review the activity description to ensure that work skills and work zones are identified the right way. They might call the customer to ensure that the issue itself is identified correctly and to check if it could be solved over a phone call. The mobile worker can either leave the activity assigned on them or reassign it to another mobile worker, who's better trained and equipped to finish the activity in time.

How does Routing work in a dispatcher-free environment?

Here's how Routing routes activities without the intervention of a dispatcher:

  1. Routing tries to route activities according to the routing plan settings.
  2. If some activities are unassigned, then, if you've selected the Try to assign important activities to mobile workers, even if it violates constraints option in the Assignment Parameters, Routing analyzes the previously-completed assignments of similar activities.
  3. Routing looks for the activities that were assigned with the violations of work zones and/or work skills.
  4. If such activities are found, it runs a routing plan with the changed settings and assigns activities with the violations of work skills and work zones, according to the identified patterns.
  5. If Routing still fails to assign an activity, it assigns to the first available mobile worker according to the routing plan filter, but completely ignoring the activity constraints for work skills, work zones, points, and inventory requirements. You must note here that the activity might also be moved to an earlier date not depending on the routing plan multi-day setting. When it happens, the target mobile worker is expected to review the activity (which might include contacting the customer to update activity properties) and reassign the activity to a suitable mobile worker, if needed.

Routing monitors the activities that were assigned to the first available mobile worker and corrects the assignment rules and patterns accordingly. For example, if a mobile worker continuously rejects that is, unassigns activities back to the bucket either by themselves or with the help of the dispatcher, after some time Routing stops proposing the assignments with work skill or work zone violations to this mobile worker. Other patterns might be time-wise or based on the time left. For example, not to assign activities on a particular day of the week or to assign only those activities that are targeted for tomorrow, allowing the activities planned for later to wait for the appropriate mobile worker.

The assignments made using this Continuous Improvement plan are shown as separate routing runs in the routing runs list, so you can roll them back separately.

Activities considered based on the non-assignment cost

Let’s say you set the non-assignment cost of the activity to High for only a subset of the resource filters and to a lower value for other resources. Such activities are still considered as eligible for machine-learning fallback, but only resources for which the non-assignment costs are High or higher are considered for assignment.

How does this work when the pattern isn’t learned yet?

When Routing hasn’t yet learnt the patterns of how activities are assigned, you must give it some time to learn. Only the activity assignments after you select the Try to assign important activities to mobile workers, even if it violates constraints option are used for pattern recognition. So, you must ensure that at least some activities are assigned with violations manually or through fallback and are completed after you select the option.

Sometimes you may notice that the captured patterns were wrong. This is normal, as Routing is still learning the patterns. Re-capturing the patterns takes some time, so the process runs once a day, typically at night.

If you feel that Routing is capturing incorrect patterns even after a few days, you must check your data. It might be possible that your mobile workers aren't completing the activities in the way you think is right. Further, there are two levels of pattern recognition—per-bucket and company-wide. The per-bucket pattern is used by default. If there aren't enough activity assignments to create a per-bucket pattern, the company-wide pattern may be used.