Stops and sequencing
How stop numbering works, the four ways to reorder a route, what a lock does, and everything a single stop carries.
A stop is one place the driver visits inside a trip: an address, a position in the route, and the work to be done when they get there. Stops are what the driver app walks through and where proof of delivery is captured.
This page covers the route as a whole — how its order is stored, how you change it, and what each stop holds. Building one from scratch is covered in the trip wizard.
Terminology
Your organisation can rename these. If your screens say something else, this is what they mean here.
- Stop
- One visit inside a trip. Commonly renamed to drop, call, visit or leg — the numbering and ordering rules are unchanged.Rename it in Customization → Terminology
- Destination
- A saved place you deliver to. A stop can link to one, which fills in its name, address and coordinates.Rename it in Customization → Terminology
Numbering: what you see, and what is stored
On screen, stops are numbered 1, 2, 3 and so on. That number is a position: the stop’s rank within the route, recalculated whenever the order changes. It is what the driver app shows, what an error message quotes, and what you should use when talking to a driver on the phone.
Underneath, each stop stores a sequence_number that goes up in tens — 10, 20, 30 — so a stop can be slotted between two others without rewriting every row after it. Those two numbers are not the same, and the gap-based one is never shown to a user.
Moving a stop
Four ways to change the order, meant for different distances. They all edit the same list, so you can mix them freely.
- 1
Drag the card
Trips → Create trip → RouteRight for a nudge of a place or two. A drag that would displace a locked stop is refused outright rather than partly applied, so the route never ends up half-moved.
- 2
Select a stop, then Alt with the up or down arrow
The keyboard answer for someone building twenty routes a day. Click a stop to select it, then step it up or down one place at a time. Escape clears the selection.
- 3
Click the number and type where it should go
Dragging a card from position 47 to position 3 is nine screens of auto-scroll; naming the position is one gesture at any distance. A number beyond the end of the list is read as "last" rather than rejected.
- 4
Let Optimize find the shortest order
Reorders the whole route into the shortest driving sequence. It needs at least two stops with coordinates, leaves locked stops where they are, and offers an undo afterwards. See route optimization for what it can and cannot take into account.
Locked stops
Locking a stop pins it to its place. Use it for the fixed points a route is built around — the 09:00 hospital delivery, the depot return that has to be last — so everything else can be rearranged around them. A lock also protects the stop’s contents: saving a route leaves a locked stop’s own fields exactly as they were.
| Locked stop | Unlocked stop | |
|---|---|---|
| Optimize may reorder it | No — it holds its position | Yes, if it has coordinates |
| Can be dragged, or dragged past | No — the drag is refused | Yes |
| Its own fields are rewritten on save | No — kept as they are | Yes |
| Can be removed from the route | No — unlock it first | Yes, while it is still pending |
What a stop carries
Everything below a stop’s name and address is optional. A type is not: a hand-added stop starts with none, and linking a destination fills the name, address and coordinates but deliberately not the type — a pickup silently saved as a delivery is worse than a card that says the type is missing.
| Setting | What it does | If you leave it empty |
|---|---|---|
| Type | Pickup, dropoff, service and so on — the list is yours to configure | The stop cannot be saved |
| Linked destination | Ties the stop to a saved place and fills its name and coordinates | The stop is a one-off address |
| Time on site | Minutes the driver spends there, counted into the schedule | No service time is added |
| Window opens and closes | The times of day this stop can be served | Arrival time is never flagged |
| Approach radius | How close counts as approaching the stop | Falls back — see below |
| Arrival radius | How close counts as having arrived | Falls back — see below |
| Dwell time | Seconds inside the radius before arrival is treated as real | Falls back — see below |
| Required | The driver cannot skip it — only an admin can, with a reason | On by default |
| Tasks in order | The driver must work through the tasks top to bottom | Off by default |
Saving a route
A route is saved as a whole, not stop by stop. Cooriroo takes the list on screen as the complete intended route: removed stops are deleted, kept stops updated, new ones created, and every position rewritten — in one operation. If any part fails, none of it is applied, so you can never end up with the new stops added and the removed ones still there.
The save is also checked against the version of the trip your page loaded. If someone else changed the trip meanwhile, it is refused and you are asked to refresh rather than silently overwriting their work.
Stop statuses on a running trip
Once a trip is en route its stops advance on their own. Each starts pending and moves through en route, approaching, arrived and servicing to departed. Approaching and arrived are usually set by the geofence rather than by hand.
Three endings close a stop early:
- Skipped — deliberately not done, always with a reason. A required stop can only be skipped by an admin.
- Failed — attempted and unsuccessful, with a reason. A failed stop can be retried, which appends a fresh copy of it to the end of the route linked back to the original, so both attempts stay on the record.
- Cancelled — called off before the driver set out.
Departing a stop is gated on its work. Optional tasks left undone are skipped automatically; required ones are not, and the driver is told which are outstanding. When a stop departs, the next pending stop moves to en route by itself — the driver never has to say they are on their way.
Common route problems
A stop shows no travel time from the one before it
The stop has no coordinates, so it is not part of the calculated route.
Link a destination, search the address, or drop a pin on the map. Unlocated stops are also invisible to Optimize, which is why a route can look optimised and still have a gap in it.
Optimize is greyed out
Fewer than two stops have coordinates.
There is nothing to reorder until at least two stops have a location. Locked stops do not count towards this either, since the optimizer is not allowed to move them.
A stop is flagged as arriving after its time window
The calculated arrival falls outside the window you set.
This is a warning, not a refusal — a late arrival is often exactly what the customer agreed to. Move the stop earlier, trim the time on site upstream, or start the trip earlier if it matters.
Saving the route reports that a locked stop cannot be reordered
A locked stop is not in the position it currently holds on the trip.
Put it back where it was, or unlock it and save again. The check runs on the server as well as in the page, so a lock is a real constraint on the trip rather than a hint in the editor.
A removed stop reappears after saving
The save was refused as a whole, so nothing was applied.
Read the error: usually a stop that has already been started, a locked stop, or the trip having been changed elsewhere. A refusal restores everything, not just the part that failed.
- Route optimizationWhat Optimize takes into account, and what it deliberately does not.
- DestinationsThe saved places a stop links to, and the defaults they carry.
- TasksThe work attached to a stop, and the order it has to happen in.
- Geofences and contactsArrival detection, and who hears about it when a driver turns up.