Exceptions
Cooriroo flags trips that go wrong on their own. What raises an exception, and what to do when one lands.
An exception is the system noticing that a trip is not going to plan, without anyone having to watch it. A late departure, a driver stationary for an hour, a stop worked out of order, a phone that has stopped reporting its position — each is detected, classified by how bad it is, and put on a list for someone to deal with. Exceptions are attached to trips, so the tasks on those trips carry the consequences rather than raising exceptions of their own.
Who can do this
- Role
- Administrators
- Permission
trip-exceptions:readtrip-exceptions:write
The tenant-wide exception list, acknowledging and resolving are admin-only. A driver can see the exceptions on a trip they are driving, but cannot close them.
What raises one
Detection runs in three places: when a trip or stop changes state, when a location update arrives, and on a sweep across active trips roughly once a minute. Nothing is raised on a finished trip.
| Exception | What raises it | When it is checked |
|---|---|---|
| Late start | The trip leaves later than scheduled, past the threshold | When the trip starts |
| ETA variance | Arrival differs from the estimate, past the threshold | On arrival at a stop |
| Early or late arrival | Arrival falls outside the stop’s time window | On arrival at a stop |
| Arrival outside geofence | Arrival is recorded away from the stop’s geofence | On arrival at a stop |
| Sequence violation | Stops are worked out of their planned order | On a stop changing state |
| Dwell exceeded | Time spent at the stop overruns its planned service time | On departure from a stop |
| Stop skipped | A stop is marked as skipped | On skipping a stop |
| Route deviation | Position sits off the planned route for several points running | On location updates |
| Speeding | Speed exceeds the configured limit for several points running | On location updates |
| Unplanned stop | Stationary away from any stop for longer than the threshold | On location updates |
| Signal loss | No position reported for longer than the threshold | On location updates |
| Trip overdue | The trip is past when it should have finished | On the periodic sweep |
| Stuck at stop | No movement at a stop well past the expected time | On the periodic sweep |
| No progress | The trip is active but nothing is advancing | On the periodic sweep |
| SLA at risk | The buffer to a promised time has nearly run out | On the periodic sweep |
Severity
Every exception is classified minor, major or critical at the moment it is raised, from how far past the threshold the condition is rather than from which type it is. The same exception type therefore appears at all three severities across a week.
- Time-based exceptions escalate at half an hour and again at an hour of delay.
- Duration overruns escalate at twice and three times the expected time.
- Speeding escalates at twenty per cent over the limit, and again past fifty.
- An SLA risk goes critical as the remaining buffer approaches zero.
Severity is set once and does not drift upward as a situation worsens, so a minor exception raised an hour ago may well describe something that is now serious. Read the detection time alongside the badge.
Working the list
Exceptions have two operator actions: acknowledge, which says someone has seen it, and resolve, which closes it with an explanation.
- 1
Open the exception list
Trips → ExceptionsThe same exceptions also appear on the trip they belong to, and on the destination involved, so you can start from whichever object you were already looking at.
- 2
Filter to Open
Open covers active and acknowledged — everything still needing attention. Critical and Today are the other two quick views. The severity strip above the table doubles as a one-click filter.
- 3
Expand a row before you judge it
Most exceptions carry detail: how many minutes late, how far off route, the scheduled time against the actual one. That detail is what separates a genuine problem from a threshold that needs adjusting.
- 4
Acknowledge what you are taking on
Acknowledging is available on active exceptions and does not close them. Use it when you have picked something up but the situation is still running, so a colleague does not call the same driver.
- 5
Resolve with a real sentence
Resolving demands a resolution note. "Customer rescheduled, driver moved to the next stop" is worth writing; "ok" is not, because in three weeks this note is the only record of what actually happened.
Judgement calls
Situations that come up weekly
The same trip has raised six exceptions and they all describe one problem
One underlying delay trips several detectors in sequence.
This is expected — a late start becomes an ETA variance, then a late arrival, then an SLA risk. Resolve them together with the same note naming the root cause. Repeated identical exceptions are suppressed within the deduplication window, so six distinct rows usually mean six distinct detections rather than one repeated one.
A signal loss exception on a driver who is clearly fine
The phone stopped reporting: no data, backgrounded app, or a dead battery.
Confirm on the live map, then resolve. If it happens on the same handset repeatedly the fix is on the device — background location and battery optimisation — not in the threshold.
Arrival outside geofence keeps firing at one address
The destination’s geofence is drawn too tightly, or centred on the wrong point.
Widen or recentre the geofence on the destination itself. Loading bays and service entrances are often a hundred metres from the pin the address geocoded to.
We are drowning in minor exceptions
Thresholds are tuned tighter than the operation actually runs.
Look at what dominates the list, then move that one threshold to just past normal for your fleet. An exception list is only useful if an empty one is achievable on a good day.
Can an exception be deleted rather than resolved?
Closing an exception is a resolution, not a removal.
There is no delete in the interface, deliberately: the history of what went wrong is worth keeping even when the answer is "threshold was wrong". Resolve it and say so in the note.
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. Exceptions belong to a trip, and close with it.Rename it in Customization → Terminology
- Stop
- One ordered visit within a trip. Many exception types name the stop they were raised at.Rename it in Customization → Terminology
- Destination
- A place goods are delivered to. Its geofence is what arrival-outside-geofence is measured against.Rename it in Customization → Terminology