Program & Registration
Manages recreation program creation, scheduling, session management, instructor assignment, and the complete registration lifecycle — online/in-person enrollment, household accounts, waitlists, priority windows, cancellations, transfers, and drop-in registration.
Registration Day
Cart Checkout
Waitlist Promote
Annual Volume
Purpose-Built for Canadian Municipalities
Purpose & Scope
What this module owns
Clear ownership boundaries prevent duplication and ensure every capability has exactly one authoritative home.
Owns
13Delegated to
5Citizen authentication, address verification
Checkout, instalment plans, refunds
Confirmation emails, waitlist notifications, reminders
Public-facing registration portal
Room/space availability for sessions
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 11 discrete capabilities — each with API surface, business rules, and data ownership.
Hierarchical categories with per-program details, seasonal catalogs, and powerful search/filter capabilities.
Categories
Hierarchical categories: swimming, skating, arts, fitness, camps, general interest. Per-program: description, age range, prerequisites, skill level, department, images, keywords.
Seasonal Catalogs
Seasonal catalogs (spring/summer/fall/winter). Searchable/filterable by age, category, location, day/time.
Templates & Cloning
Reusable program templates. Clone previous season: copy details, update dates/prices. Bulk session generation. Multi-location replication.
Individual and recurring session scheduling with exception management, makeup sessions, and calendar views.
Session Details
Individual sessions: date, time, duration, location (facility + room), instructor, min/max participants.
Recurring Templates
Weekly (same day/time × N weeks), daily (camp-style), drop-in. Exception management: cancel session (holiday/weather), add makeup.
Calendar View
Visual calendar view for scheduling, instructor management, and conflict detection.
Instructor profiles with certifications, availability, scheduling, and conflict detection.
Profiles
Certifications (First Aid, NLS, coaching), availability, hourly rate, specialties. Certification expiry alerts.
Schedule & Conflicts
Schedule view (all assignments). Conflict detection (no double-booking). Staff-to-participant ratio enforcement.
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
7 entities with 7 relationships — the authoritative schema for this bounded context.
Entities
Select an entity to explore its fields and relationships
API Surface
Integration Endpoints
9 RESTful endpoints across 6 resource groups — plus 4 domain events for async integration.
/api/v1/recreation/programs
Browse program catalog
/api/v1/recreation/programs/{id}/sessions
Session schedule for a program
Ecosystem
Products that depend on this module
1 Civic products consume Program & Registration — making it one of the most critical platform services in the ecosystem.
Technical Specifications
Performance, Compliance & Configuration
Registration Day Concurrency
Cart Checkout
Program Search
Waitlist Promotion
Registration Volume
Availability
FAQ
Frequently Asked Questions
Ready to Integrate
Build on Program & Registration
Request an architecture brief, integration guide, or live demo environment for your team.