Why availability is the hardest part of scheduling
Building a schedule isn't hard when you know who is available. The hard part is keeping that information current. Availability changes—employees get new obligations, schedules at other jobs change, school terms start and end. The longer you go between collecting and refreshing availability records, the more likely your schedule conflicts with what employees actually told you.
Step 1: Collect availability in a standard format
Use a consistent format so that every employee's availability can be compared on the same terms. The minimum information to collect:
- Days of the week — Which days is the employee available to work?
- Time ranges — For each available day, what are the earliest and latest times they can work?
- Days unavailable — Are there days they are never available (e.g., Sunday)?
- Maximum hours per week — Is there a hard cap on weekly hours?
- Preferred minimum hours — Is there a minimum they need to maintain income?
- Effective date — When does this availability take effect?
Use a standard form (paper or digital) that employees fill out. See the employee availability form template for a ready-to-use version.
Step 2: Get manager approval before applying
Availability submissions should require manager approval before they're used in scheduling. This step exists for two reasons:
- It creates an approval record so you know which version of an employee's availability is current and authorized.
- It gives the manager the opportunity to flag conflicts (e.g., the requested hours don't meet minimum coverage requirements for the role).
Without an approval step, employees can submit changes that conflict with business needs without the manager having a chance to respond before the next schedule is built.
Step 3: Keep availability current
Availability records that are more than a few weeks old should be treated as stale unless the employee has confirmed they haven't changed. Build a process for refreshing availability:
- Require employees to resubmit availability at the start of each new school term or season
- Ask employees to notify you of any changes before the next schedule cycle
- Mark any availability record older than [your threshold] as requiring reconfirmation
Stale availability is one of the most common causes of scheduling conflicts—an employee is scheduled for a day they told you (three months ago) they'd be unavailable.
Step 4: Build the schedule against current availability
Before filling in any shifts, mark which employees have approved time off during this schedule period. Then reference the current availability record for each remaining employee when assigning shifts. Don't rely on memory.
For each shift:
- Identify employees in the required role who are available for the shift's day and time
- Check whether any are at or near their maximum hours
- Fill the shift from available employees, noting any that remain open
Step 5: Handle conflicts between availability and coverage needs
Sometimes the available pool of employees on a given day isn't enough to meet staffing requirements. Options:
- Post an open shift and notify eligible employees who may be willing to pick it up
- Ask a specific employee whether they can make an exception
- Review whether your staffing requirements and available headcount are aligned (a persistent gap may indicate a hiring need)
What changes when availability is automatic
In Opyris, employees submit availability through the app. Managers approve it. The approved record is stored and used every time the automatic scheduler runs—without the manager having to re-consult availability records before building each schedule.
When availability changes, employees submit an update. The manager approves it. The next automatic run uses the current record. The manual lookup step disappears.
The result is the same scheduling logic, with the information management work removed from the manager's weekly routine.
Availability collected once. Used every schedule.
Employees submit availability in Opyris. Managers approve it. The scheduler uses it automatically every week.