A volunteer schedule is a small puzzle with people in it. Each person can do some days, will do only so many shifts, and may not want certain jobs. Each shift needs a set number of people. Done by hand, the early volunteers get the best slots, the reliable ones get everything, and the last Saturday is left empty. The fix is a short method, applied the same way every time.
Open the free volunteer shift scheduler
A small food pantry opens on three Saturdays, 10, 17 and 24 October 2026. Mornings need two greeters and three packers, afternoons need a driver, and on the 17th an afternoon setup person. Ten invented volunteers have each given days, a maximum and, for some, a role they cannot do. The scheduler gives:
| Date | Slot | Role | Volunteers |
|---|---|---|---|
| 10 Oct | AM | Greeter | Ana Ruiz, Frank Lee |
| 10 Oct | AM | Packer | Ben Okafor, Carla Meyer, Hugo Silva |
| 10 Oct | PM | Driver | Jonas Weber |
| 17 Oct | AM | Greeter | Grace Kim, Ines Costa |
| 17 Oct | AM | Packer | Ben Okafor, Dev Patel, Elena Rossi |
| 17 Oct | PM | Driver | Jonas Weber |
| 17 Oct | PM | Setup | Dev Patel |
| 24 Oct | AM | Greeter | Elena Rossi, Ines Costa |
| 24 Oct | AM | Packer | Ana Ruiz, Frank Lee, Grace Kim |
| 24 Oct | PM | Driver | Carla Meyer |
All 19 places are filled. Nobody is on two shifts at the same time, nobody is over their maximum, nobody is in a role they excluded, and everyone has two shifts except Hugo, whose maximum is one. Jonas covers two of the three driver shifts because he is free only on Saturday afternoons, so the mornings could not use him. The scheduler checks all of that with a separate validator before it shows you the roster.
Nobody is asked for more than they agreed to, nobody is double-booked, and the work is spread so that no one carries two or more shifts above anyone else who could have taken them. Fair does not mean identical: someone who can only do one shift a month is not under-used by getting one.
The ones with the fewest available people for each place. If you fill the easy shifts first, your flexible volunteers get used up and the awkward early-morning or specialist shift is left empty at the end.
Ask each person for their own maximum rather than setting one number for everybody, then plan for most people to get fewer than their maximum. Volunteers who are asked for less than they offered tend to come back; those asked for more tend to drift away.
Look at why. If nobody is available, widen the ask or change the slot. If everyone available is already at their maximum, ask a few of them for one more shift, starting with the people the fairness report shows as under-loaded.
Allow it, but ask them to tell you. The reminder message includes who else is on each shift so people can arrange a swap with someone who can do the same role, and you can rebuild the roster with the change.