Skip to main content

Workshifts

Workshifts (static shifts) provide a simpler scheduling mechanism compared to the full Shifts module. They are managed by the WorkshiftsController.

New workshift

Overview​

Workshifts define fixed time blocks with assigned units, differing from the dynamic signup-based Shifts system.

Creating Workshifts​

Authorization: Shift_Create policy

FieldRequiredDescription
NameYesWorkshift name
Start TimeYesShift start (converted to department timezone)
End TimeYesShift end (defaults to next day)
Units AssignedNoUnits assigned to this workshift

Unit Assignment​

Units are assigned as WorkshiftEntity objects linked to backing unit IDs.

Editing Workshifts​

Authorization: Shift_Update policy

Validates department ownership. Updates:

  • Workshift details (name, times)
  • Unit assignments (re-created on each save)
  • Full audit trail with IP and user agent

Viewing Workshift Days​

Authorization: Shift_View policy

The day view shows:

  • Parent workshift details
  • Department units
  • Assigned personnel with limits
  • Ownership chain validation (day → shift → department)

Deleting Workshifts​

Authorization: Shift_Delete policy

Requires confirmation via a dedicated confirmation page. Full audit trail recorded.

Setup examples​

Department typeHow to set it up
Career fireA/B/C platoon workshifts used as the each shift anchor for checklist schedules and for shift-based dispatch.
EMS12-hour day/night workshifts.
SecuritySite shift patterns per client.

Technical reference​

Interactions with Other Modules​

ModuleInteraction
ShiftsWorkshift days appear on the shift calendar alongside traditional shifts
UnitsUnits are assigned to workshifts
PersonnelPersonnel loaded for day view
DepartmentTimezone used for time conversion