✓
✓
38h
Mon 9AM
Sat 6AM
12 filled
AI-Powered Shift Scheduling

Roster automation that plays by
your rules

Availability, leave, positions and history — read in an instant. One click fills every open shift, and the result sits on screen waiting for your approval before anyone sees it.

The Actual Bot Rules View

A rule library split into hard constraints and soft preferences — each one configured to your operation, your award settings, your team

Rule type
Bot Configuration
Hard rules are never broken.
Preferences are honoured when possible.
Hard Rules Always enforced
From blank grid to filled roster

Four stages between "set the rules once" and "done for another week"

Set Your Rules

Pick hard rules and preferences from the library — tuned to your areas, positions and the limits your agreements set.

Bot Reads Your Data

Availability, leave, approved positions, work patterns and 42 days of roster history — loaded without you lifting a finger.

Solver Runs

Every eligible employee is scored against every open shift, hard rules enforced, hours balanced across the team.

Review & Save

The filled roster appears instantly. Adjust anything, then save — nothing commits or publishes until you do.

Constraint Engine

Hard rules that hold, even under pressure

When a rule is hard, it's hard: if assigning someone would breach it, the bot moves on — even if that leaves the shift empty. Set your weekly hour caps and the rest gap between shifts to match your award or agreement, and the bot simply refuses to cross them.

✓ Maximum weekly hours never exceeded
✓ Minimum rest between shifts — set it to the gap your award expects
✓ Position and area qualification checked before every assignment
✓ Approved leave and unavailability always block assignment
✓ Lock specific shifts to specific employees permanently
Hard Rule Check — Charlotte N.
Bot attempted: Saturday 6:00 AM shift
â›” Max Weekly Hours Exceeded
Current week: 38.5h  /  Limit: 38h
This shift adds 8.5h → total would reach 47h
â›” Minimum Rest Violated
Last shift ended: Friday 11:30 PM
6:00 AM Saturday = 6.5h rest  (minimum: 10h)
Bot skipped Charlotte — trying next eligible employee…
Soft Preferences

Preferences that shape the good options

When several people could take a shift, preferences decide who does. Spread hours evenly, keep favourites in their favourite areas, fill from shift requests before conscripting anyone, or deploy multi-skilled staff at their most senior role.

✓ Fair hour distribution across the full team
✓ Prefer employees with a matching bot tag for an area
✓ Roster only at highest approved position level
✓ Fill open shifts from requests or bids first
✓ Avoid same-day assignments across different areas
Preference Scoring — Sunday 9AM
Jack O. — Cook
22h this week · bot tag match · fewest hours
94
SCORE
Amelia S. — Manager
71
SCORE
Tom W. — Floor Staff
58
SCORE
→ Jack assigned (fewest hours this week + bot tag match)
Shift Requests & Bids

The willing get first crack at open shifts

Staff request and bid on published open shifts from the app. Tell the bot to fill from that waiting list before assigning anyone else, and extra hours go to the people who asked for them — with every hard rule still applied.

✓ Prioritise shift requestors or open bidders
✓ Choose: fill from requests, bids, or both
✓ All hard rules still enforced on requestors
✓ Unfilled open slots marked with request icons in the roster
Open Shift Fill — Friday 2:00 PM
3 Employees Requested This Shift
Priya Sharma Qualifies · 22h this week Assigned
Noah Brown 38h limit reached Skipped
Charlotte Nguyen Leave approved this day Skipped
History-Aware

Six weeks of memory, zero setup

The bot never judges a week in isolation. Every run loads 42 days of roster history plus the forward month, so hours balance over time, work patterns hold, and the same person doesn't cop every weekend across roster periods.

✓ 42-day lookback window loaded automatically per run
✓ Forward calendar month included for month-wide balance
✓ Work patterns matched (Mon–Fri, rotating shifts, etc.)
✓ State public holiday awareness across the full period
Hour Balance — Last 6 Weeks
Charlotte N.192h / 200h
Jack O.176h / 200h
Amelia S.120h / 200h
Priya S.148h / 160h
→ Bot will prioritise Amelia for the next available shifts
Built for Real Workplaces

The scheduling complexity other tools hand back to the manager

42 days
of roster history loaded for fair, balanced hour distribution
2 layers
Hard rules and preferences — independently configured per operation
1 click
to run the bot on any selected roster table, any time
0 saves
until you review — bot results always shown before committing
Frequently Asked Questions

Common questions about automated rostering with RosterMates

You click one button and the bot fills every open shift. Behind that click, it reads each employee's availability, approved positions, leave and recent shift history, then applies your configured rules to pick the best person for each gap. The finished roster appears on screen for review — nothing is saved until you say so.
Hard rules can never be broken — maximum weekly hours, a minimum rest gap between shifts, position qualifications. If filling a shift would breach one, the bot leaves the shift empty rather than bend. Preferences are the tiebreakers: favour whoever has fewer hours, fill from shift requests first, roster people at their highest position. The bot honours preferences whenever it can and tells you when it can't.
Yes — those checks run before anything else. Approved leave means an employee is never assigned that day, full stop. Recorded unavailability windows, one-off or recurring, are treated the same way, and work patterns shape which shifts each person is considered for.
Yes. Every employee carries a set of approved positions, and the bot only assigns shifts within them. There's also a rule to roster people at their highest approved position — useful when your duty manager can also pull beers, but you'd rather they managed.
Fair distribution is built in. The bot loads 42 days of roster history plus the forward month, so it knows who's been getting the hours and who hasn't. When two people are equally eligible for a shift, the one with fewer accumulated hours gets the nod — which also keeps the "why does she always get Saturdays?" conversation off your plate.
Always. The bot fills your working roster view and stops. You look it over, adjust whatever you like, and only then save and publish. It also never overwrites a cell you've already filled by hand — it only touches empty shifts.
The rule library covers the levers most Australian awards and agreements care about at rostering time — maximum weekly hours, minimum breaks between shifts (for example the 10-hour gap many awards specify), qualified-position limits and blocked day types — and you set the numbers to match your own obligations. RosterMates doesn't interpret awards for you, so you stay in control of what the right settings are; the bot just refuses to break them once they're set.
If no one can take the shift without breaking a hard rule, it stays empty and you're told how many gaps remain. From there you can fill it by hand, loosen a rule, or publish it as an open shift and let the willing put their hands up — cells with existing requests or bids are marked so you can see who's interested.