On Thursday the gauge at Kaub read four centimeters, the lowest reading in a series that goes back to 1880. Kaub is the shallow point every barge heading up the Rhine to Germany and Switzerland has to clear, and by the end of last week the port of Duisburg was loading vessels to about a third of their normal capacity. Cargo that had a barge leg booked did not stop moving. It moved by rail and by road instead, on somebody else's equipment, under a different reference number.
That is the moment most tracking setups quietly fail. The shipment is fine. The record of the shipment is not.
A corridor closing is now a planning assumption, not an event
The Rhine has spent 74 days this year below 78 centimeters, the level at which barge operators have to cut loads by around 30% to get through. The comparable stretch during the 2022 energy crisis was 41 days. Whatever you call that, it is no longer the exception you plan around once and forget.
The operational consequence is not really the reroute. Teams are good at reroutes. Somebody finds rail capacity out of Rotterdam, somebody books trucks, the freight moves. The consequence is that the moment cargo leaves the mode it was booked on, the thread connecting it to the order breaks, and nobody notices for three days. The same failure shows up whenever a schedule changes underneath you, which is why it is worth catching a blank sailing or port omission early rather than discovering it at the terminal.
Why the record breaks at the switch, not during the leg
Tracking systems are organized by carrier, not by cargo. A barge operator tracks barge movements. A rail operator tracks wagons. A trucking company tracks its own trucks and its own bill of lading number. Each is accurate about the part of the journey it owns, and none of them knows the pallet on its truck was on a barge on Tuesday.
So when the mode changes, four things happen at once. The reference number changes, and in air it changes twice, since an air freight shipment carries both a master and a house waybill. The responsible party changes. The event vocabulary changes, because "gate out" and "wagon released" and "vessel departed" are not the same shape of data. And the estimated arrival that finance and customer service are both quoting goes stale, with nothing to signal that it has.
This is the ordinary version of a problem that shows up at the end of every ocean journey too, where tracking a container after it arrives at the port means stitching together drayage, rail and receipt from parties who have no reason to talk to each other. A forced modal shift is the same failure, earlier and with less warning.
The fix is not more tracking. It is normalization: taking the events each party already publishes and mapping them onto one shared vocabulary, keyed to the order rather than the conveyance. This is the specific job a command center like Orkestra does before it does anything else, because until a rail event and a barge event are the same kind of object, no downstream view of the shipment can be trusted. With 200+ pre-built carrier and system connectors feeding one normalized record, a mode change becomes another event on a timeline rather than the end of one.
Find the shipments that are exposed, not the ones already stuck
The first question after a corridor closes is the one most teams cannot answer quickly: what have we got in there right now, and what is routed through there in the next three weeks?
Those are different lists and both matter. The cargo already sitting at Duisburg is visible because somebody is shouting about it. The cargo still on a vessel bound for Rotterdam with a barge leg booked for the 12th is the expensive one, because there is time to change it and nobody is looking. Pulling that list means querying by route segment and planned mode across every open order, not by exception status, which usually means joining shipment data to purchase orders that live in the ERP.
Teams that can only see exceptions after they fire are working from the wrong list. Across the industry, 62% of supply chain exceptions are detected only after they have already affected the customer, which is what happens when the only signal you have is a missed milestone.
Decide what actually has to move
Once you have the exposed list it will be longer than your capacity to act on it, and everything on it will look urgent. It is not. A modal shift costs money and time on every shipment it touches, so the shipments worth re-planning are the ones where the alternative is worse.
The sort order that holds up is consequence, not lateness: what stops a line, what breaches a customer commitment with a penalty attached, what expires, what is already covering a stockout. Everything else can take the slower routing and a revised ETA, provided somebody tells the customer. This is the same triage discipline that applies when everything is late at once, and the reason it is worth having an exception view that ranks by business impact rather than by how loudly a status field is flashing.
That ranking is what turns a corridor closure from a week of firefighting into a morning of decisions. It is also the job Orkestra's exception management does: detecting affected shipments as the disruption develops, scoring them by what they hold up, and routing each one to the person who can act. DBW Advanced Fiber, running full EU to North America visibility on Orkestra, took 18% out of its supply chain cost after moving off spreadsheets and onto a real-time record.
Keep one timeline across the switch
The re-plan is only half the work. The other half is making sure the new leg attaches to the old one, so that in two weeks there is a single answer to "where is order 4417 and when does it land".
Three things make that hold. Carry the order reference, not the carrier reference, as the primary key, so a new bill of lading joins an existing thread instead of starting one. Record the mode change itself as an event with a timestamp and a reason, because the ETA jump will otherwise look like a data error downstream. And re-baseline the ETA explicitly and publish it, rather than letting the original booked date sit in the system going quietly wrong.
Doing this across parties is the whole difficulty, since the rail operator and the road carrier share no identifier. It is the same problem as unifying carrier and freight forwarder tracking, and the practical test of any multimodal setup is whether it produces one continuous record or three separate ones with a spreadsheet between them. If you are evaluating that capability now, the questions worth asking are in our guide to choosing multi-modal tracking.
Watch the clocks that start when the mode changes
A modal shift starts meters running that nobody budgeted for. Containers that come off water onto rail wait somewhere for a slot, and detention accrues against equipment that was supposed to be back in the pool. Repositioning costs land weeks later on an invoice with no obvious link to the day the barge did not sail.
The clocks are knowable in advance, which is the point. Free time on the equipment, the appointment window at the inland terminal, the date a customer contract lets you revise a delivery commitment without penalty. Teams that track those as countdowns rather than reading them off an invoice afterwards usually find the avoidable cost was concentrated in a handful of shipments.
What to do this week
You do not need a new corridor crisis to test any of this. Take one lane that changed mode in the last quarter and reconstruct it end to end from your own systems. If the switch has become permanent rather than temporary, the follow-on job is re-baselining the lane so your transit times and alert thresholds stop describing the old route. If you can produce one timeline, with the switch marked and a re-baselined ETA, the setup works. If it takes four tabs and a call to the forwarder, that is the gap, and it will cost you the next time a river runs dry.
The corridors will keep closing. What separates the teams that absorb it from the teams that lose a week to it is whether the record survives the switch. That is what Orkestra is built to hold: one normalized view across every carrier and mode, exceptions ranked by what they actually hold up, and an ETA that updates itself when the route changes underneath it.
