Request a Demo
Shared Functional

Shift Scheduling

Complex shift pattern management for 24/7 operations — platoon scheduling, minimum staffing enforcement, overtime equalization, and volunteer shift management.

≤30s/dept

Schedule Gen

Real-time

Staffing Check

≤5s

Swap Processing

≤2min

Callback Notify

Purpose-Built for Canadian Municipalities

Ontario Compliant
MFIPPA Ready
AODA Accessible
Bilingual Support
Canadian Hosted
SOC 2 Aligned

Purpose & Scope

What this module owns

Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.

Owns

8

Delegated to

4

Payroll processing & pay calculation

hr-payroll

Employee master records & HR data

person-organization-registry

Vacation/sick leave entitlement tracking

hr-payroll

Crew dispatch & field assignment

resource-dispatch

These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.

Core Capabilities

What it does

4 capability groups comprising 7 discrete capabilities — each with API surface, business rules, and data ownership.

Define complex patterns: 24-hr platoon (fire), 4-on/4-off, Kelly day cycle, 12-hr continental, standard 8-hr; rotating and fixed shifts.

Pattern Types

PLATOON (fire 24-hr), ROTATING (4-on/4-off), FIXED (standard 8-hr), CONTINENTAL (12-hr), COMPRESSED (4×10) patterns.

Cycle Definition

Patterns defined as JSONB arrays of day/shift/hours entries repeating over a configurable cycle length in days.

Department Assignment

Each pattern assigned to one or more departments; supports different patterns per division within a department.

Kelly Day Support

Fire service Kelly day cycles (every 8th shift off) automatically calculated within platoon pattern definitions.

Generate schedules based on patterns, staffing requirements, leave requests, seniority rules, and collective agreement constraints.

Pattern Application

Apply shift patterns to generate schedule entries for a period; respects cycle start dates and rotation sequences.

Leave Integration

Pre-approved vacation, training, and other leave requests automatically blocked from schedule generation.

Seniority Rules

Collective agreement seniority rules applied for shift preference, vacation priority, and overtime distribution.

Constraint Solver

Constraint-based scheduling engine ensures minimum staffing, rest period requirements, and certification coverage.

Every module owns a single bounded context, exposes stable APIs, and can be composed into any Civic product — that's the architecture that scales.

Krutik Parikh

Creator of Civic

Data Model

Entity Architecture

3 entities with 4 relationships — the authoritative schema for this bounded context.

Entities

Select an entity to explore its fields and relationships

API Surface

Integration Endpoints

7 RESTful endpoints across 5 resource groups — plus 5 domain events for async integration.

|
GET

/api/v1/schedules

Get schedule (filter: staff, department, date range)

POST

/api/v1/schedules/generate

Auto-generate schedule for period

POST

/api/v1/schedules/entries

Create/modify schedule entry

Technical Specifications

Performance, Compliance & Configuration

Schedule Generation

Target≤ 30 seconds per department/month

Staffing Compliance Check

TargetReal-time

Swap Processing

Target≤ 5 seconds

Callback Notification

Target≤ 2 minutes (cascading)

Schedule Visibility

Target6 months forward

Availability

Target99.9%

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Shift Scheduling

Request an architecture brief, integration guide, or live demo environment for your team.