Request a Demo
Shared Functional

Facility Booking

Venue, room, and facility reservation management — online self-service booking, conflict detection, rate management, and revenue tracking for every municipal space.

≤1s

Availability Check

≤3s

Booking Creation

100%

Double-Book Prevention

≥100/min

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

Rate/fee calculation logic

rate-fee-engine

Payment processing & refunds

payment-engine

Citizen authentication & accounts

civic-identity

Facility maintenance work orders

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

Facilities, venues, rooms, fields, courts, pools; capacity; amenities; photos; accessibility features; seasonal availability; GIS-linked.

Comprehensive Types

ARENA, POOL, FIELD, COURT, ROOM, HALL, PARK, PAVILION — each with type-specific attributes and configuration.

Capacity & Amenities

Max capacity, amenity list (AV, kitchen, WiFi, stage), accessibility features (AODA compliance), and photos.

Hierarchy Support

Parent-child facility relationships: rooms within buildings, fields within parks; book individually or as a group.

GIS Integration

Facilities linked to geospatial-engine for map-based search and proximity filtering.

Real-time availability; recurring blocks (leagues, programs); maintenance windows; holiday closures; visual calendar with drag-to-book.

Real-Time Availability

Live calendar view showing booked, available, and tentative time slots with color-coded status.

Recurring Blocks

Block recurring time slots for leagues, programs, and internal use — repeating bookings with iCal RRULE support.

Maintenance Windows

Automatic blocking for scheduled maintenance, ice resurfacing, pool closures, and seasonal shutdowns.

Drag-to-Book

Administrative calendar interface with drag-to-book for staff to quickly create bookings.

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

2 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

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

|
GET

/api/v1/facilities

List facilities (filter: type, capacity, amenities, area)

GET

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

Check availability for date range

Technical Specifications

Performance, Compliance & Configuration

Availability Check

Target≤ 1 second

Booking Creation

Target≤ 3 seconds

Double-Booking Prevention

Target100% (pessimistic locking)

Online Booking Uptime

Target99.9%

Concurrent Bookings

Target≥ 100/minute

FAQ

Frequently Asked Questions

Ready to Integrate

Build on Facility Booking

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