Every request looks fine on its own. The trouble is the fourth one, when the people who were covering for the first three are now the ones asking. A good rule is to grant requests one at a time and rebuild the week after each, so you find the request that tips a shift into empty before you have promised it. We measured where that happens for one cafe.
The roster builder's built-in invented example: a seven-person cafe, 32 shifts, 235 hours to cover, a 40-hour overtime line and a 10-hour rest gap. We granted a Saturday-and-Sunday request to the five people with the widest weekend availability, one at a time in the order shown, and rebuilt the week after each. Everything else is the tool's defaults.
| Weekends off granted to | Shifts left open | Hours covered of 235 | Payroll |
|---|---|---|---|
| Nobody | 3 | 216 | $3,622 |
| Ana | 3 | 216 | $3,624 |
| Ana, Gus | 4 | 218 | $3,656 |
| Ana, Gus, Dev | 5 | 210 | $3,522 |
| Ana, Gus, Dev, Cleo | 7 | 192 | $3,252 |
| Ana, Gus, Dev, Cleo, Eli | 9 | 174 | $3,001 |
The first request is nearly free: the week still covers 216 hours and payroll moves by $2. The second costs a shift. By the fifth, more than a quarter of the week's hours are uncovered, and the payroll that "fell" is only the pay for shifts nobody is working. So the number to watch is open shifts, not cost. This is one invented example, not a benchmark, and your availability decides where your limit falls.
For each requested day, count the people who are available for the busiest shift and are not also asking. Grant the requests with the most spare cover first.
Each yes uses up someone who could have covered the next one, so the count drops by more than one.
Tell a person which shift would go empty. People take a specific reason better than silence. Check the rules where you operate for any notice or approval rules that apply.
There is no fixed number; it depends on how many other people are available when the requester is off. Grant them one at a time and rebuild the week after each: the first request that leaves a shift open is the limit for that week. The roster builder takes an off: entry per person and shows any shift it can no longer fill.
Put the approved days off into each person's availability before you assign anyone, so the schedule never gives them a shift on those days, then check whether any shift went uncovered. The roster builder reads an off: entry, such as off: Sat-Sun, and re-plans the week around it.