Case Management
The universal case lifecycle engine for the Civic platform — every citizen interaction, investigation, application, or service request from intake to resolution runs on Case Management.
Uptime SLA
Case Creation
Search (1M cases)
Concurrent Users
Purpose-Built for Canadian Municipalities
How It Works
The identity journey, step by step
From first registration to golden record resolution — how a resident's identity evolves across the platform.
Citizen Files a Report
A resident reports a noise complaint through the citizen portal.
How it works
The resident logs into the citizen portal, selects 'Report a Problem', fills out the intake form with address, description, and photos, and submits. The system auto-classifies the complaint as Bylaw → Noise → Construction, assigns a reference number (BYL-2026-001234), and routes it to the bylaw triage queue.
Step 1 of 5
Purpose & Scope
What this module owns
Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.
Owns
12Delegated to
5Workflow orchestration
Form intake design
Notification delivery
Document storage
Domain-specific business rules (e.g., bylaw penalties, permit fees)
These capabilities are handled by dedicated modules and consumed via stable API contracts — keeping boundaries clean and ownership unambiguous.
Core Capabilities
What it does
5 capability groups comprising 9 discrete capabilities — each with API surface, business rules, and data ownership.
Admin UI to create new case types with custom fields, statuses, and workflows — no code changes required.
No-Code Type Definition
Admin UI to create new case types with custom fields, statuses, and workflows.
Custom Fields
Add custom fields per case type: text, number, date, dropdown (configurable options), lookup, currency, checkbox, file, multi-select.
Status Configuration
Define valid statuses and transitions per case type (plugged into workflow-automation state machine).
SLA Configuration
Define response and resolution SLA targets per case type × priority (plugged into workflow-automation SLA engine).
Hierarchical categorization with configurable priority levels and per-status required fields for each case type.
Category/Sub-Category
Hierarchical categorization (e.g., Infrastructure → Road → Pothole; Bylaw → Noise → Construction).
Priority Levels
Configurable priority levels per type (default: Critical, High, Medium, Low).
Required Fields Per Status
Define which fields become required at which status transition.
Templates
Pre-configured case types for common municipal use cases.
Real-World Scenarios
Who uses this, and how
4 persona-driven scenarios showing how Case Management works in practice — from resident registration to privacy compliance.
311 Call Centre Agent
311 Service Request Intake
A resident calls 311 to report a pothole on their street. The agent creates a case and it is routed to the roads department.
Steps
- 1Agent searches by caller's address and confirms the location
- 2Agent selects case type 'Infrastructure → Road → Pothole' from the hierarchical category picker
- 3Agent fills in the intake form with location details, severity, and caller description
- 4System generates reference number (INF-2026-004567) and sends SMS confirmation to the caller
- 5Auto-routing assigns the case to the Roads Maintenance queue based on ward rules
- 6Duplicate detection flags a similar pothole report at the same address from last week — agent links the cases as related
Outcome
Case created in under 60 seconds. The roads crew sees it in their queue with full context, linked to the duplicate report. The caller receives a reference number for tracking.
View scenario
Bylaw Enforcement Officer
Multi-Property Bylaw Investigation
A noise complaint about a construction site affects multiple adjacent properties. The officer needs to inspect each and track findings independently.
Steps
- 1Officer receives the parent case for the noise complaint
- 2Officer creates three sub-cases — one for each property requiring inspection
- 3Each sub-case is assigned independently with its own SLA timeline
- 4Officer completes inspections on different days, documenting findings per sub-case
- 5Two properties are compliant (sub-cases resolved); one requires a notice (sub-case escalated)
- 6Parent case dashboard shows 2/3 resolved; parent remains open until all children are complete
Outcome
Parallel investigations tracked independently while the parent case provides a single view of overall progress. SLA compliance is measured per sub-case.
View scenario
CRM Supervisor
Duplicate Case Merge
Multiple residents report the same water main break. The supervisor identifies duplicates and merges them into a single case.
Steps
- 1Supervisor notices duplicate detection flags on three cases about a water main break at the same intersection
- 2Supervisor opens the merge workflow and selects the earliest case as primary
- 3System merges notes, attachments, and citizen links from all three cases into the primary
- 4Duplicate cases are closed with a 'Merged' resolution code and bidirectional links
- 5All three reporting citizens now receive status updates from the primary case
- 6Resolution is applied once and all citizens are notified simultaneously
Outcome
Three duplicate cases consolidated into one. All reporting citizens stay informed. The work crew has a single case with comprehensive context from all reports.
View scenario
Records Clerk
FOI Request Processing
A citizen submits a Freedom of Information request. The clerk processes it as a specialized case type with statutory SLA deadlines.
Steps
- 1Citizen submits FOI request via the portal; system creates a case of type 'FOI Request'
- 230-day statutory clock starts automatically per case type SLA configuration
- 3Clerk reviews the request and adds internal notes about the scope of records search
- 4Clerk links relevant document records from document-records module to the case
- 5As the SLA approaches, the system fires sla_warning events; if an extension is needed, clerk updates the SLA
- 6Response prepared and attached; case resolved with resolution code 'Full Disclosure' or 'Partial Disclosure'
Outcome
Statutory deadlines tracked automatically. Full audit trail of the request lifecycle. Citizen can track status online without calling the clerk.
View scenario
Internal Architecture
How it's built
4 architectural layers comprising 24 components — from API gateway to data quality engine.
4 layers · 24 total components
Case Management
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
4 entities with 6 relationships — the authoritative schema for this bounded context.
Entities
Select an entity to explore its fields and relationships
API Surface
Integration Endpoints
13 RESTful endpoints across 2 resource groups — plus 12 domain events for async integration.
/api/v1/cases
Create a new case
/api/v1/cases/{id}
Get case detail
/api/v1/cases/{id}
Update case fields
/api/v1/cases/{id}/status
Transition case status
/api/v1/cases
Search/filter cases
/api/v1/cases/{id}/notes
Add case note
/api/v1/cases/{id}/timeline
Get activity timeline
/api/v1/cases/{id}/assign
Assign case to user/queue
/api/v1/cases/{id}/merge
Merge duplicate case into this case
/api/v1/cases/bulk
Bulk operations on multiple cases
Ecosystem
Products that depend on this module
15 Civic products consume Case Management — making it one of the most critical platform services in the ecosystem.
CRM / 311
Service requests, complaints, inquiries, feedback — the primary consumer
View product →
Bylaw Enforcement
Bylaw investigations, property standards, noise complaints, zoning violations
View product →
Animal Services
Animal complaints, stray capture, dangerous dog investigations
View product →
Building Inspection
Inspection requests, orders to comply, unsafe building orders
View product →
Fire Services
Fire prevention inspections, fire investigations, code compliance
View product →
Work Orders / 311
Work orders as case subtypes with field crew assignment
View product →
Licences & Permits
Application processing as case flow (alternative to dedicated permit workflow)
View product →
Social Housing
Tenant complaints, maintenance requests, income reviews
View product →
Economic Development
Business inquiries, investment attraction leads
View product →
Tourism & Events
Event applications, vendor complaints
View product →
Document & Records
FOI requests processed as case type
View product →
Court / POA
Court case management (specialized case type)
View product →
Stormwater
Drainage complaints, flooding reports
View product →
Forestry
Tree removal requests, tree preservation complaints
View product →
Cemetery
Service requests, monument complaints
View product →
Technical Specifications
Performance, Compliance & Configuration
Availability
Case Creation Latency
Search Latency
Map View
Concurrent Users
Data Retention
FAQ
Frequently Asked Questions
Ready to Integrate
Build on Case Management
Request an architecture brief, integration guide, or live demo environment for your team.