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

Fill your roster in
seconds, not hours

Your rules, availability, leave, and work patterns — read automatically. Every open shift assigned in one click, with nothing saved until you're ready.

Your Actual Bot Rules View

A searchable rule library split into hard constraints and soft preferences — each configurable to your exact operation

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

Four stages from rule configuration to a completed roster — all in seconds

Set Your Rules

Choose hard rules and preferences from the library — configured to your areas, positions, and team.

Bot Reads Your Data

Availability, leave, positions, work patterns, and 42 days of roster history — loaded automatically.

Solver Runs

The constraint solver scores every employee against every shift, enforces rules, and balances hours.

Review & Save

Shifts appear in your roster instantly. Nothing commits until you review and click Save.

Constraint Engine

Hard rules that are never broken

Hard rules are absolute — if assigning an employee would violate one, the bot skips them entirely, even if that means leaving the shift empty. You're told exactly how many shifts couldn't be filled and why.

Maximum weekly hours never exceeded
Minimum rest gap enforced between consecutive shifts
Position and area qualification checked before every assignment
Approved leave and unavailability always blocks assignment
Lock specific shifts to specific employees permanently
Hard Rule Check — Sarah M.
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 Sarah — trying next eligible employee…
Soft Preferences

Preferences the bot tries to honour

Preferences guide the bot when it has options. Distribute hours fairly over time, prefer certain employees for specific areas, fill from shift requests before assigning anyone else, or roster employees only at their highest qualified position.

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
James T. — Cook
22h this week · bot tag match · fewest hours
94
SCORE
Emma W. — Manager
71
SCORE
Liam C. — Floor Staff
58
SCORE
→ James assigned (fewest hours this week + bot tag match)
Shift Requests & Bids

Fill open shifts from your waiting list first

When shifts are published as open, employees can request or bid through the app. Configure the bot to fill those shifts from existing requests or bids before assigning anyone else — so staff who put their hand up always get priority.

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
Mia Patel Qualifies · 22h this week Assigned
Noah Brown 38h limit reached Skipped
Sarah Mitchell Leave approved this day Skipped
History-Aware

Six weeks of context, loaded automatically

The bot doesn't just look at this week. It loads 42 days of previous roster history and the forward month's rosters to fairly balance hours over time, respect work patterns, and avoid back-to-back weekend assignments across roster periods.

42-day lookback window loaded automatically per run
Forward calendar month included for fair month-wide balance
Work patterns matched (Mon–Fri, rotating shifts, etc.)
Public holiday awareness across the full period
Hour Balance — Last 6 Weeks
Sarah M.192h / 200h
James T.176h / 200h
Emma W.120h / 200h
Mia P.148h / 160h
→ Bot will prioritise Emma for the next available shifts
Built for Real Workplaces

Handling the scheduling complexity that other tools leave 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 automatic roster generation with RosterMate

Automatic roster generation fills an employee schedule without manual shift-by-shift assignment. RosterMate's bot reads your employee data — availability, approved positions, leave, work patterns, and recent shift history — then applies your configured rules to find the best employee for each open shift. The result appears in your roster instantly for review before you save anything.
Hard rules are absolute — the bot will never assign a shift if doing so would violate one, even if that means leaving the shift unfilled. Examples include maximum weekly hours, minimum rest periods, and position qualification requirements. Preferences are softer guidelines the bot will try to honour but can override if no better option exists — for example, preferring employees with fewer hours, or filling from shift requests before assigning anyone else.
Yes. Before assigning anyone to a shift, the bot checks approved leave requests, recorded unavailability, and work patterns for that employee. If an employee has approved leave on a day, they will never be assigned to a shift on that day regardless of any other rule. Unavailability windows — recurring or one-off — are respected in the same way.
Yes. Every employee in RosterMate has a set of approved positions. The bot will only assign an employee to a shift if they hold an approved position for that shift's role. You can also add a rule to roster employees only at their highest approved position — useful when a staff member is qualified at multiple levels and you want to deploy them at their most senior role first.
Fair hour distribution is a built-in preference. The bot loads 42 days of previous roster history and the current forward calendar month so it can track how many hours each employee has accumulated across the broader period — not just the current week. When multiple employees are equally eligible for a shift, the bot favours the employee with fewer accumulated hours.
Absolutely. The bot fills shifts in your working roster view and nothing is saved until you explicitly click Save. You can run the bot, review every assignment, manually adjust anything you like, and only then save and publish. The bot only fills empty shifts — it will never overwrite cells that already have an employee assigned.
RosterMate's auto-scheduler is designed around the real constraints of shift-based industries in New Zealand — including hospitality, healthcare, retail, and logistics. It handles multi-area rosters, varying shift lengths, overnight shifts across day boundaries, public holidays, casual and part-time workforces, and complex position hierarchies. The rule system is flexible enough to reflect the employment agreements of most industries.
If no eligible employee can be assigned without breaking a hard rule, the shift is left empty and you receive a notification showing how many shifts couldn't be filled. You can then review those gaps manually, adjust a rule, or override the assignment yourself. Shifts where employees have requested or bid are marked with icons, so unfilled cells still have useful context about who is interested.