Most staffing plan templates online are headcount forecasts built for HR and finance. They help a company agree on how many people to employ and what that costs. If you run a cafe, restaurant or shop, your question is different: how many people do I need on the floor from 11:00 to 15:00 on a Saturday? This page gives you a plan that answers it.

Template contents

The plan has one row for each daytime block, and days with the same pattern can share a row. Every row holds the same few fields, so you can scan a whole week in a minute.

  • Day and block, for example Saturday 11:00-15:00.
  • Minimum: the fewest people who can run that block safely.
  • Rush level: the number you want when the block is busy.
  • Planned: the number you commit to after checking your budget.
  • Role mix, such as 1 barista and 1 counter, or 1 cook and 2 servers.
  • Notes for events, deliveries, holidays or a new hire in training.

These columns are a layout suggestion, not an industry standard. Rename the roles to fit your business: a shop might use till, floor and stockroom, and a restaurant might use host, server and line. Zchedule's free schedule templates can be copied, printed or downloaded as a CSV, so you can paste the plan table into a spreadsheet and the sample week further down is available as a CSV download.

Worked example for a small cafe

The table below is an illustration for an imaginary cafe open 7:00 to 19:00, split into three four-hour blocks. The numbers are placeholders chosen to show the method. They are not benchmarks, so replace them with what your own sales tell you.

Example only: shift-level staffing plan for an imaginary cafe (placeholder numbers)
DayBlockMinimumRush levelPlannedRole mixNotes
Mon-Thu7:00-11:001321 barista, 1 counterQuiet start; delivery on Wed
Mon-Thu11:00-15:002431 barista, 2 counterLunch queue
Mon-Thu15:00-19:001221 barista, 1 counterClose with two
Fri7:00-11:002321 barista, 1 counter
Fri11:00-15:003442 barista, 2 counterBusy lunch
Fri15:00-19:002321 barista, 1 counter
Sat7:00-11:002432 barista, 1 counterWeekend start
Sat11:00-15:003542 barista, 2 counterBusiest block
Sat15:00-19:002431 barista, 2 counterTaper toward close
Sun7:00-11:001321 barista, 1 counter
Sun11:00-15:002431 barista, 2 counter
Sun15:00-19:001221 barista, 1 counter
Example only: shift-level staffing plan for an imaginary cafe (placeholder numbers)

Steps to build your own plan

Step 1: set demand for each block

Forecast demand by hour rather than only by day, so your plan shows when to staff as well as how many. If you have past sales or footfall by hour, split each day into blocks and mark the busy and quiet ones. If you have no records yet, count tickets or customers for two weeks and use that.

Step 2: set two levels for every block

Write down a minimum, the level at which the block can still run safely, and a rush level for when it is busy. Having both numbers lets you decide in advance where to hold back and where to add someone, instead of deciding on the day.

Step 3: fill in the table and check the totals

Add up planned people multiplied by block length and compare the result with your labour budget. In the example, a Monday to Thursday day needs 2 + 3 + 2 = 7 people across three four-hour blocks, which is 28 person-hours. Check your local scheduling rules before you finalise the week.

Step 4: assign named people

A plan only says how many people. A schedule says who. Below is an example week for the same imaginary cafe, with illustrative names, built to meet the planned numbers and role mix above. The shifts are 7:00-15:00, 11:00-19:00 and the four-hour 15:00-19:00 close. Download the CSV, change the names and times, and you have a draft week.

Example only: one week for an imaginary cafe, Monday to Sunday, with illustrative names and weekly hours in the role column
EmployeeRoleMonTueWedThuFriSatSun
Maya (example)Barista, 40 h7:00-15:007:00-15:007:00-15:007:00-15:00off7:00-15:00off
Devon (example)Barista, 32 h15:00-19:0015:00-19:00offoff7:00-15:007:00-15:007:00-15:00
Ana (example)Barista, 24 hoffoff15:00-19:0015:00-19:0011:00-19:0015:00-19:0015:00-19:00
Priya (example)Counter, 40 h7:00-15:007:00-15:00off7:00-15:0011:00-19:0011:00-19:00off
Sam (example)Counter, 40 h11:00-19:00off7:00-15:0011:00-19:00off7:00-15:007:00-15:00
Lee (example)Counter, 36 hoff11:00-19:0011:00-19:00off7:00-15:0015:00-19:0011:00-19:00
Example only: one week for an imaginary cafe, Monday to Sunday, with illustrative names and weekly hours in the role column

Once names are in, check each person against their availability and their weekly hours. In the example nobody goes over 40 hours. Also check overtime, certifications and seniority where they matter to you, and add them to your own checklist. For more on building the week, see the restaurant employee scheduling guide and the guide to preventing overtime.

Step 5: review every week

At the end of each week, compare what you planned with what happened. Where you were short at a rush, raise that block. Where people stood idle, lower it. Mark holidays and local events in the notes column ahead of time, and flag any block where you could not reach the minimum so you can look for cover early.

Checking coverage against the plan

Lay the named week next to the plan and count people block by block. The table below does that for the example week. Each count matches the planned number, and the role mix matches too.

Example only: people scheduled in each block of the example week, compared with the plan
Day7:00-11:0011:00-15:0015:00-19:00Matches plan
Monday232Yes
Tuesday232Yes
Wednesday232Yes
Thursday232Yes
Friday242Yes
Saturday343Yes
Sunday232Yes
Example only: people scheduled in each block of the example week, compared with the plan

A gap is any block with fewer people than the minimum, or a rush block where you planned fewer than the rush level. Fill gaps by asking for volunteers, moving a shift or adjusting the plan, and write down what you chose so next week starts from a better draft.