Trips and dispatch
Why a trip refuses to change status, why a stop will not close, and what the conflict and version messages actually mean.
Almost every refusal on a trip comes from one of two places: the status a trip is allowed to move to next, or a precondition that has not been met yet. The message names the rule, but it is easy to miss in a toast. Find your symptom below, and the fix is the sentence under it.
What the status buttons will and will not allow
A trip moves through a fixed set of statuses. There is no route from one status to any other status you like — if the button you want is missing, the trip is in a state that has no path to it. This is the whole table.
| Current status | Can move to | What it checks first |
|---|---|---|
| draft | scheduled, cancelled | A scheduled start time, to schedule it |
| scheduled | assigned, cancelled | A driver, plus vehicle and origin if required |
| assigned | en_route, cancelled | An active vehicle, and the tenant’s start mode |
| en_route | paused, completed, failed | Every stop finished, before it completes |
| paused | en_route, failed, cancelled | A reason, to fail or cancel |
| completed, cancelled, failed | archived | Nothing |
| archived | Nothing at all | Archived is final and cannot be reopened |
Getting a trip to assigned
Before the driver starts
The status change I want is not offered, or is refused outright
The trip is in a status that has no path to the one you asked for.
The message names both ends: "This trip cannot move from 'x' to 'y' status". Check the table above and move through the intermediate status instead — a scheduled trip has to be assigned before it can start. If the message says the trip "has reached a final state", it is archived, and archived is permanent.
Editing the trip will not help either. The edit form refuses a status field with "Trip status can only be changed using the status action buttons", because status changes run guards and write an event that a plain save would skip.
Scheduling a draft trip is refused
The trip has no scheduled start time.
Open the trip, set a scheduled start, save, and then schedule it. A trip with no planned start cannot be placed on a board or checked for conflicts, so this is the one field the draft to scheduled step insists on.
Assigning is refused because a driver is required
The trip has no driver on it yet.
Assign a driver first, then run the status change. The same check runs again at start, so a trip that lost its driver after being assigned will refuse to start with the same message.
If the driver you want is not in the list, they may not be a driver-type user. The trip form rejects any user who is not a driver, with a message saying the selected person is not one.
Assigning or starting is refused because a vehicle is required
Your tenant requires a vehicle on every trip, and this trip has none.
Two things have to line up before a trip can run without a vehicle. Your plan has to include the vehicle-optional entitlement, and the Require vehicle setting has to be turned off. Until both are true, every trip needs a vehicle before it can be assigned or started.
If the setting is locked and cannot be turned off, the entitlement is not on your plan. Contact your administrator, who can see this on the plan page.
Assigning or starting is refused because an origin is required
The Require origin setting is on and the trip has no origin selected.
Origins are optional by default, so this only happens on tenants that have opted in. Either set an origin on the trip, or turn the setting off if your operation does not work from fixed pickup points.
Starting, pausing and finishing
While the trip is running
Starting is refused because the assigned vehicle is not active
The vehicle is inactive or in maintenance, and the start checks its status.
Either set the vehicle back to active, swap the trip onto a different vehicle, or force the start. A forced start is accepted only with an override reason — without one you get a second refusal asking for it, and the reason is written into the trip’s event history.
The driver’s start works but yours does not, or the other way round
The tenant’s trip start mode only permits one of manual or automatic starts.
Trip start mode has three settings. Manual means only a driver-initiated start is accepted and a geofence auto-start is refused. Automatic is the opposite: the trip is expected to start when the driver leaves the origin, and a manual start is refused. Both accepts either.
Change it at Customization → Operations → Trip lifecycle. Note that automatic start also needs an origin with coordinates, and rejects a start from more than 10 km away as a bad GPS fix.
The trip will not complete
One or more stops are still in a non-terminal status.
The message lists the offending stops by number and status. Complete or skip each of them, then complete the trip. A stop counts as finished when it is departed, skipped, failed or cancelled — anything else blocks the trip.
Pausing, cancelling or failing will not save
Each of those three needs a reason, and the field was left blank.
Pause needs a pause reason from the supported list — a free-text value that is not one of them is rejected as invalid. Cancel needs a cancellation reason and fail needs a failure reason, both free text. Cancelling a draft trip is the one exception: drafts cancel without a reason.
Cancelling a trip skipped every remaining stop
Cancelling or failing a trip cascades: all its unfinished stops are auto-skipped.
This is intended, and it is not reversible by un-cancelling — a cancelled trip can only be archived. The skipped stops carry an automatic skip reason naming the trip status that caused it, so the history explains itself. If the work still needs doing, build a new trip for the remaining stops.
Stops, saving and routes
Everything else that refuses
Saving says the trip was modified by someone else
Someone changed the trip between your page loading it and you saving.
Refresh the trip and redo your change. Cooriroo versions every trip and rejects a write that carries a stale version, so two dispatchers editing the same trip cannot silently overwrite each other. On a busy trip this is common: the driver moving through stops bumps the version too.
A stop will not change status
The trip is not active, or the stop has already reached a terminal status.
Stops only move while the trip is en route or paused. If the trip is still assigned, or already completed, the message names the trip status rather than the stop. Otherwise the stop itself is departed, skipped, failed or cancelled, which is final.
A stop also has its own path: pending to en route, then approaching, arrived, servicing and departed. Skipping is allowed from most of them; marking a stop failed is only allowed once it is en route or servicing.
A stop will not depart, or a driver cannot skip a required stop
Departure checks the stop’s tasks, and required stops need an admin to skip.
Departing a stop first auto-skips its optional tasks, then refuses if any required task is still unfulfilled — the message lists them. Complete them, or waive the proof, then depart.
Skipping is separate. Every skip needs a reason, and a stop marked as required can only be skipped by an admin, not by the driver in the app.
There is no route line on the map, or route calculation fails
The trip has no active stops, no route plan yet, or maps are not configured.
The four causes, in the order worth checking:
- Every stop is already finished. Routing only uses active stops, so a trip whose stops are all departed or skipped has nothing to draw.
- The trip has no route plan yet. Calculate a route before asking for its ETAs or deviation.
- Route preview needs at least two active stops; a full route calculation needs at least one.
- Maps are not configured for this environment, which reports the service as unavailable rather than as a validation error. That one is for your administrator.
Terminology
Your organisation can rename these. If your screens say something else, this is what they mean here.
- Trip
- One journey with an ordered list of stops. Your tenant may call these routes, runs or jobs.Rename it in Customization → Terminology
- Stop
- One ordered call within a trip. Your tenant may call these visits, drops or legs.Rename it in Customization → Terminology