Search the documentation

Find a page by title or section.

Planning and dispatch

Stops and sequencing

How stop numbering works, the four ways to reorder a route, what a lock does, and everything a single stop carries.

Updated

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. 1

    Drag the card

    Trips → Create trip → Route

    Right 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. 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. 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. 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 stopUnlocked stop
Optimize may reorder itNo — it holds its positionYes, if it has coordinates
Can be dragged, or dragged pastNo — the drag is refusedYes
Its own fields are rewritten on saveNo — kept as they areYes
Can be removed from the routeNo — unlock it firstYes, while it is still pending
What a lock changes.

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.

SettingWhat it doesIf you leave it empty
TypePickup, dropoff, service and so on — the list is yours to configureThe stop cannot be saved
Linked destinationTies the stop to a saved place and fills its name and coordinatesThe stop is a one-off address
Time on siteMinutes the driver spends there, counted into the scheduleNo service time is added
Window opens and closesThe times of day this stop can be servedArrival time is never flagged
Approach radiusHow close counts as approaching the stopFalls back — see below
Arrival radiusHow close counts as having arrivedFalls back — see below
Dwell timeSeconds inside the radius before arrival is treated as realFalls back — see below
RequiredThe driver cannot skip it — only an admin can, with a reasonOn by default
Tasks in orderThe driver must work through the tasks top to bottomOff by default
The settings on a single stop.

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
Cause

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
Cause

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
Cause

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
Cause

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
Cause

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.