Skip to main content

Types & Configuration

The Types module is a centralized configuration area for managing various entity types used throughout the system. It is managed by the TypesController.

Unit Types

Define categories for units (Engine, Ladder, Ambulance, etc.):

FieldDescription
Type NameUnit type name (required, unique)
Custom State IDAssociate with a custom unit state set
Map Icon TypeIcon used on maps

Operations

  • CreateDepartment_Update + CanUserAddUnitTypeAsync
  • EditDepartment_Update + CanUserEditUnitTypeAsync; validates no duplicate names
  • DeleteDepartment_Update + authorization check

All operations fire audit events with before/after snapshots.

Call Types

Define incident categories (Fire, EMS, MVA, etc.):

FieldDescription
Type NameCall type name (required)
Map Icon TypeIcon used on maps

Operations

  • CreateDepartment_Update + CanUserAddCallTypeAsync
  • EditDepartment_Update + CanUserModifyCallTypeAsync
  • DeleteDepartment_Update + authorization check

Call Priorities

Define urgency levels for calls with visual and audio indicators:

FieldDescription
Priority NameDisplay name (required, unique)
ColorPriority color (hex)
Is DefaultDefault priority (only one allowed)
Dispatch PersonnelWhether to auto-dispatch personnel
Dispatch UnitsWhether to auto-dispatch units
Force Notify AllForce notification to all personnel
ToneAlert tone selection
Alert SoundWAV file upload (≤1 MB)
note

Push notification and iOS push sound upload features are currently disabled (code commented out).

Operations

  • Create — Validates single-default rule and name uniqueness
  • Edit — Same validations
  • Delete — Soft-deletes (IsDeleted = true)

Certification Types

Define categories for personnel certifications (EMT-B, Paramedic, Firefighter I, etc.):

FieldDescription
Type NameCertification type name (required, unique)

Document Categories

Categorize department documents:

FieldDescription
Category NameDocument category name (required, unique)

Note Categories

Categorize department notes:

FieldDescription
Category NameNote category name (required, unique)

Contact Note Types

Categorize notes on external contacts with color coding:

FieldDescription
Type NameNote type name (required, unique)
ColorDisplay color for the note type

Operations

  • Create, Edit (with CanUserEditContactNoteTypeAsync), and Delete

Personnel Status List Ordering

Configure the sort order of personnel statuses in the dashboard view:

  • Define which statuses appear in the list
  • Set the display order (weight-based)
  • Add or remove statuses from the ordered list

Common Patterns

Validation

All types validate:

  • Name is not empty
  • Name is unique within the department (no duplicates)

Audit Trail

Every create, edit, and delete operation fires an AuditEvent with:

  • Audit log type (e.g., UnitTypeAdded, CallTypeEdited, CertificationTypeRemoved)
  • Before/after JSON snapshots for edits
  • IP address and user agent

Two-Layer Authorization

All operations use:

  1. ASP.NET [Authorize(Policy = "Department_Update")] attribute
  2. Resgrid's IAuthorizationService for fine-grained checks

Interactions with Other Modules

ModuleInteraction
UnitsUnit types categorize units
DispatchCall types and priorities used in call creation
Custom StatusesUnit types reference custom state sets
DocumentsDocument categories used for filtering
NotesNote categories used for filtering
ContactsContact note types used for note classification
CertificationsCertification types used in personnel profiles
MappingMap icon types for calls and units
DashboardPersonnel status ordering affects status display