Drayage scheduling is the management of four independent clocks that nobody synchronises for you. Here is how to plan around them.
Key takeaways
A container move looks like a short local trip and behaves like a scheduling problem with four masters. Each has its own window, its own penalty, and no interest in the other three.
Drayage sits at the seam between modes, and the advance data requirements differ. The CBSA publishes the timeframes by client type: air four hours, highway one hour, marine twenty-four hours, rail two hours before arrival.
For the highway leg specifically, the CBSA states you must send advance commercial information at least one hour before arrival at a port of entry, warns that penalties under the Administrative Monetary Penalty System can follow from invalid tractor or trailer plate numbers, unclear cargo descriptions or late submission, and makes two points that matter operationally: corrections do not restart the clock — only cancelling and resubmitting a transmission does — and a driver cannot choose an alternate port of entry without the advance information being updated first. Catch an error after the truck has already crossed and there is a narrow fix, not a resubmission: Form BSF673, the House Bill, Cargo and Conveyance Manual Amendment Form – Post Arrival – All Modes, lets a carrier correct certain data elements post-arrival, but the CBSA is explicit that it must be used only occasionally, not as a routine way to dodge the one-hour deadline after a load was dispatched in a hurry.
Carriers and freight forwarders need a CBSA-issued carrier code to transact at all. If you are adding cross-border drayage to a domestic operation, that enrolment is the first step, not an afterthought. That code is applied for through the CBSA Assessment and Revenue Management (CARM) Client Portal, and the CBSA issues exactly one per mode per legal entity — a separately incorporated drayage subsidiary needs its own. If bonded status is required, the customs bond runs $5,000 per vehicle to a maximum of $25,000, and the bond has to be continuous, or for a specified period, or the bonded carrier code expires the day the bond does.
Container drayage serving the Lower Mainland ports is not an ordinary trucking market. The Container Trucking Act [SBC 2014] c.28 requires a licence to provide container trucking services (s.16), lets the Container Trucking Commissioner impose licence conditions including conditions respecting the payment of wait time remuneration to truckers (s.18(2)(a)), provides for established rates and fuel surcharges (s.22), obliges licensees to comply with the established rate (s.23), and imposes record-keeping obligations (s.25) backed by audit and inspection powers in Part 4.
Practically, that means your BC drayage scheduling has a compliance dimension that Ontario intermodal work does not: wait time is remunerated under the regime rather than negotiated load by load, and your records are auditable. The Act has enforcement teeth behind that: under s.34, the Commissioner can suspend or cancel a licence, or order an administrative fine, for a failure to comply with the Act or a licence condition — the wait-time-remuneration condition included — after giving the licensee 7 days to respond to a notice of the proposed penalty (s.34(2)(e)); a fine imposed must be paid within 30 days (s.35(2)).
The most common drayage planning error is building a tight geographic route and discovering at the gate that container two is not released. Sort the day’s moves by confirmed release first, then optimise the route within the released set. An unreleased container is not a stop, it is a hope.
Empty return appointments are often the scarcer resource, and a container you cannot return keeps accruing charges. Where the terminal allows it, secure the return slot when you secure the pickup.
Demurrage and detention accrue per container. A spreadsheet organised by customer will lose one. Your TMS should hold the container number, last free day and equipment return date on the order — Trimble TruckMate markets intermodal management across ports and rail for exactly this reason.
The constraint that catches drayage dispatchers is s.13(3) of the hours-of-service regulations: no driving after 16 hours have elapsed between the end of one 8-hour off-duty period and the start of the next, on top of the 13-hour driving and 14-hour on-duty limits in s.12. A driver who queues three hours at a terminal has not driven, but the elapsed window has run. Plan the last move of the day against that clock, not against distance. The terminal is not exempt from that clock either: s.4 of the same regulations forbids a “motor carrier, shipper, consignee or other person” from requiring or allowing a driver to drive if doing so would put the driver out of compliance — a gate that queues a truck for hours and then pushes for one more move past the window is asking for something the regulation itself forbids, not just something inconvenient for the driver.
Worked example: a three-container day
A Vaughan drayage operator plans three moves from a Brampton rail terminal. Container A is released, B is on hold pending customs, C is released but its empty return appointment is not yet booked.
The plan built by geography would run A, B, C in a neat loop. The plan built by release status runs A first, holds B out of the sequence entirely until release is confirmed, and does not start C until the empty return slot is secured — because otherwise C sits on the chassis overnight and accrues charges nobody quoted the customer.
The driver started at 06:15, which puts the end of the 16-hour elapsed window at 22:15, but the practical limit is the 14-hour on-duty cap at 20:15. A two-hour queue on the first move consumed on-duty time, so the third move was released to a second driver rather than attempted. The day delivered two containers cleanly instead of three badly, and no container sat unreturned.
It depends entirely on your contract with the customer. Because the causes are frequently outside the carrier’s control — customs holds, gate congestion — agree in advance which party carries which cause, in writing.
No. Demurrage is generally charged for the container remaining at the terminal beyond free time; detention is generally charged for the equipment being held outside it. Track them separately or you will dispute the wrong invoice.
A 30-minute call is enough to tell you whether AI pays for itself on your dispatch desk.