THREE-PLATOON DUTY PLANNER · 24 ON / 48 OFF
24/48 Schedule Generator
Build a ready-made, three-platoon duty rotation from a verified handoff date. Move individual assignments, record leave and relief, inspect coverage at the handoff, and export a dated roster that your department can review.
INTERACTIVE DUTY BOARD
Three crews. One continuous duty sequence.
Ready-made coverage is generated automatically. Click any cell to change a single duty; drag a duty to reassign it; use the lower grip to adjust its end time.
—
Click a colored duty block to edit it · Click an empty cell to add an assignment · Drag a duty between crew/date cells · Use the grip for ±30-minute duration changes.
Handoff-aware date + time lookup
A time before the handoff still belongs to the duty period that started yesterday. Exceptions are included for dates in the current plan.
Coverage and handoff review
THE COMPLETE PRACTICAL GUIDE
How to build, modify and verify a 24/48 firefighter or EMS duty roster
Use these instructions alongside the interactive generator. All examples concern the straight, three-platoon 24-on / 48-off model—not Kelly days, 48/96, payroll interpretation or a department-specific modified cycle.
Identify the real duty anchor and platoon sequence
Find a verified staffing calendar or handover record. Choose the first date displayed and identify which of the three platoons begins the duty tour at the handoff time. The generator assigns the next two duty starts to the following platoons, then repeats every third day. A mistaken anchor moves every assignment; the generator cannot infer the department's historical cycle automatically.
Rename the platoons to match your organization's actual identifiers. The names are labels, not individual employee records or validated staffing qualifications. If a department uses a different ordering, align the first-date selection with that sequence before exporting.
Enter the correct 24-hour duty handoff
Set the local station handoff time, such as 07:00 or 08:00. A nominal tour begins on the assigned duty date and normally ends at the same wall-clock time the following day. This is why checking only a date, without a time, can identify the wrong platoon early in the morning.
Calendar exports use dated start and end values. Daylight-saving transitions deserve independent review: the local clock may move forward or backward during a nominal 24-hour tour, and the actual elapsed time and payroll treatment may differ from the simple model. Validate imported calendar times before using them operationally.
Review the ready-made assignments and open a date cell
The grid shows three platoons as rows and dates as columns. One colored duty card appears on each ordinary base-cycle date; the other two crews are off. Click an empty cell if you need an additional duty or record an exception. Click an existing duty card to open its exact date, platoon, status, handoff time and duration.
A displayed date indicates when the duty begins; an overnight or 24-hour period extends into the next calendar date. Move horizontally through the board using its own scroll area on smaller screens. The rest of the page does not need to scroll sideways.
Handle substitutions, training and altered duty tours
To reassign a tour, drag its block onto the destination platoon and date; the source date is set to off, while the destination receives that duty, subject to confirmation if another assignment is already there. On touchscreen or keyboard devices, use the event editor to change platoon, date, status and timing explicitly.
The resize grip adjusts a duty's planned duration in 30-minute increments. For precise adjustments or cross-midnight tours, open the editor and type the start time and duration. Leave and training status are separate from active coverage. If a duty is canceled without relief, the coverage report should flag the resulting shortage. Temporary swaps do not rebuild the underlying three-day cycle.
Inspect the roster after every exceptional change
Run the coverage report after substitutions, extended tours, leave and added assignments. The report examines each displayed duty-start date to find missing or additional assignments, and evaluates handoff timing against the expected next tour. Read an alert as a reason for review—not as an instruction to add overtime automatically.
The tool cannot verify minimum engine or ambulance staffing, officer assignments, medical credentials, incident volume, employee fatigue, contractual rules or state and national labor regulations. Personnel adequacy and operational approval require the department's own processes.
Preserve your plan and generate a shareable record
Guest changes autosave in the current browser. Export JSON to keep the full editable draft including overrides; Restore JSON replaces the current draft only after confirmation. CSV provides a readable assignment table, while ICS creates real dated work events for calendar applications. Print/PDF creates a clean local review copy.
If you are signed in through the website's global account system, Save to My Schedules creates a new cloud snapshot using the existing ScheduleFlowLab schedule and event records. This is not an automatic live collaboration system and it does not update an earlier snapshot in place. Verify the result through your separate My Schedules page.
ROTATION MATHEMATICS AND REAL-WORLD LIMITS
Understand nominal hours, recovery periods and staffing decisions
A clean cyclic roster is useful for planning, but it should never be presented as a guarantee of actual worked hours, labor-law compliance or safe deployment.
Three dates repeat, not seven weekdays
The same platoon starts duty every third calendar day. Because three does not divide evenly into a seven-day week, workdays drift through weekdays and weekends. A 21-day period contains exactly seven duty starts for each crew in an unmodified cycle.
Where the 56-hour average comes from
Over a three-day cycle, each crew has one nominal 24-hour duty tour. Its long-run nominal scheduled average is 24 × 7 ÷ 3 = 56 hours per seven calendar days. This figure is not a payroll calculation. Pay-period boundaries, interruptions, leave and overtime rules can give different results.
Forty-eight off-hours are not an automatic fatigue clearance
Emergency calls, interrupted sleep, holdovers, commuting, second jobs and physical or emotional demands can affect recovery. Treat long duty shifts and reduced sleep opportunity as occupational-health topics to assess under appropriate department policy and specialist guidance.
Relief days are different from the base cycle
Kelly days, debit days, temporary assignments and 48/96 rosters change the exact on/off pattern. This page models straight 24/48 plus user-entered exceptions. It does not claim to generate a separate Kelly or 48/96 schedule or automatically optimize headcount.
24/48 QUESTIONS ANSWERED
Practical FAQs for a three-platoon duty calendar
Clear explanations of this generator's actual controls, assumptions and limitations—not claims about features it does not provide.
What is a 24/48 work schedule?
A three-day repeating arrangement in which a crew works a nominal 24-hour duty period and then has two consecutive off-duty days. Three staggered platoons can provide one new duty start each day.
How many platoons are needed in this example?
Three. The generator models three crews with one regular 24-hour duty start on each calendar date. Real staffing and required roles within each platoon are managed separately.
How do I align the duty rotation with my department?
Select a verified first date, the platoon that begins duty on that date, and the actual station handoff time. Review several historical dates before relying on any future output.
Can I move a tour or record sick leave?
Yes. Click a platoon/date cell to edit duty, off, leave or training. Drag a tour to another crew/date, or use the editor for precise keyboard and touch input. The base cycle does not change.
Does the date-and-time lookup account for the previous day?
Yes. Before today's configured handoff, the preceding day's duty start normally remains in effect. For a date inside the generated range, the lookup also reflects manual overrides.
How does a shift extension change my schedule?
Use the grip or editor to change that duty's planned duration. Coverage review will highlight gaps or overlaps around transitions. The change applies to that dated assignment, not to every future tour.
Is a 24/48 schedule always exactly 56 paid hours per week?
No. Fifty-six is the long-run average of nominal planned tour hours in the standard pattern. Actual pay and overtime depend on separate rules, pay cycles, leave and other factors.
What happens during daylight-saving transitions?
A duty beginning and ending at the same local clock time on consecutive dates can have a different elapsed-hour count during the clock change. Review exports and your department's local timekeeping policy.
Is cloud save automatic?
Browser autosave is automatic. Saving a separate cloud snapshot requires a signed-in account and a deliberate click on Save to My Schedules; the account's Supabase permissions must allow the write.
Can this tool determine staffing safety or legal compliance?
No. It cannot assess personnel qualifications, staffing sufficiency, contract provisions, rest-period compliance, incident demand, payroll or occupational fatigue. Those decisions require authorized review.
READY TO REVIEW YOUR DUTY ROTATION?
Set the real handoff, adjust the exceptional days, and save a schedule you can inspect.
The generated board is an editable starting example, not a published staffing order.
Return to the 24/48 duty board ↑