Shift Planning for Warehouse and Delivery Teams
Two pickers short at 6am is not a staffing problem, it is a planning problem you can see coming eight weeks out. How to build a roster that holds.

A supervisor at a bonded warehouse in Bình Dương told me his week starts on Sunday night, in bed, doing arithmetic. Who called in sick last week. Who is owed a day off. Which two people cannot work the same shift because they argue. By Monday morning he has a roster in a Google Sheet, and by Tuesday afternoon it is already wrong.
That is most operations teams. The roster is the operation, and it lives in one person’s head with a spreadsheet as backup.
Build from volume, not from headcount
The usual approach starts with the people you have and spreads them across the week. But volume is lumpy. Thursday afternoons at that warehouse run at roughly double Tuesday morning, every week, and have done for two years.
Pull eight to twelve weeks of actual numbers. Shipments booked per day, containers expected, delivery stops per route, the cut-off times you cannot miss. Look at it by day and by hour. Most teams find two or three peaks they have been treating as surprises. Once you can see the curve, the roster stops being a negotiation and becomes arithmetic.
Write the rules down before you write the roster
Every operation has rules that live only in the supervisor’s head. Put them on one page so the roster has something to be checked against.
- Minimum rest between shifts, and who can approve an exception to it
- Maximum consecutive night shifts per person
- How many certified forklift or dangerous-goods staff must be on each shift, by name
- Who can work overtime and what the monthly ceiling is
- How weekend and holiday rotations get shared out
That page is also your compliance boundary. Written down, a labour-law question becomes a checklist item. Left in someone’s head, it becomes an argument after the fact.
Publish early, change rarely
Predictability is the cheapest retention tool an operations team has, and I would put it above a pay rise for shift workers, though I could be wrong about that. Publishing the roster a week ahead costs nothing. Treating changes as exceptions that need a stated reason costs nothing either, and both cut no-shows noticeably.
When a change is genuinely necessary, put it where the original roster is. A change announced only in a Zalo group is a change half the shift will miss.
Compare it against the clock
A roster nobody checks against actual clock-in data is a plan, not a record. The value sits in the gap between the two. Who starts late consistently. Which shift always runs over by forty minutes. Where overtime is structural instead of exceptional.
When rostered hours, attendance and overtime approvals sit on one record, payroll preparation stops being a monthly reconciliation. In practice that single connection is worth more than any scheduling feature.
After a quarter
You will know it is working when the roster goes out at the same time every week without anyone chasing it, when fewer than one shift in ten changes after publication, and when the payroll run takes an afternoon instead of three days. None of that needs a big system. It needs the volume curve, a written page of rules, and one place where the roster and the timesheet agree.
TalentOne keeps the roster, the clock-ins and the overtime approvals on one record, which is the part most teams end up rebuilding in Excel anyway. If you want to see it against your own shift patterns, we can walk through it.
