Delhivery is one of the largest tech-driven logistics companies, backed by FedEx and SoftBank. Know More →

    Back to blogs

    Your Visibility Feed Knows Where the Truck Stopped, Not Why

    October 12, 2026•6 min read

    A trailer has been sitting inside the geofence at your Memphis DC for three hours and forty minutes. Your visibility platform raised an alert at the two hour mark, and it has been in a queue ever since, alongside forty others that look exactly the same.

    The alert is accurate and it is nearly worthless. It reports that a threshold was crossed. Somebody on your team still has to call the carrier to learn whether the dock is backed up, the paperwork was rejected, or the driver arrived four hours early for an appointment that was never his.

    An alert is a threshold, not a finding

    Most track and trace runs as rules over telemetry. A position ping crosses a polygon and the system writes an arrival. The ping stops moving and a timer starts. The timer passes a number somebody configured during implementation, and an exception appears in a list.

    Every one of those steps is correct, and none of them is an explanation. The rule knows a vehicle is stationary at a set of coordinates. It has no basis for deciding whether that is normal for this facility, this hour, this commodity or this trailer.

    The limitation is old and well documented. FreightWaves reported in August 2023, when FMCSA laid out the design of a new detention study, that the agency's 2014 effort could not separate legitimate loading and unloading time from excess waiting. Dwell data on its own does not say which minutes were earned.

    Volume is what makes the gap expensive. The American Transportation Research Institute's detention study, released on September 10, 2024 using 2023 data, found drivers were detained at 39.3 percent of all stops, rising to 56.2 percent for drivers pulling refrigerated trailers and 42.5 percent at fleets operating in the spot market. ATRI put the lost time in for-hire trucking above 135 million hours, worth $3.6 billion in direct expense and $11.5 billion in lost productivity.

    The standard has a field for why, and it is optional

    Carriers do send status messages, and the EDI 214 has somewhere to put a reason. In the X12 standard, the AT7 segment pairs AT7-01, the shipment status code, with AT7-02, the shipment status or appointment reason code. Both elements are conditional. If one is present the other is required, and the segment is entirely free to carry neither.

    What actually arrives depends on who you trade with. Published 214 guides from e2open and Unilever list AG for consignee related, AH for driver related and AM for shipper related. Other implementation guides, Sysco's among them, use a different subset and never include those three at all.

    Assume the best case, then. You receive a two character code that assigns a party. Consignee related does not tell you the receiving dock lost two lumpers at 14:00, that a pallet failed a temperature check and the load is being reworked, or that the appointment was double booked against a drop trailer that is still in the door. It names a direction, not a cause.

    Where the alert stops and the question starts

    What you need to knowRules over telemetryWhat answering it takes
    Is the vehicle stopped?Yes, from geofence dwellNothing further
    Is this stop abnormal?Only against one fixed thresholdThat facility's own dwell distribution by hour and day of week
    Did the delay begin before the gate?NoTender time, appointment window, departure from the previous stop
    Whose minutes are these?NoAppointment record against gate-in, door assignment, the driver's hours
    Does the next commitment survive?Sometimes, as an ETA shiftRemaining drive time, downstream appointment, receiver cut-off
    Does this become an invoice?NoContract free time, accessorial terms, how the carrier has billed this facility before

    Read down the middle column and the pattern is plain. A rule engine answers the one question that needs no context and declines every question that does.

    The cause is never in the feed that caught it

    Explaining a stop means joining records that sit in systems nobody connected, because each was bought to do something else. The appointment lives in a scheduling portal. The tender and the lead time live in the TMS. The facility's behaviour over the last ninety days lives in whatever anyone bothered to export. The driver's remaining hours live with the carrier. The 214 arrives by EDI, late and thin.

    Consider how the regulator approaches the same question. The FreightWaves account of the FMCSA study describes a design that pulls from electronic logging devices, transportation management systems, vehicle telematics and safety records across roughly 80 carriers and 2,500 drivers over twelve months, and then still puts questions to drivers through their dispatch systems. Four machine data sources, and the design assumes they are not sufficient on their own.

    That is the honest shape of the problem. Reasoning across scattered evidence is work, which is why rule engines were built to skip it and why the skipped work lands on a coordinator with a phone.

    What Chase does with the same feed

    Chase runs execution: track and trace, exception detection and root cause. The dwell breach at Memphis is where his work begins rather than where it ends.

    He pulls the appointment the load was given, the gate-in timestamp, the moment a door was assigned, and the departure from the prior stop. Three different stories fall out of those four facts, and each one calls for something different.

    • Gate-in at 05:50 against an 09:00 appointment. The first three hours belong to the carrier. No action, no alert, and no detention exposure when the invoice turns up.
    • Gate-in on time, door assigned 124 minutes later. The delay is the facility's, the 16:00 delivery in Little Rock is now at risk, and the accessorial is genuinely earned. Chase reschedules downstream and flags the charge as expected.
    • No gate-in at all. The ping is coming from the lot across the road and the arrival record is fiction. Every number derived from it, including the dwell that triggered the alert, needs to be thrown out.

    Chase writes the finding to the shipment rather than to a queue. Cases that need a person get one, with the cause already attached and the next action proposed. Cases that do not need a person get closed with their reasoning on the record.

    The payoff arrives again six weeks later. When the detention line comes in, Penny is not reconstructing a Tuesday in October out of cold timestamps, because the causality was settled while the driver was still at the dock.

    Early enough to change the answer

    Timing decides which options are still open. An exception identified while the tractor is in the yard can still move an appointment, reroute a second stop, or warn a customer. The same exception discovered on an invoice can only be argued about.

    The industry is converging on this. project44's release of March 2, 2026 claims its ocean exceptions agent identifies roll risk up to 35 hours ahead of standard carrier status updates. Take the figure as the vendor's own, but the implication is sound: the carrier's status message is usually the last system to know, and anything built on waiting for it inherits the delay.

    What to do next

    Export last month's exception alerts from your visibility platform and sort them by how they were closed. Count the ones closed with no cause recorded anywhere, then count how many facilities appear in that set more than five times.

    The second list is the real finding. A site generating thirty unexplained dwell alerts a month is not having thirty incidents. It is one condition nobody has characterised, charged to you thirty separate times.

    Book a walkthrough to see Chase work your own exception queue and put a cause against every line in it.