Making a work schedule for employees comes down to answering three questions in order: how many people do you need and when, who is actually available, and what does it cost? Most scheduling pain comes from answering them out of order, usually by opening a blank spreadsheet and typing names into boxes until the boxes are full.
This guide walks through the six steps I used for fifteen-plus years running retail floors and restaurant shifts, with a complete worked example you can copy. Every step works on paper, in a spreadsheet, or in scheduling software. If you want a head start, the free weekly work schedule template and employee availability form match the example below.
| Step | What you decide | What you end up with |
|---|---|---|
| 1. Forecast coverage | How many people each part of the day needs | A coverage grid and standard shifts |
| 2. Collect availability | When each person can and wants to work | A signed-off availability sheet |
| 3. Write the rules | Hour caps, breaks, rest, notice, swaps | A one-page scheduling policy |
| 4. Build the week | Who works which shift | A draft schedule |
| 5. Check cost and compliance | Overtime, labor percentage, legal limits | A corrected schedule |
| 6. Publish and manage changes | Posting, swaps, call-outs | A live schedule your team trusts |
Do not start with names. Start with demand. Break each day into dayparts (open, rush, midday, afternoon, close) and decide how many people it takes to run each one at the service level you want.
Here is the grid for Ridge Street Coffee, a fictional shop open 6 AM to 8 PM, seven days a week. The manager pulled hourly transaction counts and decided one barista can comfortably handle about 25 transactions an hour, with a second person on the register during rushes.
| Daypart | Mon to Thu | Fri | Sat | Sun |
|---|---|---|---|---|
| Open (6 to 8 AM) | 2 | 2 | 2 | 2 |
| Morning rush (8 to 11 AM) | 3 | 4 | 4 | 4 |
| Midday (11 AM to 2 PM) | 2 | 3 | 3 | 3 |
| Afternoon (2 to 5 PM) | 2 | 2 | 2 | 2 |
| Close (5 to 8 PM) | 2 | 2 | 2 | 2 |
Two rules worth keeping:
Coverage counts become shifts by drawing lines through the grid. Ridge Street ends up with five shift shapes, and weekends add a second rush shift and a longer second closer.
| Shift | Hours | Paid hours | Days |
|---|---|---|---|
| Opener | 5:45 AM to 2:15 PM | 8 | Every day |
| Early | 6:00 AM to 12:00 PM | 6 | Every day |
| Rush | 8:00 AM to 12:00 PM | 4 | Every day |
| Second rush | 8:00 AM to 12:00 PM | 4 | Fri to Sun |
| Closer | 12:00 PM to 8:30 PM | 8 | Every day |
| Second closer | 2:00 PM to 8:00 PM (Mon to Thu) or 12:00 PM to 8:30 PM (Fri to Sun) | 6 or 8 | Every day |
That is 32 paid hours a day Monday to Thursday and 38 a day Friday to Sunday, or 242 hours a week. Write that number down. It is the number your team's availability has to cover.
Standard shift shapes are easier to staff, easier for employees to plan their lives around, and easier to swap. Resist the urge to hand-craft a unique start time for every person.
The fastest way to lose an employee's trust is to schedule them at a time they told you they could not work. Collect availability in writing, on a deadline, in one place.
A printed or shared availability form works for small teams. Once you pass about ten people, a monthly availability tracker or an app where staff update their own availability saves you from chasing text messages.
| Employee | Role | Rate | Target hours | Available | Not available |
|---|---|---|---|---|---|
| Maya | Shift lead | $22 | 36 to 40 | Mon to Sat | Sun |
| Devon | Shift lead | $22 | 36 to 40 | Tue to Sun | Mon |
| Priya | Barista | $17 | 28 to 30 | Mon to Fri, mornings | Evenings, weekends |
| Luis | Barista | $17 | 20 to 28 | Wed to Sun | Mon, Tue |
| Jordan | Barista | $17 | 24 to 32 | Any day, prefers mornings | Thu (class) |
| Amara | Barista | $17 | 36 to 40 | Mon to Sat, from noon | Mornings, Sun |
| Sam | Barista (new hire) | $16 | 20 to 24 | Any day | None |
| Chen | Barista (student) | $16 | 12 to 16 | Sat, Sun, Fri after 2 PM | Weekdays before 2 PM |
Add up the maximums: 250 hours. Add up the minimums: 212. The coverage plan needs 242, so the week is staffable, but only just, and Sunday is thin because three people are unavailable. Knowing that before you build the schedule tells you exactly where to hire next.
Every schedule you build should follow the same short list of rules. Put them on one page so you, your assistant manager, and your staff all work from the same list.
Now fill in the grid, and the order matters.
| Shift | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|---|
| Opener (8) | Maya | Maya | Maya | Maya | Maya | Maya | Luis |
| Early (6) | Priya | Priya | Priya | Priya | Priya | Chen | Jordan |
| Rush (4) | Jordan | Jordan | Luis | Luis | Luis | Luis | OPEN |
| Second rush (4) | Sam | Sam | Sam | ||||
| Closer (8) | Amara | Amara | Devon | Devon | Devon | Devon | Devon |
| Second closer (6 or 8) | Sam | Sam | Jordan | Amara | Amara | Amara | Chen |
Nobody was available for the Sunday rush shift, so the manager left it open rather than forcing someone onto it. That is the right call: an honest open shift gets picked up; a shift nobody agreed to gets called out.
This is the step most managers skip, and it is where the money is. Total each person's hours and check them against the rules from Step 3.
| Employee | Draft hours | Target | Problem |
|---|---|---|---|
| Maya | 48 | 36 to 40 | 8 hours of overtime |
| Devon | 40 | 36 to 40 | |
| Priya | 30 | 28 to 30 | |
| Luis | 24 | 20 to 28 | |
| Jordan | 20 | 24 to 32 | Under his minimum |
| Amara | 38 | 36 to 40 | |
| Sam | 24 | 20 to 24 | |
| Chen | 14 | 12 to 16 | |
| Open shift | 4 | Sunday rush unfilled |
Two problems, one fix: move the Saturday opener from Maya to Jordan. Maya drops to 40, Jordan rises to 28, and both are inside their targets. Jordan's Saturday opener still leaves almost 16 hours before his Sunday early shift, so the rest rule holds.
Ridge Street forecasts $16,500 in sales for the week. Wages for the corrected schedule, including the open shift at the new-hire rate, come to $4,472, or 27.1 percent of sales. Add roughly 10 percent for payroll taxes and you are near $4,920, which is inside the shop's 30 percent target.
The first draft cost $4,600, because Maya's eight overtime hours were paid at $33 instead of $22. Catching one overtime problem saved $128 in a single week, and this kind of leak usually repeats every week until someone looks. The labor cost calculator does this arithmetic for you if you would rather not build the spreadsheet.
Run down this list every time, in this order:
Scheduling software runs this whole list automatically and flags problems as you drag shifts around. On paper it takes about ten minutes for a team this size, and it is the ten minutes that pays for itself.
A schedule is only finished when everyone has seen it.
Wherever you post, post in one place and make it the source of truth. If the schedule lives on a break-room wall, a photo in a group text will drift out of date the first time you make a change. If it lives in an app, employees get the change pushed to their phone and you can see who has viewed it.
Ridge Street posts on Wednesday at 5 PM for the week starting the following Monday. Every employee knows when to look.
The swap policy from Step 3 does the work here. An employee finds a colleague in the same role, both agree, the manager approves. Approval is where you re-run the overtime and rest checks, because a swap that pushes someone to 44 hours costs more than the shift was worth.
Once a month, compare scheduled hours to actual hours, overtime paid, and the number of last-minute changes. If overtime keeps appearing on the same person, the coverage grid is wrong, not the person. If Sunday keeps going short, it is time to hire a weekend part-timer.
A spreadsheet or the printable weekly work schedule template is fine for a single location with a stable team of ten or fewer. You will do the Step 5 checks by hand, and you will post a photo or a PDF.
Software earns its keep when any of these are true: more than about ten people, more than one location, frequent swaps and call-outs, hourly staff who need the schedule on their phones, or a state or city with predictive scheduling rules. The best employee scheduling software roundup compares the main options, including free tiers.
EpicShifts is free for teams of up to 10 employees, and every new account gets 14 days of the full Business plan. Availability collection, the overtime and rest checks in Step 5, open-shift posting, and approved swaps are all built in, so the six steps above take minutes instead of an afternoon.
Two weeks is the standard to aim for. Some jurisdictions require 14 days' notice for covered employers under predictive scheduling laws, and even where no law applies, two weeks lets employees plan childcare, classes, and second jobs.
Follow the same six steps. Put days across the top, shifts down the side, and type names into the cells. Add a column per employee that sums their hours so you can see overtime at a glance. The free weekly schedule template already has this layout.
Most employers treat 36 to 40 hours a week as full time. For employer health coverage under the Affordable Care Act, 30 hours a week counts as full time, so check that threshold if you offer benefits.
Build a coverage grid once, keep standard shift shapes, collect availability on a deadline, and re-use last week's schedule as the starting point. Most small teams settle into a stable weekly pattern within a month, and from then on you are only adjusting for time off.
Publish the rules, rotate the unpopular shifts on a visible cycle, honor availability sheets, and fill hours for people who need them before preferences for people who want them. Fairness that employees can see matters more than fairness you privately intend.
A rotating schedule moves employees through different shifts on a fixed cycle, for example two weeks of mornings followed by two weeks of evenings. It spreads the unpopular shifts evenly and is common in healthcare, manufacturing, and 24-hour operations.
Ready to build next week's schedule? Start free with EpicShifts, collect availability from your team's phones, and let the overtime and coverage checks run themselves.
Tags:
Share:
We use cookies to improve your experience on our platform. Essential cookies are required for the site to function properly (authentication, security). Optional cookies help us understand how you use the site and improve our services. Learn more about cookies