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

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

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.

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

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.

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

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

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