Most security guard scheduling software is built for a company running dozens of sites and dozens of guards, and it prices itself accordingly. A single post that just needs to be covered 24 hours a day with a small team doesn’t need any of that — it needs a rest rule, a rule against a day shift the morning after a night, and someone to spread the weekends around fairly. This is a free tool built for exactly that smaller, sharper version of the 24/7 problem, with a solver underneath it instead of a template.

Small teams have no slack
A post that needs one guard on days and one on nights, every day, is 42 shifts over three weeks. Split across seven guards that’s six shifts each, and there’s almost no room to maneuver — one holiday request or one strict rest rule and a shift can go uncovered. That’s a very different problem from a large facility with sixteen staff, where a solver has room to trade people around. It’s also, not coincidentally, the simplest possible demonstration that the cross-midnight rules underneath this tool — minimum rest, no day-after-a-night, a cap on consecutive nights — are generic 24/7 shift-work rules, not something built specifically for hospitals. A guard post, a nursing ward, and a manufacturing line on three shifts all run on the same seven rules; only the shift lengths and headcounts change.
Fairness stops being a nicety on a team this size
The sample loaded on the page is the only one on the site with both weekend fairness and workload equity switched on. The first spreads Saturday and Sunday shifts across the team instead of parking them on whoever the solver reached first; the second flattens total hours between guards so nobody quietly ends up working noticeably more than everyone else. Both are soft rules — they lose to coverage, because an unguarded post is worse than an unfair Saturday — but on a seven-person team they change the roster you get out in a way you can see directly in the per-guard hours and night counts.
Weekend fairness needs one thing from your data to work at all: a readable day column. Dates or weekday names and the model knows which columns are Saturday and Sunday; opaque labels like “D1, D2, D3” and it can’t — and rather than guess, it turns weekend rules off and says so in the warnings. That warning is worth reading, because a silent guess here would hand back a roster that looks fair and isn’t.
The other thing a small team notices: continuity
With seven guards and 42 shifts to fill, an ordinary solver has no cost-based reason to prefer a clean block of days over a scattered one — the labour bill is identical either way, so it returns whichever roster it reaches first. The chart above is what changes when a clustering penalty is switched on: the same site, the same coverage, the same 7 guards went from 27 lone single-day shifts down to 3. Nothing about the cost changed; only who worked which day did. For a small team, that’s the difference between a guard getting a recognizable block of days and a guard being called in piecemeal across three weeks.
Different posts, different clearances
Real guard rosters aren’t always one interchangeable pool. If some guards are cleared for a site or a post that others aren’t, that’s a skills sheet, not a special case — one demand per post or clearance level, and only listed guards can be assigned to it. That’s structural, not a cost the solver can trade away: no combination of penalties will slip an uncleared guard onto a cleared post to save money.
Night and weekend pay, if you run it
A lot of guard contracts pay a differential for night or weekend hours, and this engine treats that as a cost input rather than something bolted on after the fact: the labour rate a solve trades against coverage can vary by shift and by day, so a night-shift or weekend differential shows up in the same objective the solver is already minimizing, not as a separate manual markup you apply to the output afterward. If your contract doesn’t differentiate pay by shift, leave the rate flat — nothing about the rest rules or clustering behaviour above depends on it.
Guard-scheduling questions
How small a team can this actually handle? There’s no minimum, and the interesting failures show up at the bottom end. Give it a genuinely impossible team — one guard, two shifts a day — and it won’t pretend: it returns the roster the rest rules allow and lists every post it couldn’t fill, instead of an error.
How does it handle holiday or time off? Leave that guard’s grid cell blank for the day and shift they’re away. Unavailability is a hard rule, so the solver takes a shortage before it ever books someone who’s marked off.
Is weekend fairness guaranteed? No, and it shouldn’t be — it’s a penalty, not a hard constraint. If the only guard who can cover Sunday night is the one who worked last Sunday night, the model covers the post anyway. The weekend counts in the results tell you when that happened so you can settle it directly.
What’s the legal minimum rest between shifts for security guards in the US? There is no single federal figure specific to private security work. Rest requirements, where they exist at all, come from state law or a specific contract rather than one national rule, so this is genuinely a “check locally” answer rather than one I can give you directly — the CDC/NIOSH guide to shift work is a reasonable starting point on the fatigue side while you confirm the legal minimum for your state or contract, then enter whatever you land on as the rest parameter here.
Can I print the roster for the guardhouse? Yes — the print view drops the site chrome and prints just the person-by-day grid, and there’s an Excel export next to it for anyone who’d rather have a workbook.
The same solver runs the site’s other 24/7 pages, including a generic round-the-clock scheduler and dedicated builds for hospital wards, fire stations, and correctional staff — useful if guarding isn’t your only shift-work problem to solve.
Things that I use, like, and am affiliated with:
Mint Mobile offers great cell phone service for $15 flat, get $15 off using the link. Get discounted phones with service activation and no contract.
I never spend money before I check Mr Rebates or Rakuten to get cashbacks, rebates, discounts, coupons or cheaper gift cards.
