Request a Demo
Domain

Facility Booking

Manages booking for all municipal recreation facilities — arenas, pools, community centres, sports fields, park pavilions — including ice allocation, sports field scheduling, seasonal/recurring bookings, pricing, and conflict prevention.

Zero

Double-Booking

< 2 sec

Booking Confirm

< 1 sec

Calendar Load

500+

Concurrent Bookings

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

Core booking engine, calendar

facility-booking-shared

Facility locations, map display

geospatial-engine

Deposits, rental fees, refunds

payment-engine

Confirmations, reminders, weather cancellations

notification-engine

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 8 discrete capabilities — each with API surface, business rules, and data ownership.

Define facilities with type, amenities, capacity, accessibility, and subdivide into bookable spaces.

Facilities

Define facilities: name, address, type (arena, pool, community centre, sports field, park), amenities, capacity, accessibility, photos, operating hours.

Spaces

Subdivide into bookable spaces (Arena A, Meeting Room 1, Diamond 1). Space attributes: capacity, floor surface, equipment, setup options.

Online search, visual availability calendar, booking requests with instant or approval-based confirmation.

Search

Search by type/date/time/capacity. Visual availability calendar.

Request

Booking request with event type, attendance, setup, special requests. Instant confirmation (low-risk) or approval workflow (alcohol, large, commercial).

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

5 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

9 RESTful endpoints across 4 resource groups — plus 3 domain events for async integration.

|
GET

/api/v1/facilities

List facilities

GET

/api/v1/facilities/{id}/spaces

Bookable spaces

GET

/api/v1/facilities/{id}/availability

Availability calendar

Ecosystem

Products that depend on this module

1 Civic products consume Facility Booking — making it one of the most critical platform services in the ecosystem.

Technical Specifications

Performance, Compliance & Configuration

Double-Booking Incidents

TargetZero

Booking Confirmation

Target< 2 seconds

Calendar Load

Target< 1 second

Concurrent Bookings

Target500+ simultaneous

Availability

Target99.9%

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Facility Booking

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