November 2, 2026, 07:00 → November 3, 07:00. A crew is scheduled, C is offgoing, B is oncoming. Clock controls process callback deadlines.
All operations crews · 24 hours, 07:00–07:00 · . Select a date to see station assignments and changes during that shift.
Choose a date above.
Current shift plus shifts starting in the next seven days, based on the simulation clock. Approved schedule changes and awarded coverage are included. Reviewing this outlook does not make moves or page callbacks.
Automatic upcoming moves apply complete plans only before a shift starts. Once the shift begins, positions stay in place and changes require manual review. Automatic workflow also creates callbacks, applies their supporting moves while overtime is open, processes deadlines and proposes force hires. Supporting moves are reevaluated if coverage cannot be filled. Force hires require approval; all automatic actions stop at that shift’s 07:00 start.
Time off
Personnel qualifications
Demo personnel start qualified for their own rank and the next rank up; BCs start with BC only. Add the required qualifiers for any higher position to permit working up. Extra qualifiers can represent driver or apparatus requirements. There is no limit on how many ranks a qualified person may work up. Traveling to fill a lower rank remains prohibited.
Crew rotations and station order
Independent firefighter work-up and travel rotations. Source stations rank by personnel above minimum; station order breaks ties. For a full feasible plan, global feasibility takes precedence over individual preferences.
Position requirements
Minimums and required qualifiers are configurable by station and rank. Requirements in this prototype are station/rank positions; apparatus-specific seats are a later step.
My calendar
Your work assignments and time off appear below. Click a date to set auto-accept, auto-decline or no automatic response, with optional station and truck filters. Each date represents the 07:00 shift day. Changes apply to new pages; normal eligibility and list priority still apply.
Green: auto-accept · Red: auto-decline · Gray: no automatic response. Existing repeating rules remain defaults; daily choices override them.
Any named list can be used for callbacks or force hires. Drag a person to change their order within a tier. Review every affected list before saving. Awards follow the configured rotation links.
Keyboard: focus a person and use Alt + ↑ or ↓ to reorder.
Create callback or force hire
Manual offers retain your chosen deadline and pause automatic staffing creation until resolved. Before shift start, creating an offer restores temporary moves. After start, it retains finalized placements. Use automatic mode on Staffing to simulate callbacks and officer fallback from absences.
Offers and pending force hires
Time-off requests
Approved normal-shift leave
Record approved leave on the employee's normal 24/48 shift. Leave touching the beginning protects the preceding 48 hours; leave touching the end protects the following 48 hours. Middle-only leave has no protection.
Force-hire protection
Timezone can be set in a fresh demo before schedules or leave are recorded. Protection uses exactly 48 elapsed hours, including across daylight-saving changes. Protection does not block voluntary callbacks when the employee is otherwise available.
Approved leave records
Trade balances
See hours owed today and how approved upcoming trades will change each balance. Requests awaiting approval are excluded.
Request a shift trade
Full or partial coverage of a normal assignment. Requests appear on the schedule while the original employee remains assigned until supervisor approval. Covering employees must be qualified and available for all hours.
Trade requests and coverage
Changes and cancellations require approval; existing coverage remains official while they are pending. Started trades require manual schedule review. After coverage ends, a supervisor can correct actual hours with a reason.
Time ledger history
Drag a person to a station to keep their rank, or to a rank group to change their position. Stage several moves, then review future leave and save the batch together. Nothing is saved while dragging.
Admin assignment defaults
Monday–Friday defaults for the daily calendar. Calendar Edit hours changes only the selected employee and day. Initial defaults are 08:00–17:00. Start and end times are on the same weekday.
Reusable templates can be added to any of their allowed calendar buckets. Choose allowed buckets and a default in Edit defaults. Notes belong to each calendar day.
Review before saving
Assignment history
Saved changes are effective at 07:00 on the chosen date. Add later changes to preserve the history. Qualifiers are not inferred from a promotion. New firefighter crew members join the bottom of that crew’s projected work-up and travel rotations.
Open an employee to update their name, seniority date or seniority number. Seniority details are used when setting up new lists; editing a date does not reset an existing rotation.
Work types
Regular assignments use On Duty. Add work types for calendar assignments; renaming updates their displayed name everywhere.
Default work types
Used for newly awarded callbacks and confirmed force hires. Regular assignments use On Duty; existing coverage keeps its saved work type.
Station colors
Choose the header color for each station. These colors are used on the calendar, assignment board, and staffing views.
Time-off types
Add, rename, color-code or remove time-off types. Renaming a type updates existing leave records and requests. Removing a type keeps existing leave records intact.
Qualifiers
Drag qualifiers to change their order throughout the app. Add, rename, color-code or remove qualifiers. Use Members to select personnel who hold each qualifier. Renaming preserves membership and requirements. Remove a qualifier from assignment, list and preference requirements before deleting it.
Teams
Add, rename, color-code or remove teams. Use Members to add or remove people. Employees may belong to multiple teams. Renaming preserves membership; removing a team removes it from employee profiles when saved.
Decision history
Actions show their recorded actor. User actions use Demo supervisor; paging and notifications are simulated. Recorded-date filters use the event time. Search a shift date or callback number to trace related events.
Prototype scope and remaining work
This build plans one seeded shift at station/rank level. The planner considers partial absences, awarded callback coverage, qualifications, the restriction on filling lower ranks, and minimum staffing. Applied moves and their crew/station rotations can be reversed as a batch. One rotation is recorded per person/action and supplying station in the applied shift plan.
Automatic mode evaluates staffing after edits, issues required offers, handles officer fallback and the one-hour cutoff, and applies complete move plans. Still to come: apparatus seat allocation, auto-accept, manual reassignment of awarded overtime, user permissions, real notifications and background scheduling. Force hires for coverage starting midshift use the seeded oncoming crew; coverage outside the seeded shift requires review. Do not use for operational staffing.