Demand for the counter rises and falls across the day; your crew's shifts are blunt eight-hour blocks. Drag each shift along the clock, slide its length, switch the demand pattern — and try to cover the peaks without paying a crowd to stand idle at 4am.
Demand is a required-staff level for each of the 24 hours; each worker covers a contiguous shift block you drag along the clock. Coverage(h) = how many shifts include hour h. The instrument sums the understaffed hours (demand > coverage) and the idle paid hours (coverage > demand) exactly, and reports the service level (fraction of hours fully covered) and the labour cost in worker-hours. Real workforce-scheduling arithmetic — the gap between blunt shifts and a smooth demand curve.
A single day, integer demand, and no breaks, skills, or legal rest rules stand in for real rostering (an NP-hard optimisation in practice). The accounting shown — covered, understaffed, and idle-paid hours — is computed exactly for the schedule you build.