Seven twelve in the morning, warehouse gate in Stryków, seven sets in the queue. All have a window at 7:00, and the warehouse has two docks and one person on the forklift. The first truck is just driving in, the seventh will leave after ten, and nobody in that chain did anything wrong: every carrier got the window it asked for, and the warehouse published the slots it had in the spreadsheet.
I write this from the dispatcher chair and from under the gate, not from the warehouse clerk perspective. All numbers in this article come from one operation, a fleet of 15 sets, measured three months before and three months after switching to moving windows.
What Loading and Unloading Time Windows Are and What Dynamic Means
A time window is a reserved interval in which a vehicle is allowed to pull up to a specific dock. A dynamic window differs in that its time is recalculated during the day based on the vehicle real ETA and actual dock occupancy, instead of staying fixed from the evening before.
Time Window, Slot, and Advance Notice: Three Words for One Dock Event
In conversation they are used interchangeably, although they mean different things. A time window is the interval in which the truck is allowed to arrive. A slot is a position in the queue for a specific dock, so it has a ramp number, while a window does not have to. Advance notice is reporting the vehicle for a given slot, meaning an action, not a time interval.
Hence the mismatch: there can be advance notice without a slot, meaning you know you will come but without time and dock, and a slot without an assigned registration number.
Rigid Window and Moving Window: What Exactly Changes in the Day Plan
In the rigid model the time is set once and treated as a commitment. When reality diverges, the plan stays on paper and arrival sequence is decided at the gate, according to who arrived first or who pushes harder.
In the moving model the time is a forecast with rules. The system knows set ETAs and real handling time at the dock, so it recalculates sequence so that a truck with a forecast of 8:40 does not block the slot at 7:00. The day plan stops being a document and becomes a list that lives until the end of the shift.
Who Sets the Window: Consignee Warehouse, Shipper, or Carrier
The window is always set by the ramp owner: at unloading the consignee warehouse or its logistics operator, at loading the shipper. The carrier does not create windows, but in practice decides about them, because it chooses the slot from the available pool and is responsible for arrival.
Hence a limitation that is easy to forget during rollout: recalculating times works only where the ramp owner agreed to it.
Window Width, Arrival Tolerance, and Grace Period: How Many Minutes Make Sense
Whether windows work is decided by three parameters. Window width comes from real handling time at the dock. Arrival tolerance says how many minutes after the window time the truck is still on time. Grace period is the time after which an unused slot returns to the pool.
| Arrival type | Real handling time | Window width | Arrival tolerance | Grace period before slot release |
|---|---|---|---|---|
| FTL, 33 uniform pallets | 45 to 60 min | 60 min | 15 min | 20 min |
| Mixed FTL, several orders on trailer | 60 to 90 min | 90 min | 15 min | 20 min |
| Groupage and partial delivery | 20 to 30 min | 30 min | 10 min | 15 min |
| Refrigerated and fresh goods | 30 to 45 min | 45 min | 10 min | 10 min |
| ADR | 45 to 60 min | 60 min | 10 min | 15 min |
The most common mistake is a window narrower than real handling time, because then the first truck of the day leaves with a delay nobody can recover. The second is no grace period: a slot held by a truck standing 80 kilometres away blocks a dock where the warehouse clerk could accept someone else.
Why a Rigid Dock Schedule Falls Apart Before Noon
It falls apart for four reasons at once, and each reinforces the others. The first is accumulation of arrivals in the first two hours of the shift, because everyone wants to drive on the same day. The second is a domino effect in which one delay eats not its own slot but the next ones. The third is no-show, meaning a window nobody released. The fourth is the tool: a spreadsheet and phone have no idea where the trucks are.
Everyone Wants Windows at 7:00, Meaning an Artificial Peak in Two Hours
Demand for slots is extremely uneven, because dispatchers think in terms of the driver day. Unloading at 7:00 gives a chance for a second arrival and return the same day; unloading at 13:00 usually ends the day. The morning slot pool therefore runs out first, and the warehouse gets in two hours what it technically has four hours for. That peak does not come from cargo urgency, only from nobody seeing other people reservations.
One Late Truck Ruins Three Next Slots, Not Just Its Own
With two docks and 60-minute windows, a truck 40 minutes late does not cost 40 minutes. It enters the next set window, that one waits, and buffers between slots were already used on the first delay. By noon that builds up to two hours, although no single truck was more than 40 minutes late.
It looks even sharper where goods from one trailer continue on another truck, which we cover in the article on cross-docking and cross-dock terminal operations. The rule is simple: the shorter goods stay on site, the more a late arrival costs.
No-Show and an Empty Window Nobody Released
No-show is a reserved and unused slot, without feedback. Trucks wait at the gate while the dock waits for a vehicle that changed plan three hours earlier. In the operation I describe further on, no-show reached 18 percent of reservations, meaning almost every fifth window was fiction.
The reason is rarely malicious. In the rigid model, releasing a window gives the carrier nothing and sometimes hurts, because it risks losing a good hour. Until returning a slot is rewarded with access to another free position, nobody will call.
Spreadsheet in the Cloud and Phone to the Warehouse Clerk as a Booking System
The spreadsheet does not know ETA, driver working time, or dock occupancy in a given minute. It knows only what someone typed into it yesterday. The phone is faster, but the agreement lives in two people memory and leaves no trace in a demurrage dispute. With a fleet of a dozen trucks, pushing windows means dozens of calls daily, made by a person who could be closing backhauls in that time.
What an Hour of a Set Standing in Queue Really Costs
A set with driver standing at the gate costs in this calculation PLN 45 per hour, counting driver pay with per diem, leasing, insurance, and fixed costs assigned to the vehicle. That is a conservative number, because it does not include lost freight on a run that did not fit.
That rate turns minutes into money in a conversation with the consignee. As long as you talk about the queue, you hear that it has always been like that for them.
How the Dynamic Time Window Algorithm Works
The sequence is always the same: inputs, buffer, priorities, recalculation rule. The algorithm collects vehicle ETAs, driver working times, and measured handling time at the dock, adds buffer to each slot, orders the queue by priorities, and then recalculates times whenever any input changes. How this differs from manual and rule-based planning is shown in the comparison of transport planning models.
Inputs: ETA from Telematics, Driver Working Time, Real Handling Time at the Dock
The first input is ETA from the vehicle, not from the spreadsheet. Forecast from GPS position, route profile, and current traffic makes sense only when it includes driver working-time status, because ignoring the required 45-minute break is false regardless of traffic data. On the vehicle side we rely on what telematics and ETA from the vehicle provides.
The second input is real handling time at the dock, measured, not declared. The third is warehouse resources in a given hour: number of active docks and people on forklifts, because a dock without an operator is not a resource. What forecast precision is worth we settle in the article on how precise route planning and ETA translates into results.
Buffer: Where the 20-Minute Reserve Comes From and When You Need 40
The standard buffer is 20 minutes and covers normal deviations: yard manoeuvre, document check at the gate, dock changeover, forklift operator change. It comes from handling-time spread, because if 33 pallets come off in 45 to 60 minutes, deviation from average fits in a quarter of an hour.
Use a 40-minute buffer in three situations: when the approach runs through a section with high travel-time variability (peak agglomeration, border crossing), when the trailer carries several orders, and when the warehouse has one dock and one person. More than 40 minutes is no longer buffer but hidden throughput reserve: the problem is then not planning but number of docks or shift staffing.
Priorities: Refrigerated, ADR, Consignee with Contractual Late Penalty
Priority is not courtesy toward an important customer; it is pricing the consequence of delay. Refrigerated and fresh goods go higher, because cost grows with every hour in uncontrolled temperature. ADR higher, because handling requires procedure and a dedicated place, not the first free dock. Consignee with contractual penalty higher, because its window has an amount assigned directly.
A separate category is arrivals with a hard deadline on the other side. When delivering a unit to a terminal before cut-off, delay does not cost a quarter of an hour, it costs a day, which is clear in intermodal transport and terminal cut-off, where the rail slot is not negotiable.
Moving a Slot During the Day: Rules the System Does Not Break
Recalculation without limits creates chaos worse than a rigid schedule, so rules must be hard. In practice four work. A slot confirmed to the driver is not moved earlier than its original time, because the driver does not teleport to the ramp. Moving down the queue requires approval if it violates allowable driver working time.
Third: a vehicle with priority enters before another truck only once per cycle, so groupage is not pushed to the end of the day. Fourth: every move generates notification to driver and warehouse in the same minute, because a slot only the system knows about does not exist operationally.
What the Algorithm Will Not Do for the Dispatcher
It will not negotiate a wider slot pool with a consignee who publishes six windows daily, and it will not add a third dock. It will not judge whether sacrificing one arrival is worth keeping a customer with a line breakdown. It also will not fix input data: if handling time is copied from the contract instead of measured, the algorithm will precisely recalculate a wrong assumption and every day produce a plan that drifts by half an hour.
What a Dynamic Window Gives the Carrier and What It Gives the Shipper
Shorter Waiting and More Driving Hours in the Driver Day
The benefit is arithmetic. Every 40 minutes recovered at arrival the driver can spend driving the same day, without violating working time. With two arrivals daily that becomes more than an hour, meaning the difference between delivering today and tomorrow morning.
Less Demurrage and Fewer Late Delivery Penalties
Demurrage works both ways and both are costly. The carrier loses when standing beyond free hours without proof of arrival time. The shipper loses when demurrage comes back on an invoice, because the ramp did not keep up with windows it set itself. Dynamic windows reduce both items, because they shorten time between gate-in and arrival at the dock, and slot change history turns a discussion about goodwill into a conversation about hours.
Warehouse Staffs the Shift for Real Traffic, Not for the Spreadsheet Schedule
The shift supervisor plans staffing for number of arrivals per hour. If the schedule shows seven trucks between 7:00 and 9:00, but they arrive between 7:00 and 11:00, staffing is simultaneously too small and too large within one day. A forecast that updates lets you move people during the shift, and overtime from a queue that did not fit drops along the way.
Higher OTIF Without Buying More Trailers
OTIF falls most often not because of lack of vehicles, but because of hours lost at ramps. If a truck waits 77 minutes at arrival, some deliveries will not fit in windows at the next customer, although the fleet physically had capacity to execute them. That is the cheapest improvement of that indicator, because you do not buy a trailer or hire a driver, you recover capacity you already pay for.
How to Connect TMS with the Customer Advance-Notice Portal, EDI, and Email
Consignee Advance-Notice Portal: Who Clicks the Slot and by What Time
Consignee portals follow their own rules and they set the boundary of your flexibility. Typical setup: slot pool opens a few days before delivery, closes at a set hour the day before, and change after closing requires contact with the warehouse planner.
One decision must be made at the start: who clicks the slot. If the dispatcher does it without recording in the system, you have two day plans, portal and own, that will diverge in the first week. The slot from the portal must return to TMS with time, dock number, and registration number.
EDI and API: Which Messages Must Run Both Ways
The minimum set is three streams: delivery advance notice with pallet list, transport order with assigned vehicle, and status messages with event times (gate-in, arrival at dock, end of handling, departure).
Success is decided by traffic both ways. Sending advance notice without receiving slot confirmation gives integration that looks good on a diagram and changes nothing in dispatch, because time is still set by phone. Where the consignee provides API, add a query for free positions, because only that lets you propose moves.
When Email and Phone Remain, and How to Tie Them to the System
With smaller consignees email and phone will stay, because EDI rollout at a customer with two deliveries weekly never pays back. The rule is one: the channel can be anything, the register must be one. The person accepting a phone agreement enters the slot into the system during the call, and email advance notices go to a shared mailbox from which confirmation tasks are created.
Confirmation for the Driver: SMS, App, Gate Code
The driver must have time and dock number on the phone, in a form that does not require calling back. SMS is simplest and works everywhere; the app gives more, because it lets the driver confirm accepting a change and show approach to the right gate.
Gate code closes the loop, because scanned at entry it answers two questions at once: whether this truck has a slot today and at what time it actually stood on the yard. Without that timestamp, demurrage discussion relies on memory.
Three Places Where Slot Data Exchange Most Often Diverges
The first is time zone and time format. Delivery to Germany advance-noticed in local time but recorded in the system in UTC gives a shift of one or two hours that shows up only at the gate.
The second is order identifier. Consignee operates on purchase order number, shipper on delivery number, carrier on transport order number, and the slot hangs on one of them. Without mapping all three you cannot automatically connect the window with the vehicle.
The third is change on the consignee side that does not return to the carrier: warehouse moves the window internally, information goes by email to sales, and the driver learns on site. That is why in the contract you record not only windows but also the channel in which their changes are valid.
How Many Minutes at the Ramp a Fleet of 15 Sets Saves: Numbers Before and After
Operation: 15 sets in domestic distribution, two arrivals per truck daily, a dozen regular consignees, three with an advance-notice portal. Starting point was a rigid dock schedule in a spreadsheet, agreed by phone.
ONYX calculation based on operational data from a fleet of 15 sets, three months before and three months after deploying dynamic windows.
| Time block | Rigid schedule | Dynamic windows | Difference |
|---|---|---|---|
| 6:00 to 8:00 | 95 min | 40 min | 55 min |
| 8:00 to 10:00 | 70 min | 35 min | 35 min |
| 10:00 to 12:00 | 45 min | 30 min | 15 min |
| 12:00 to 14:00 | 55 min | 30 min | 25 min |
| 14:00 to 16:00 | 85 min | 40 min | 45 min |
| 16:00 to 18:00 | 110 min | 45 min | 65 min |
Two things matter more than the average. The biggest queues do not stand in the morning peak but at the end of the day. On top of that, spread between best and worst block is 15 minutes with moving windows and 65 minutes with rigid ones, so not only the level changes but predictability too.
Starting Point: Rigid Windows, 77 Minutes Average Waiting, 18 Percent No-Show
The daily average was 77 minutes per arrival, from gate-in to departure. On-time arrivals in the window were 61 percent, meaning almost four trucks in ten arrived outside their window, and no-show reached 18 percent of reservations. The most costly part was not the average itself but its unpredictability, because planning a second arrival the dispatcher had to assume the worst scenario.
After Three Months: 37 Minutes, 6 Percent No-Show, Fewer Calls in Dispatch
After deploying moving windows the average dropped to 37 minutes, on-time rate rose to 88 percent, and no-show fell to 6 percent. The difference per arrival is 40 minutes.
| Indicator | Before | After |
|---|---|---|
| Average waiting at ramp | 77 min | 37 min |
| On-time arrivals in window | 61 percent | 88 percent |
| No-show on reserved slot | 18 percent | 6 percent |
| Demurrage invoiced by carriers in month | PLN 4,200 | PLN 900 |
| OTIF on deliveries | 91 percent | 96.5 percent |
The change not in the table is impossible to miss in dispatch. Calls about arrival sequence disappeared almost entirely, because the driver received the changed time before calling.
What That Means Monthly: 420 Truck-Hours and About PLN 18,900
The calculation is worth doing on paper. 15 sets times 2 arrivals times 21 working days gives 630 arrivals per month, and 40 minutes saved on each is 25,200 minutes, meaning 420 hours. At PLN 45 per hour for a standing set with driver that comes to about PLN 18,900 monthly, plus demurrage falling from PLN 4,200 to PLN 900.
Those 420 hours are not cash in the account but recovered transport capacity. They turn into money when freed hours go into next orders, not longer standing at base.
What Did Not Improve and Why
No-show stopped at 6 percent and did not go lower, because some breakdowns and cargo refusals happen late enough that no rule can reassign the slot to someone else.
The block from 16:00 to 18:00 remained weakest, 45 minutes versus 30 minutes mid-day, because at end of shift staffing drops and buffers are used up. Two consignees with a closed portal did not agree to window recalculation, so there planning stayed rigid with manual booking the day before.
What the Planning and Time Window Module Looks Like in ONYX TMS
Dock Board and Arrival List Side by Side
The foundation is one screen with two perspectives. The dock board shows time vertically and ramps horizontally, with occupancy, buffers, and free positions. The arrival list shows the same events from the vehicle side: who is driving, what the forecast is, which window is at risk. That split is not cosmetic, because the warehouse clerk asks about the dock, the dispatcher about the truck, and disputes between them come from looking at two different documents. We describe broader context in the article on automatic transport order planning.
Telematics ETA Linked to a Specific Slot
Forecast has value only when tied to a commitment. In transport planning TMS ETA from the vehicle links to a specific slot, not to the order in general, so two times are compared: forecast arrival and window time plus tolerance.
An alert appears when the threshold is exceeded, together with a proposal: nearest free position at that dock or swapping sequence with a truck that will arrive later anyway. The dispatcher approves or rejects, and notification to driver and warehouse goes automatically.
Slot Change History as Proof in a Demurrage Dispute
Every window change is recorded with timestamp, author, and reason. It sounds like an administrative feature, but it is a financial tool, because in a demurrage dispute documentation decides: when the truck entered the yard, when it stood at the dock, and who moved the window. We develop this mechanism in ONYX TMS 2.0, an R&D project covering cross-dock, road-and-rail intermodal chains, and dynamic time windows.
How to Deploy Dynamic Time Windows in Four Weeks
Week One: Measure Real Handling Time at the Dock, Not the One from the Contract
Start with measurement, because without it you calibrate blind. Record four times for each arrival: gate-in, arrival at dock, end of handling, departure. A weekly sample at one warehouse is enough to see distribution, not just average. Count manoeuvre and gate formalities separately, because often that segment, not unloading, eats a quarter of an hour on the truck.
Week Two: Set Window Width and Priority Rules
On data from week one set window width for each arrival type, 20-minute buffer as standard and 40 minutes for difficult approaches, arrival tolerance, and grace period for slot release. Record this as system parameters, not an agreement in email. Assign cost justification to priorities, because a rule without justification will be broken at the first call from sales.
Week Three: Pilot at One Warehouse and Five Trucks
The pilot must confirm or disprove assumptions, so keep it small: one warehouse, five trucks, two weeks of data. Watch one control indicator: share of arrivals that entered the window without dispatcher intervention. The risk is not technology but running the old spreadsheet in parallel, because when both lists live at once people go back to the one they know.
Week Four: Talk with Consignees and Write Windows into the Contract
Without this step rollout stays halfway. Enter the consignee conversation with pilot numbers, not a demand: show how many minutes your trucks stand on its ramp and how much of that comes back as demurrage.
In the contract or order record four things: window width, arrival tolerance, window change channel, and rules for counting free time for loading activities. If you prefer to learn from others mistakes, book free consultations and discuss parameters earlier.
Five Indicators to Check After the First Month
First: average waiting at ramp by time block, because daily average hides the worst two hours. Second: on-time arrivals in window, with a target above 85 percent. Third: no-show share, with a single-digit target. Fourth: demurrage amount in the month, separately issued and received. Fifth, control: number of slots moved manually, because if it does not fall, rules are set against operational reality and need correction, not workarounds.
Summary
A rigid window is not a plan, it is a declaration that stops applying after the first late truck. Dynamic loading and unloading time windows do not add docks or shorten unloading itself. They do one thing: make sure the dock is not empty while there is a queue at the gate, and the truck is not waiting at a dock occupied for two hours.
In the fleet described here that translated into average waiting falling from 77 to 37 minutes, 420 recovered truck-hours per month and about PLN 18,900, plus demurrage lower by PLN 3,300. The price was a few weeks of measurements and one uncomfortable conversation with each major consignee.
On Monday you can start without rollout and without budget, recording for a week four times for each arrival at one warehouse. You will then see whether your problem is windows that are too narrow, no grace period for slot release, or shift staffing that cannot catch up with queues after 16:00.
If you want to see how the dock board, ETA from the vehicle, and slot change history look on your relations and your consignees, see what transport planning TMS offers or contact us and book a demo. We will calculate windows on your handling-time measurements, not on the example from this article.