Field notes › Industries
Rostering to a window: ports, terminals and logistics crews
Most rostering software assumes a week. Port, terminal and logistics work does not run on weeks, it runs on windows: a vessel arrives, a cut-off approaches, a distribution centre has a peak that starts on a particular Tuesday and ends when the volume does.
Crews get rostered against those events, and the events move. That single difference changes what good looks like in a roster.
The shift is defined by the window, not the day
When a vessel shifts by twelve hours, an entire shift pattern moves with it. Not one shift, all of them, along with the day and night split, and often the number of people required.
What you need is the ability to move a block of work and have everything follow: the people on it told automatically, the client site told, and anyone who now clashes with another commitment flagged before you save rather than after. If a twelve hour movement means editing 20 shifts individually, you will not keep up, and the errors will be in the editing.
Day and night are the same job
Terminal work runs around the clock more often than not, which makes the day and night distinction operational rather than cosmetic. A night shift that crosses midnight also crosses the date boundary, which is where a lot of rosters quietly go wrong: a worker looks free on the Tuesday because the Monday night shift is recorded as Monday, and now they are double-booked.
The check that matters is whether the system reasons about the actual start and end times rather than the calendar date, and whether the roster shows day and night in their own lanes so a person can see the pattern at a glance. There is more on that in the day and night rosters post.
Short notice is normal, not exceptional
In mining, short notice cover is an exception you plan around. In port work it is the operating condition. A vessel arrives early, a berth changes, volume comes in above forecast, and you need six more people for a shift starting in nine hours.
The office cannot ring its way through that reliably. Publishing the gap to every qualified worker at once, and letting them respond from their phones, is the only approach that scales to it. The important part is that the speed does not cost you compliance: the check on tickets, inductions, clashes and availability still runs on the server before the booking lands, so the fast fill is a valid fill.
Site access is its own qualification
Ports and terminals typically layer their own access requirements on top of the ordinary ticket mix, and those requirements are administered by someone other than you, with their own lead times and their own expiries.
Treat site access as a competency with an expiry date like any other, held against the site that requires it. That way it shows up on the 60 day expiry view along with everything else, rather than being a separate thing somebody has to remember, and a lapsed access card blocks a booking rather than being discovered at the gate.
Peak, and the crew you need to still have afterwards
Logistics peaks recruit hard and then stop. The workers you take on for a peak are the workers you would like back next peak, and the thing that decides whether they come back is mostly whether anything happened in between.
Keeping their records intact without paying for idle logins is what an inactive state is for, and it means the next peak starts with people who are already inducted and already ticketed rather than a fresh recruitment round.
What to ask of any system before you commit
Can I move a block of shifts and have everyone affected told automatically? Does a night shift crossing midnight behave correctly in clash detection? Can I publish a gap to a qualified pool and fill it in under an hour without skipping the checks? Can site access be modelled as an expiring requirement? And can I set someone inactive between peaks without losing their history?
If the answer to all five is yes, the software fits the shape of the work. If it assumes a stable weekly pattern, you will spend your life fighting it, and the fight will be at 3am when the vessel comes in early.
The rostering page covers the timeline and how shifts move on it.