Why your roster takes half of Sunday: the seven constraints you solve by hand

Milan van Niekerk10 September 202610 min read
Why your roster takes half of Sunday: the seven constraints you solve by hand

Placing 60 shifts for a 22-person pub takes about 40 minutes. The other three hours and twenty go on checking and fixing: availability that lives in a group chat, a 10-hour break that spans two columns, a Saturday that is over budget before the kitchen is in. Here is where each hour goes, and what removes it.

It's 1:40pm on Sunday. The sheet is open on the laptop, the staff group chat is open on the phone beside it, and somewhere in Thursday's messages Priya said she can't do Thursday nights this month because her tutorial moved. That message never made it into the file. Saturday night is already sitting at $2,900 in the cost column, over budget, and you haven't put the kitchen in yet.

The roster takes half of Sunday because you are not writing a roster. You are solving seven interacting constraints by hand: demand, availability, licences, award limits, budget, fairness and the rework after the first call-out. A spreadsheet knows none of them, so every fix to one shift can break another, and all the checking happens after the placing instead of before it.

The short version: placing the shifts is about 40 minutes of a four-hour Sunday. The other three hours and twenty minutes are spent collecting availability, costing by formula, checking breaks and hours, rebuilding after a conflict, publishing, and fixing the roster after the first reply. Each of those is a constraint a sheet cannot see. This is general information, not legal or financial advice: the Fair Work Ombudsman is the source of truth for the Hospitality Award (MA000009).

Why the roster takes half of Sunday

A weekly roster for a 22-person venue is about 60 shifts. Typing 60 names into 60 cells is 40 minutes of work, and most managers we talk to agree that the typing was never the problem. The problem is that each cell has to be true against six other things at once, and the sheet only checks one of them (whether the row adds up to hours).

Watch what happens when one cell moves. You take Priya off the Thursday close because of her tutorial. Tom gets the Thursday close. Tom already had the Friday open at 7am, and a close-then-open gives him a nine-hour turnaround, which is under the award's 10-hour break for full-time and part-time staff. So Tom's Friday open goes to Marcus. Marcus is a Level 4, and the open was costed at a Level 2 rate, so Friday's cost line just moved without you touching it. Now Marcus has five days straight, and your fairness note said he'd had the last three Sunday closes. Four cells changed to fix one, and you re-ran every check in your head each time.

That is why the same roster takes four hours on a good week and five on a bad one. The variable is how many conflicts you discover after placing, and a sheet discovers all of them late.

You are not writing a roster. You are solving seven constraints at once with a tool that knows none of them.

The seven constraints you are solving by hand

In the order you meet them on a Sunday, each with the particular way the sheet drops it. The failures are different, and so are the fixes.

1. Demand by hour

The shift has to match the trade. A Saturday at a suburban pub needs two behind the bar from 11am, four from 5pm, five from 7pm to 10pm, then back to two. Tuesday lunch needs one and a half. A spreadsheet is laid out as people down the side and days across the top, so headcount per hour lives nowhere in it. You count it on your fingers by running your eye down the Saturday column, and you count it again every time a cell moves. Overstaffing a quiet Monday by one Level 2 casual for six hours is about $203 in wages, and the sheet will not mention it.

2. Availability, leave and study timetables

A shift is only real if the person can turn up to it. In a casual-heavy venue, availability arrives through four channels: the group chat, a text to your personal number, a comment at the pass on Friday night, and an approved leave request you said yes to in March. None of those channels is the sheet. Priya's Thursday tutorial is the classic case, told to the chat on a Thursday and gone under forty other messages by Sunday.

For part-timers, availability is also a document. Under the Hospitality Award, the days and hours a part-time employee is available are agreed in writing when they start (clause 10.4), they cannot be rostered outside that availability (clause 10.7(a)), they must have two days off each week (clause 10.7(b)), and they can change their availability on 14 days' written notice (clause 10.11). Uni timetables change every semester and the sheet has no field for any of it, so the check is you, remembering.

3. Skills and licences

Every shift carries hidden requirements. Someone on every bar shift needs a current RSA, which in NSW is mandatory for anyone selling or serving alcohol and needs redoing once the training is more than five years old. Someone with the keys and the alarm code has to open. Someone trusted with the till and the safe has to close. Someone at a supervisory level has to be on the floor for the Saturday night rush. A cell that says "Tom" tells the sheet nothing about whether Tom's RSA lapsed in June or whether he has ever done a close. You hold that list in your head or in a folder, and you check it shift by shift.

4. Award limits

The award sets hard edges on hours, and a sheet checks none of them. The ones that bite on a pub roster, all from MA000009: a full-time or part-time employee needs a minimum 10-hour break between finishing ordinary hours one day and starting the next, or 8 hours on a changeover of rosters (clause 15.5(e)); a casual is engaged for a minimum of 2 consecutive hours (clause 11.3) and a maximum of 12 hours a day and 38 a week, or an average of 38 over a roster cycle of up to four weeks (clause 11.2); and every hour past those caps is overtime (clause 11.4).

The 10-hour break is the one a sheet misses most often, and the reason is structural. The Saturday close sits in one column and the Sunday open sits in the next. A spreadsheet sums a row and never compares the end time in one cell with the start time in the cell beside it, so a 12:30am finish followed by a 9am start looks fine right up until Tom points it out. Everything else on this list you can at least see in a single cell. The break spans two.

One popular reading of the award needs correcting while we're here. "You must publish the roster 7 days ahead" is not what clause 15.5 says. Clause 15.5(d) says a roster may be changed at any time by mutual agreement, or by the employer giving 7 days' notice of the change. The 7 days attach to changing a roster that already exists, and the whole of clause 15.5 applies to full-time and part-time employees. Casuals are engaged occasion by occasion, which is why a casual's shift moving is a different kind of decision, as we covered in what self-service swaps actually save.

5. The labour budget and labour cost percentage

The same hour costs a different amount depending on the day and the person. From 1 July 2026 a Level 2 casual is on $33.85 an hour on a weekday, $40.62 on a Saturday and $47.39 on a Sunday, before super and on-costs. A Level 4 casual on the same Saturday hour is more again. A spreadsheet costs a roster with a SUM formula at the bottom of the column, and that formula knows the number of hours and one rate. It does not know which day the cell is in or which level the person is, so the cost line is either wrong or it is a second, hand-maintained formula you rebuild every time someone moves. Either way you only see the total after you've placed everything. That is how Saturday ends up over budget before the kitchen goes in. Where your labour cost percentage should sit for a Sydney venue is its own piece: your labour cost percentage in 2026-27.

6. Fairness of weekends and unpopular shifts

The roster has to be defensible to the people on it. Who has done the last three Sunday closes. Who always gets the Friday night that pays and who always gets the Tuesday lunch that doesn't. Who covered twice last fortnight and is owed a weekend off. A spreadsheet has no memory beyond the tab you are on, so fairness is checked by opening last week's file, then the one before, and scrolling. Most managers skip it by week three, and the people who notice are the ones who quietly stop picking up shifts.

7. Rework after the first call-out

The published roster is a draft. You send it at 4:45pm. At 5:05pm Priya replies: she told you about Thursday. She did, on Thursday, in the chat. So Thursday reopens, and every constraint above runs again for the fix: who is free Thursday night (2), who has an RSA and can close (3), whether the new person's Friday still clears the 10-hour break (4), what the change did to Thursday's cost (5), whether it's fair to ask them (6). Then you publish again, and now two versions of the roster exist on 22 phones, which is exactly how someone turns up for a shift they no longer have. The first call-out costs about 35 minutes. Every one after it costs about the same.

Where the four hours go

Put a clock on the Sunday. You sit down at 1:40pm and spend until about 2:30pm collecting availability: scrolling the chat, checking texts, reading the leave notes on your phone. From 2:30pm to 3:10pm you place the 60 shifts. From 3:10pm to 3:40pm you cost them, or rebuild the formula that costs them. From 3:40pm to 4:05pm you check breaks, hours caps and who's licensed for what. Something fails the check, and 4:05pm to 4:45pm goes on rebuilding around it. At 4:45pm you publish and start chasing the people who haven't confirmed. At 5:05pm the first reply lands, and the fix runs until about 5:40pm. Four hours, and 40 minutes of it was rostering.

Here is that afternoon by constraint, priced at the manager's time. A Level 6 employee under the award is on $32.13 an hour from 1 July 2026, about $37 once super, workers compensation and payroll tax are added. A salaried venue manager costs more, so treat $37 as the floor. The minutes are estimates from an ordinary 22-person pub and marked as such.

Sunday taskThe constraint it is really aboutAbout how longAt about $37 an hour
Collecting availability from the chat, texts and leave notes2. AvailabilityAbout 50 minAbout $31
Placing 60 shifts1. Demand by hourAbout 40 minAbout $25
Costing the roster by formula5. Labour budgetAbout 30 minAbout $19
Checking breaks, hours caps and licences3. Licences and 4. Award limitsAbout 25 minAbout $15
Rebuilding after the first conflictConstraints 1 to 6, againAbout 40 minAbout $25
Publishing and chasing confirmations7. ReworkAbout 20 minAbout $12
Fixing the roster after the first reply7. ReworkAbout 35 minAbout $22
TotalAbout 4 hoursAbout $148

Over a year that is about 208 hours and $7,700 of manager time on the roster, and about 35 of those hours are the placing. The other 173 hours are checking and fixing. That is more than four working weeks a year spent finding conflicts a tool could have refused to let you create, and it comes out of the same person who is meant to be on the floor on Saturday night.

What removes each hour

Some of this you can fix inside the spreadsheet. A base roster template, a standard week you copy and adjust rather than a blank grid, collapses the placing from 40 minutes to about 10 and takes some of the demand counting with it, because the template already carries last week's headcount by hour. That recovers roughly the first hour of the four, and we would tell you to do it this week whatever else you decide. It does nothing for the other three. Those hours are checks, a sheet can only check after you've placed, and the remaining constraints have to be tested as each shift goes in, which is a different kind of tool.

  • A base roster template. Removes most of the placing time and part of the demand check. Works in a spreadsheet, works better in software that can copy a template week and keep the headcount targets attached. Worth about 45 minutes a week.
  • Availability in one place. Staff mark unavailability on their own phone and it appears on the roster as a greyed-out cell before you place anything, with leave and part-timers' agreed availability sitting in the same view. Removes the 50 minutes of chat archaeology and most of the first call-out, because Priya's Thursday was never available to give her.
  • Rules checked before publishing. Award levels, RSA expiry dates, the 10-hour break, the casual caps and the minimum engagement are checked as the shift is dropped in, and a shift that breaks one is flagged on the spot rather than found at 3:40pm. This removes the checking block and most of the rebuild, because you never create the conflict in the first place. It does not remove your obligation to know the award; it moves the check earlier.
  • Live cost as you build. The running cost of the week, by day, updates with each shift at the right day's rate for the right level, so Saturday shows as over budget while you still have room to move it. Removes the costing block and the after-the-fact surprise.
  • One publish channel with controlled swaps. Every phone sees the same current version, changes notify the people affected, and cover requests go out to people who qualify rather than to the whole chat. Removes most of the chasing and the second-version problem, and turns the 35-minute fix into a few minutes of approving.

None of that makes the constraints go away. Demand, availability, licences, award limits, budget and fairness are all still yours to decide, and a tool that decided them for you would be guessing. What changes is when the checking happens: during placing instead of after it, which is the only place it can save you the three hours.

Where Shiftly fits

We built Shiftly's rostering so that the checks sit in the roster while you build it. Staff availability and leave come through the app and show on the grid before you place a shift, award levels are attached to people so the award interpretation can estimate what each shift costs at the right day's rate, and job costing shows the running total by day as you go. A close-then-open that breaks the 10-hour break gets flagged when you drop it in, not when Tom texts you. Template weeks copy across with the headcount attached. The core platform is free, with no per-employee fees.

Shiftly is a calculation tool and a staffing network, not a payroll provider, and it will not sign off your award obligations for you; the Fair Work Ombudsman remains the source of truth. What it does do that a sheet never will is fill the gap when Priya's Thursday reopens: the same open shift can go out to an on-demand network of local hospitality workers. That is what we mean by the roster that fills itself. Get started with Shiftly.

Frequently asked questions

Why does building a weekly roster take so long?

Because placing shifts is the smallest part of the job. For a 22-person venue, typing 60 shifts takes about 40 minutes; the other three hours go on collecting availability, costing, checking award breaks and hours caps, rebuilding after a conflict, and fixing the roster after the first reply. A spreadsheet checks none of those as you place, so every conflict is found late and fixing one often creates another.

Does the Hospitality Award require rosters to be published 7 days in advance?

No. Clause 15.5(d) of the Hospitality Industry (General) Award (MA000009) says a roster may be changed at any time by mutual agreement, or by the employer giving 7 days' notice of the change. The 7 days apply to changing an existing roster, and clause 15.5 applies to full-time and part-time employees. Publishing further ahead is good practice and cuts swap requests, but the award does not set a publication lead time.

What is the 10-hour break rule in the Hospitality Award?

Clause 15.5(e) of MA000009 requires a full-time or part-time employee to have a minimum break of 10 hours between finishing ordinary hours on one day and starting ordinary hours on the next, reduced to 8 hours on a changeover of rosters. A close-then-open is the usual breach. It is the constraint spreadsheets miss most often because the two shifts sit in different columns and a sheet never compares them.

Can a roster template fix the time problem on its own?

Partly. A base template you copy each week recovers roughly the first hour of a four-hour Sunday by turning placing into adjusting. It cannot recover the remaining hours, because those are checks against availability, licences, award limits and cost that have to run as each shift is placed, and a spreadsheet can only total what is already there. For the honest trade-offs, see why free roster templates cost more than you think.

The bottom line

Priya's Thursday was never the problem. The problem is that the only place her Thursday existed was a message you had to remember, and the only time you found out was after you'd published. Count how many of the seven you recognised: if it was four or more, the fix is a tool that checks while you place, and the next read is our weekend guide to switching from Excel. It takes one weekend, and it gives you back the next 52 Sunday afternoons.

Milan van Niekerk
Milan van NiekerkCo-founder, Shiftly

Co-founder of Shiftly. Milan works with hospitality businesses across Australia to make rostering, timesheets and award-based pay radically simpler.