Guide · Updated 13 July 2026

How to make a staff roster that survives contact with reality.

Every duty manager learns rostering the same way: inherit a spreadsheet, copy last week, fix complaints. Here is the method behind a good roster — the one worth following whether you build it by hand or let software do the heavy lifting.

Step 1 — Start from demand, not from people

The first question is never "who works Monday?" It is "how many people does Monday actually need, per shift, per role?" Pull it from something real: reservations and expected covers in a restaurant, occupancy forecast in housekeeping, the function sheet in banquets, arrival volume at the desk. Write the number down per shift. A roster built from demand can be judged; a roster copied from last week can only be defended.

Step 2 — Collect the constraints before you place a single shift

Availability and approved leave. Contracted hours per person, and who is casual. Skills — who can hold the bar, run the desk alone, supervise a floor. And the legal floor beneath all of it: in Hong Kong that means at least one rest day in seven, alternative holidays for statutory holidays worked, and everything else in our Employment Ordinance rostering guide. Collecting these first matters because a constraint discovered late invalidates work already done.

Step 3 — Place the hardest shifts first

Fill the shifts with the fewest qualified people before the ones anyone can work: the overnight, the solo-capable opener, the statutory-holiday dinner. If the roster is going to be infeasible, you want to find out at the start — while every other slot is still flexible — not at 6pm on Sunday when the easy shifts are all spoken for.

Step 4 — Check the rules across boundaries

The classic hand-rostering failures live at the edges: a closing-then-opening double at the join of two days, eight consecutive working days straddling two printed weeks, a casual quietly drifting past their hour limit across a month. Check consecutive days and rest gaps across week boundaries explicitly — that is where the violations hide.

Step 5 — Balance fairness over weeks, not within one

One week is never fair; someone always has the worse draw. Fairness is a running account: weekends off rotated, unpopular shifts shared, hours near contract for everyone. Keep the score across the month and correct it deliberately, or your best people will keep the score for you — in interviews elsewhere.

Step 6 — Cost it before you publish, then publish once

Total the projected hours and cost against the revenue you expect. Overstaffing caught on the draft costs nothing; overstaffing found on next month's P&L is already spent. Then publish once, visibly, where the team actually looks — in hospitality that is WhatsApp — and treat post-publication edits as the exception with a clear swap process, not the norm.

Where spreadsheets stop working

Every step above is possible in Excel. The problem is that steps 2, 4 and 5 are checkingproblems, and spreadsheets don't check — they display. At ten staff a careful manager holds the rules in their head. At twenty-five, with casuals, stations, leave balances and a public holiday in the week, the combinatorics defeat everyone; the failures just stay invisible until someone works a double or a rest-day complaint lands.

That checking problem is precisely what constraint-solving AI is for: RosterProject takes the demand, rules and availability from steps 1–2 and performs steps 3–6 in seconds — hard rules enforced by construction, fairness weighted across the period, cost on screen before you publish. (How that works is its own guide: AI roster generators, explained.)

Rostering questions, answered.

What order should I build a roster in?+

Demand first (how many people each shift actually needs), legal and contractual rules second (rest days, rest gaps, contracted hours), then fairness and preferences. Rosters that start from people instead of demand end up overstaffed on quiet days and short on busy ones.

How far in advance should a roster be published?+

A week is a common minimum in hospitality; two weeks is kinder and cuts swap requests noticeably, because staff can plan life around work. Whatever you choose, consistency matters more than the exact number.

Is Excel good enough for staff rostering?+

Up to roughly a dozen staff with simple rules, yes. Beyond that the failure mode isn't the grid — it's the invisible rules: rest gaps across week boundaries, accumulating owed days, per-person contract limits. A spreadsheet displays a roster; it can't check one.

How do I keep a roster fair?+

Define fairness explicitly — weekends off shared, unpopular shifts rotated, hours spread within contract bands — and measure it over weeks, not per week. Fairness failures are cumulative, which is exactly why they're invisible on a single week's grid.

Do steps 1 and 2. Skip the Sunday afternoon.

Describe your team and next week's demand — RosterProject generates the fair, legal roster in one click.