Skip to main content

Custom Statuses

Custom statuses replace the built-in status words with your own. There are three sets: personnel statuses (Responding, On scene, Available at station …), staffing levels (Available, On duty, Off duty, Light duty …) and unit statuses per unit type (En route, On scene, Transporting, Out of service …). Each status has a colour, whether it needs a destination (a station or a call), what it counts as (responding / available), and how it looks on the apps and the Big Board.

Department menu → Custom Statuses. Start from a template (fire, EMS, SAR, security …) and adjust.

Custom statuses

Overview​

Authorization: CustomStates_View policy

The index page displays all custom states organized into three categories:

  • Unit States — Custom operational statuses for units
  • Personnel Status — Custom action/response statuses for personnel
  • Personnel Staffing — Custom availability/staffing levels for personnel

Custom State Categories​

Unit States​

Define custom operational statuses for units (replaces default statuses like Available, Responding, On Scene, etc.).

Personnel Status​

Define custom response/action statuses for personnel (replaces default statuses like Standing By, Responding, On Scene, etc.).

Personnel Staffing​

Define custom availability levels for personnel (replaces default levels like Available, Delayed, Unavailable, etc.).

Creating Custom States​

Authorization: CustomStates_Create policy

New unit status set

State Set Configuration​

FieldRequiredDescription
NameYesState set name
DescriptionNoState set description
TypeYesUnit, Personnel, or Staffing

State Details (Options/Buttons)​

Each state set contains multiple detail options. At least one is required.

FieldDescription
Button TextDisplay text on status buttons
Button ColorBackground color (hex)
Text ColorForeground color (hex, default #000000)
OrderDisplay order
Base TypeMapping to a standard status for system behavior
GPS RequiredWhether GPS location is required when setting this status
Note TypeType of note required (None, Optional, Required)
Detail TypeDestination type (None, Calls, Stations, CallsAndStations)

Detail Type Behavior​

The Detail Type determines what destination options appear when a user selects this status:

Detail TypeBehavior
NoneNo destination selection
CallsDropdown of active calls
StationsDropdown of station groups
CallsAndStationsDropdown of both calls and stations

Editing Custom States​

Authorization: CustomStates_Update policy + CanUserModifyCustomStatusAsync runtime check

Editing State Sets​

Modify the state set name, description, and all detail options. Handles both existing detail IDs (update) and new details (create).

Editing Individual Details​

The EditDetail action allows editing a single state detail option for fine-grained control.

Creates AuditEvent (CustomStatusUpdated / CustomStatusDetailUpdated).

Deleting Custom States​

Authorization: CustomStates_Delete policy + CanUserModifyCustomStatusAsync runtime check

Creates AuditEvent (CustomStatusRemoved).

Default Fallback Statuses​

When no custom states are defined, the system provides built-in defaults:

Default Personnel Statuses​

IDStatus
0Standing By
1Not Responding
2Responding
3On Scene
4Available Station
5Responding to Station
6Responding to Scene

Default Personnel Staffing Levels​

IDLevel
0Available
1Delayed
2Unavailable
3Committed
4On Shift

Default Unit Statuses​

13 built-in statuses from Available through Enroute.

Setup examples​

Department typeHow to set it up
Volunteer firePersonnel: Standing by, Responding to station, Responding to scene, On scene, Available at station, Not responding. Staffing: Available, Unavailable, On call. Units (Engine/Ladder/Rescue): In quarters, En route, On scene, Available, Out of service.
EMSUnits (Medic): Available, En route, On scene, Transporting, At hospital, Returning, Out of service; personnel: On duty / Off duty.
SARPersonnel: Available, Responding to CP, At CP, Deployed in field, Returned; units (Team): Staging, Searching, Found, Returning.
Emergency managementPersonnel: EOC activated, Remote, Off; units minimal.
SecurityPersonnel: On patrol, At post, Responding, Break, Off duty; units (Patrol): Available, Responding, On site, Out of service.
Delivery / transitUnits (Vehicle): Loading, En route, Delivering, Returning, Off duty.

Technical reference​

CustomStatusesController; routes /User/CustomStatuses/{Index,Templates,New,Edit,EditDetail,Delete}?type=1|2|3; model CustomState / CustomStateDetail (DetailType: none / station / call destination); JSON endpoints GetPersonnelStatusesForDepartment, GetPersonnelStaffingLevelsForDepartment, GetUnitStatusesLevelsForDepartment?unitTypeId=.

JSON API Endpoints​

These endpoints are consumed by views throughout the application for building dynamic status dropdowns:

EndpointPurpose
GetPersonnelStatusesForDepartmentPersonnel statuses (custom or default)
GetPersonnelStaffingLevelsForDepartmentStaffing levels (custom or default)
GetUnitStatusesLevelsForDepartmentUnit statuses for a specific unit type
GetUnitStatusesLevelsForDepartmentCombinedAll unit statuses combined across types

All endpoints support an includeAny parameter to add an "Any" option to the list.

Interactions with Other Modules​

ModuleInteraction
DashboardCustom statuses and staffing levels displayed on main dashboard
UnitsCustom unit states define unit status options
DispatchCustom statuses shown during dispatch operations
ReportsCustom state names resolved in all reports
MappingStatus colors used for map markers
NotificationsCustom states used for availability alert configuration
Department SettingsSuppressed staffing levels reference custom states