[how it works]
Detect, triage, resolve. In that order, every time.
| Shipment | Issue | Owner | Lane | Carrier | ETA Δ | Action |
|---|---|---|---|---|---|---|
| SHP-48211 | LATE | – | ORD → DFW | Estes | +38h | Assign |
| SHP-48207 | SHORT | JL | ATL → MEM | Saia | +4h | Triage |
| SHP-48198 | MISROUTE | RM | LAX → PHX | Knight | +51h | Reroute |
| SHP-48187 | LATE | JL | ORD → MSP | Dayton | +9h | Watch |
| SHP-48173 | LATE | – | DFW → ELP | Averitt | +26h | Assign |
| SHP-48160 | SHORT | AC | SAV → CLT | XPO | +2h | Resolve |
[01 / detect]
Every feed, one tolerance model
Carrier APIs, EDI 214s, and forwarded status emails stream into a single feed. Anything outside lane tolerance is flagged in minutes, not at Friday's review.
5 min polling cycle on every connected feed
[02 / triage]
Rules in plain fields, not scripts
Lane, carrier, customer tier, dollar value: your rules assign each exception an owner and a deadline, or close it without ever paging one.
0 exceptions sitting unowned in the queue
[03 / resolve]
One thread per shipment, forever
The carrier contact, the customer notice, and the audit trail live in one thread. Close it once; the record stays queryable for the life of the account.
1 thread holding the whole paper trail
Six carriers, one queue. The highlighted row is 38 hours late out of Chicago and about to become a customer call. [illustrative data]