Dispatching is performed via a number of algorithms that may be specified by a fleet. The algorithms are usually applied in the order as described below. When a booking is matched to a capable & available vehicle then an offer is made.
Penalties for not accepting the work usually apply – this is only not the case for the Cover algorithm, or any booking with a Volunteer attribute. Penalties can also be removed automatically, such as when a driver No Shows a booking however their vehicle must be near the pickup point for this to occur. Penalties are also removed when a driver resubmits a booking with a change to the details – such as a different vehicle type or if the passengers are not ready yet.
Bookings are prioritised by the system according to the following:
1. If a booking is set to No Location Check then it will go out before any other booking that isn’t also No Location Check. It will do this regardless of zones and cover settings that the driver has chosen – it will simply pick the closest eligible vehicle. This is the facility for the fleet manager to use if they need to push a job out without regard to the rest of the dispatching considerations. The system can also auto-escalate jobs to this point after being unallocated for some time (for example 20 minutes).
2. If a booking has an attribute with higher prioritythan another booking then it will go out before the other booking. The booking will only be allocated via the usual dispatching rules show below.
3. If a booking is set to High Priority then it will go out before any other booking that isn’t also High Priority. The system can also auto-escalate jobs to High Priorityafter being unallocated for some time (for example 10 minutes).
4. Bookings are then allocated according to when they first entered the queue – this is the creation time for ASAP bookings and for Prebookings it is the pickup time minus any pre-release time. Prebookings can be given further priority – see the User Configurable Settingssection below. If the booking time (including pre-release) is identical then the booking that was entered into the system first will get precedence.
The following algorithms are checked in the given order when determining where to dispatch a booking. If one algorithm doesn’t result in the booking being offered to a vehicle the server will move to the next algorithm to see if that can provide a match.
1. No Location Check (if applicable)
This algorithm will match any capable vehicle with the closest booking, irrespective of zone layering and cover settings. It is used when a vehicle or driver is specified in the booking, for extremely high priority work (such as Wheelchair work which in some cases must be offered before all other work) and when a booking has automatically been escalated by the system for waiting too long.
2. Same Zone
If a booking is in the same zone as capable & available vehicle/s then it will be offered to the vehicle with the lowest queue position.
3. Plot Held
If a vehicle is currently engaged and has Plotted to the zone that the booking is in, then the system will hold that booking for the vehicle. This is to stop another vehicle being called into the zone when a vehicle has specified that they will be dropping off in that zone. Note that if any other vacant vehicle enters the zone the booking will be immediately released for them. Similarly if the plotted vehicle becomes vacant in a different zone or takes too long to become vacant then the booking will be released for dispatch.
4. Zone Layering
If there is no vehicle in the booking zone, then the system will search for vehicles in adjoining zones as specified in the Zone Layering. At each step if it finds an eligible vehicle then they system will make an offer. If there are multiple eligible vehicles at any step then the vehicle that has the earliest ‘zone entry’ time will get the offer.
- Search layers first in the order specified by the fleet. Start with A
- Then try B and C
- Try zone D
Drivers who are happy to travel for work can enable Cover in their vehicle. They can then specify the straight-line distance that they are willing to accept jobs within (such as 6 k.m. or any). In the example below Car 1 has only specified a 3 k.m. cover distance so will not be offered the job.
Car 2 is also outside of the zone layering for the job, but has specified 5 k.m. as the distance that they are willing to travel, so they will be offered the job. This will be a No Penaltyjob and the driver will not get penalised or lose their queue position if they do not accept the offer. Similarly if they take the offer and resubmit it as unsuitable then they will get back their previous position.
Note that there is normally not much point in having short very cover distances as close jobs will normally be covered by the layers.
If there are multiple eligible vehicles then the algorithm will choose a balance between which vehicle is closest and which has been waiting longest for a job. A driver who has been waiting 5 minutes longer will be given preference as if they were 1 k.m. closer to the job.
An alternative to the automatic cover algorithm is to allow drivers to bid on cover jobs. If it’s enabled and the driver elects to use bidding, they will be sent a summary list of cover jobs that they may bid on. The system will offer the job to the driver who gets a bid in first, then it will send the full details once they accept the offer.
The driver is able to have some control over the type of work that they are offered by Un-ticking Attributes on their Cover screen. For instance when it is busy, the driver of a Maxi / Large Capacity vehicle might un-tick All so that they are only offered Maxior other specialised work.
Note that a fleet manager can override this preference by manually assigning a job to a vehicle or driver. In cases where a vehicle cannot do a type of work (such as when its wheelchair lift is broken) then that is better handled by temporarily removing the attribute from the vehicle via Fleet Management.
User Configurable Settings
Available via Fleet Management
Penalties (in seconds) are set here.
It is possible to limit the number of times an offer is made.
Period Prebook Queue
How long to release a default prebooking before it’s due (in seconds). This is the default value which will be used when a new area is added to the fleet; this default can then be adjusted per area using the dispatch client (F11).
Prebooking Priority Adjustment
How much of a priority to give prebookings over ASAP bookings in the dispatching algorithms. This value is in minutes and gives a boost to prebookings when comparing bookings. A value of 0 means to treat a prebooking the same as an ASAP booking that has been waiting as long. A large value (e.g. 360 minutes = 6 hours) means that prebookings will effectively always have priority over ASAP bookings if they are both in the queue.