The EZShift scheduling engine
One engine.
Behind every schedule decision.
The EZShift engine recommends who fits each shift best, builds the schedule on its own, checks every change before it is saved and checks the whole schedule before it goes out to your team. Always by your organization’s rules, requests and history.
What the engine knows
- Your scheduling rules
- Availability and requests
- Time off and special requests
- Positions and skills
- Contracted hours
- Past schedules
- What you already assigned
Scheduling engine
- RecommendsLaura fits Tuesday evening best
- SchedulesThe schedule is ready for review
- Stops mistakesTrade stopped: only 8 hours of rest
- Checks before publishingNo errors, ready to publish
What the engine knows
Everything an experienced scheduler remembers. Every shift, every time.
The engine knows your employees, your shifts, your rules and your past schedules. Recommendations, automatic scheduling and every check rely on exactly the same knowledge. Here is some of what it takes into account:
- Won’t happen
- Weighed by importance
- The engine takes care of it
Scheduling rules
Legal rules, company rules and scheduler rules. Hard rules are never broken, and soft rules are weighed by the importance you gave them.
-
Up to 6 shifts in 7 consecutive days
A seventh shift in a row won’t be assigned
-
24 hours of rest after a night shift
After a night, the employee won’t be scheduled the next day
-
Up to 2 weekends in a row
Whoever worked the last two weekends won’t be scheduled for a third
-
Preferably no more than 5 hard shifts a month
Hard shifts are shared out, and exceeded only when there is no other way
-
At least 1 evening shift a week for waiters
The engine will try to give every waiter one evening a week
-
Night rotation based on the last 4 weeks
Whoever hasn’t done nights lately gets them first
Availability and requests
What employees submitted, exactly as they submitted it: for a date, for a specific shift or as fixed availability for every week.
-
Omar marked can’t work on Tuesday evening
Omar won’t be scheduled there, and won’t appear in the recommendations for that shift
-
Lucy marked prefer not on Fridays
Lucy will be scheduled on Friday only if there is no better solution
-
Laura asked for the Monday morning shift
Laura gets priority over those who didn’t ask
-
Tom can’t work on Wednesdays, every week
Fixed availability applies to every schedule, without submitting it again
-
A schedule where no availability counts as unavailable
An employee who didn’t submit availability for a shift won’t be scheduled for it
Time off and special requests
Approved time off, sick days and special requests go into the schedule, without anyone having to remember them.
-
Noa’s vacation was approved for the 12th–16th
Noa won’t be scheduled on those days
-
Maya has an approved sick day on Tuesday
Maya won’t be scheduled on Tuesday or appear in that day’s recommendations
-
A special request that counts as a shift, such as a training day
The day counts toward contracted hours, so the employee won’t get shifts beyond the quota
Positions and skills
Every employee is scheduled only for what they know how to do, and in a secondary position only when needed.
-
The evening shift needs a shift supervisor, 2 cashiers and a stock clerk
Every place in the shift is filled by its position
-
Ben is a waiter and can also work the bar
Ben will be put on the bar when a bartender is missing, not instead of the bartenders
-
The shift requires a senior nurse
Only someone with the right level in the position will be scheduled
-
An employee marked manual scheduling only
The engine won’t schedule them on its own. You decide when
Contracted hours
Minimum, maximum and preferred number of shifts and hours, per schedule and per week.
-
Students: 2 to 4 shifts a week
The engine fills up to the minimum and never goes past the maximum
-
Full-time: up to 40 hours a week
Scheduling beyond the maximum won’t happen
-
Ella is 2 shifts short of her contracted hours
Ella gets priority over those already close to their quota
-
Preferably 5 shifts a week for senior employees
The engine will try not to give them fewer, or more
-
Monthly overtime in two tiers
The engine avoids overtime, and the higher tier even more. Including the hours already worked this month
Rest
Rest between shifts, rest after nights and weekly rest, even when the rest started in the previous schedule.
-
At least 11 hours of rest between shifts
A morning starting at 07:00 won’t follow an evening that ended at 23:00
-
Preferably 16 hours of rest between shifts
The engine gives more than the minimum whenever it can
-
Weekly rest of 35 hours in a row
Every week, every employee gets 35 consecutive hours without shifts
-
Omar ended the previous schedule with a night shift
The rest after it is kept at the start of the new schedule too
Past schedules
The engine remembers what happened in previous weeks, so the split is fair over time and not just within one schedule.
-
Laura did nights for the last two weeks
In the next night rotation, it’s someone else’s turn
-
Omar ended the previous schedule with 3 nights in a row
The streak keeps counting in the new schedule
-
Saturday rotation based on the last 4 schedules
Whoever hasn’t worked a Saturday lately gets the next one
-
Ella already worked 20 hours of overtime this month
Those hours also count in the next schedule of the same month
The shifts
How many employees each shift needs, what matters more and what is scheduled only by hand.
-
Not enough employees for all the shifts on Monday
The more important shifts are filled first
-
You already assigned the shift supervisors for the weekend by hand
Your assignments stay, and the engine builds the rest around them
-
A double shift: morning and evening on the same day
Only for those allowed doubles, and up to the quota you set
-
A shift marked manual scheduling only
The engine won’t touch it
-
An employee with high priority
Their requests and preferences carry more weight
Four moments. One engine.
The engine is with you from the first shift to the Thursday night trade
The scheduling engine doesn’t only work when you click "Auto schedule". The same engine, with the same rules, stays with the schedule for its whole life.
- Recommends Who fits the shift best? While you build, after the run and after publishing too. Details
- Schedules Builds the whole schedule from everything it knows, around what you already assigned. Details
- Prevents mistakes Every addition, replacement and edit is checked before it is saved. Details
- Checks before publishing All the alerts of the whole schedule, in one place. Details
1 · Scheduling recommendations
Who fits the shift best? The engine already checked.
Open an empty shift or replace an employee, and the list is already sorted: the best fits at the top, and whoever must not be scheduled doesn’t appear at all. Click a name to see every alert the assignment would cause, in advance.
- While building the scheduleAssign the sensitive shifts by hand, with a recommendation, even before automatic scheduling.
- After automatic schedulingWant to replace someone? The engine ranks who should step in.
- After publishing, mid-weekAn employee called in sick this morning? Get the best replacements, and let your team know about the change.
- All employees
- Matching position
- Position and availability
- EZShift recommendation
- L Laura Miller
- O Omar Haddad
- L Lucy Evans
- B Ben Carter
No notes for this assignment
Assign Laura Miller Cancel
How the engine ranks
Why is Laura first on the list?
Every candidate is checked by what their assignment would do to the whole schedule, with the same rules and preferences as automatic scheduling.
-
Moves up the list
- Asked for the shift
- Is short of shifts or hours to reach their contracted hours
- Hasn’t worked shifts like this lately, by the rotation
- Is scheduled in their main position
- On a tie: the employee with higher priority
-
Moves down the list
- Marked "prefer not"
- Would be scheduled in a secondary position
- Would get less rest than preferred
- Would go past their preferred number of shifts
- Would go into overtime
- Would move away from a soft rule you set
-
Won’t appear on the list
- Marked "can’t work" or is on time off
- Is already scheduled at the same time or on the same day
- Wouldn’t get the minimum rest
- Their position or level doesn’t fit
- Would go past the maximum shifts or hours
- Would break a hard rule
Want to schedule someone who isn’t on the list anyway? Choose "All employees", and the engine shows the alerts before you confirm.
2 · Automatic scheduling
Click a button. The engine builds the schedule around what you already assigned.
The engine fills every empty place from everything it knows, and looks for the best schedule, not just one that works.
- Assignments you already made stay in place, and the schedule is built around them
- Run it on part of the schedule only: by position, shift name, team or empty shifts only
- Run it several times, in several rounds
- At the end of the run, the schedule check opens with everything worth reviewing
- Closed the page halfway? You get an email when the schedule is ready
- 72 employees (6 manual only)
- 412 shifts (48 assigned)
- Laura
- Omar
- Lucy
- Ben
- Noa
- Tom
- Maya
- Ella
- Sam
- Lily
- Adam
- Emma
- Leo
- Mia
- Reading availability…
- Reviewing past schedules…
- Balancing weekly hours…
- Resolving conflicts…
What happens in every run
When not everyone can get everything, the engine knows what to give up
A real schedule is full of conflicts. A few of the decisions the engine makes in every run, so you don’t have to:
- Won’t happen
- Weighed by importance
- The engine takes care of it
-
Two employees asked for the same Friday shift, and there is room for one
The engine decides by everything else: the rotation, contracted hours and what each already got
-
Not enough employees for all the shifts on Monday
The important shifts are filled first, and the places left empty are marked for you
-
The only way to fill a place is to break legally required rest
The place stays empty. A hard rule is never broken to fill a shift
-
A bartender is missing, and Ben the waiter can also work the bar
Ben will be put on the bar, because that is better than an empty place
-
The only employee who fits the shift marked "prefer not"
They will be scheduled, and the alert will wait for you in the schedule check
-
Ella is short of shifts, and Tom is already close to his maximum
The empty shift goes to Ella
-
Maya is short of shifts, but none of the empty shifts fits her
Maya won’t be forced in. The schedule check will show you she is short of shifts
-
You assigned an employee by hand against a rule
Your assignment stays. The engine doesn’t correct you, it only alerts
3 · Mistake prevention
Every change is checked before it is saved
Adding, replacing, swapping employees, dragging on the board or editing a shift: the engine checks every change against everything it knows and shows the alerts before you confirm.
- While you dragDrag an employee on the board, and they are colored by the severity of the alerts before you even let go.
- The decision follows permissionsFor every alert and every rule, you set which managers may go ahead anyway.
- No permission?The change isn’t saved, and one click takes you to check other employees for the shift.
- Omar will be scheduled for Wednesday night with only 8 hours of rest after the morning shift
- Laura will be scheduled on Thursday despite her request: prefer not
What each manager can do
Schedule manager
Swap Laura and OmarShift manager
Assignment not allowed
Check other employees for the shift
What is checked
Every action on the schedule, and its check
These are the kinds of alerts a manager sees before confirming a change. A few examples:
- Error
- Warning
- OK or will be resolved
Adding an employee
Assign an employee to an empty place, from the list or by dragging on the board.
-
Assigning Laura to Thursday morning
Laura will be scheduled on Thursday despite her request: can’t work
-
Assigning Tom to Tuesday evening
Tom will be scheduled for overlapping shifts on Tuesday
-
Assigning Ben to the bar
Ben will be scheduled by a secondary skill
-
Assigning Ella to Monday morning
No notes for this assignment
Replacing an employee
Take an employee out of a shift and put another employee in their place.
-
Omar replaces Lucy on Wednesday night
Omar will be scheduled with only 8 hours of rest after the morning shift
-
Lucy leaves the shift
Lucy will be below the minimum shifts for the week
-
Noa replaces Maya on Saturday
Noa will go past the maximum hours for the week
Swapping employees
Swap shifts between two employees on the board, or approve a trade request your employees sent.
-
Laura and Omar swap Friday and Saturday
The rule "Up to 2 weekends in a row" will be broken for Omar
-
A manager approves a trade request between Lucy and Ella
Lucy will be scheduled on Friday despite her request: prefer not
-
Tom and Ben swap their Tuesday shifts
Ben will be scheduled for more than one shift on Tuesday
Editing a shift
Change the hours, positions, name or tag of a shift. The engine compares the schedule before and after the change, and marks what is new, what got worse and what will be resolved.
-
Moving the evening shift up to 14:00
Overlap with Tom’s morning shiftNew
-
Extending the night shift until 08:00
Only 8 hours of rest for LauraWorse
-
Shortening the evening shift by an hour
Rest below the minimum for OmarResolved
-
Adding the shift supervisor position to the shift
Lucy doesn’t fit the shiftNew
An employee’s hours in a shift
Change the start or end time of one employee within a shift.
-
Maya will stay until 23:30
Maya will go past the maximum hours for the weekNew
-
Ben will come in an hour later
Less rest than preferred for BenBetter
-
Ella will leave an hour earlier
Monthly overtime in the lower tierResolved
Copying a day or shift
Copy a day or a shift to other dates, with or without the employees. Alerts are shown by date, across the whole period.
-
Copying Monday, with the employees, to every day of the week
Laura will go past the maximum shifts for the week
-
Copying the morning shift to Tuesday
Noa will be scheduled on Tuesday despite approved time off
-
Copying a shift to a day the employee is already scheduled for it
An employee can’t be scheduled twice for the same shift. No manager can override this
4 · Schedule check
Right before the schedule goes out to your team, check all of it
One click, and all the alerts of the schedule are gathered in one place: what the engine found, what is still empty and what was assigned by hand against the rules. Fix, check again and publish with peace of mind.
- Errors, warnings and information, by alert type or by employee
- Shifts that aren’t fully staffed, and how many places each one is missing, are highlighted on the board
- Click an alert to highlight the employee and jump to their shifts
- Remove an assignment straight from the list
- Changed something? The "Check again" button reminds you to recheck
- The check opens on its own at the end of every automatic scheduling run
3 shifts not fully staffed (4 places missing)
Time and rest conflicts2
- Tom is scheduled for overlapping shifts on TuesdayRemove assignment
- Lucy is scheduled on Wednesday with only 8 hours of restRemove assignment
Schedule rules3
Availability requests2
Check again
The alerts
What the engine spots in the schedule
The same alerts appear in all four moments: when you choose a candidate, at the end of automatic scheduling, on every change and in the schedule check.
- Error
- Warning
- Info
Positions
Who is scheduled for a position they aren’t supposed to fill, or fill only as a secondary position.
-
Tom is scheduled as shift supervisor, but doesn’t fit the shift
-
Noa is scheduled at a level that doesn’t fit her in the position
-
Ben is scheduled for the bar by a secondary skill
Time and rest
Overlaps, two shifts on the same day, too little rest and weekly rest, also against the previous schedule.
-
Laura is scheduled for overlapping shifts on Tuesday
-
Omar is scheduled for more than one shift on Wednesday
-
Lucy is scheduled with only 8 hours of rest between shifts
-
Maya is scheduled with less rest than she prefers
-
Ella’s Monday shift overlaps an assignment from the previous schedule
-
Ben has no 35 hours of consecutive rest this week
Schedule rules
Every rule you set alerts by its name, so it’s clear what was broken and for whom.
-
"Up to 2 nights in a row for new employees" broken: 3 nights for Noa
-
"24 hours of rest after a night" broken for Tom
-
"At least 1 evening shift a week for waiters": Omar is one shift short
-
"Preferably 2 morning shifts per employee": Laura got 4
Requests and time off
Assignments that clash with what employees asked for, what managers asked for on their behalf and approved time off.
-
Laura is scheduled on Thursday despite her request: can’t work
-
Lucy is scheduled on Friday despite her request: prefer not
-
Noa is scheduled during approved time off
-
Tom is scheduled on Monday despite a manager request
-
Ben is scheduled for a shift he didn’t submit availability for
Contracted hours
Minimum and maximum shifts and hours, per week and for the whole schedule, and monthly overtime.
-
Maya is above the maximum hours for the week
-
Omar is above the maximum shifts for the schedule
-
Lucy is below the minimum shifts for the week
-
Ella is in overtime, in the higher tier
Double shifts
Who may work a double shift, and how many doubles are allowed per week and per schedule.
-
Laura isn’t allowed to work double shifts
-
Omar went past the weekly quota of double shifts
Coverage and the next schedule
Places left empty, employees who weren’t scheduled, and what the next schedule needs to know.
-
3 shifts not fully staffed (4 places missing)
-
Maya wasn’t scheduled for any shift in the schedule
-
Omar’s streak of nights carries over to the next schedule
-
Lucy’s weekly rest continues into the next schedule
You decide
You decide what alerts, and who may go ahead anyway
The system administrator chooses which alerts are shown, and for every alert and every rule sets which managers may override it. So a shift manager can close a last-minute trade, but can’t break legally required rest.
- Show or hide every type of alert
- Override permission by manager level: basic manager, shift manager, senior shift manager, schedule manager and system administrator
- A separate override level for every rule you set
- Some mistakes no one can override, such as scheduling the same employee twice for the same shift
Time and rest conflicts
Rest below the required minimum
May override: BasicShiftSenior shiftScheduleSystem
Availability requests
Blocked / availability constraint broken
May override: BasicShiftSenior shiftScheduleSystem
Availability request broken (preference)
May override: BasicShiftSenior shiftScheduleSystem
Employee position fit for the shift
Fit by secondary skill
May override: BasicShiftSenior shiftScheduleSystem
Scheduling rules
Up to 2 nights in a row for new employees
May override: BasicShiftSenior shiftScheduleSystem
Want to see the engine work on your schedule?
Try it with your own rules and employees. 14 days of full access, no credit card needed.
Start free trial