HFU Digital Docs
RoomKit

RoomKit

Room booking engine for educational institutions with locations, conflicts, recurrence, blackouts, exams, and bulk operations

RoomKit is a full-featured room booking system designed for universities and educational institutions. It manages locations, rooms, bookings, conflicts, recurrence, blackouts, exams, and bulk operations. It ships as two packages that work together.

Packages

PackageDescription
@hfu.digital/roomkit-nestjsBackend NestJS module with domain services, storage interfaces, and Prisma adapters
@hfu.digital/roomkit-reactFrontend library with headless hooks and pre-built booking-UI components

Key Features

  • Location Hierarchy — Institutions, campuses, buildings, floors, wings, rooms as a path-navigable tree
  • Room Management — Capacities (seated, exam, standing), equipment tags, accessibility attributes, partition relationships
  • Booking Lifecycle — State machine: requested → confirmed → in_progress → completed/cancelled
  • Conflict Detection — Direct + partition-tree overlap checks with alternative suggestions
  • Recurrence — Weekly, biweekly, and custom calendar-week patterns with exception dates
  • Blackout Windows — Location-scoped time blocks that cascade down the hierarchy
  • Priority System — Configurable priority tiers with automatic resolution by purpose type
  • Travel-Time Validation — Cross-campus schedule validation against a travel-time matrix
  • Exam Mode — Layout-aware capacity calculations with cohort overlap protection
  • Bulk Operations — Semester import, date shifting, batch cancellation with progress tracking
  • Cascading Configuration — Hierarchical config inheritance with per-node overrides
  • Event Bus — 12 domain event types for reactive integrations
  • Audit Trail — Full state-transition history for every booking

Versioning

CalVer (yyyy.mm.version). Pin exact versions in package.json; range operators (^, ~) do not behave like semver across month boundaries. See the docs root for details.

On this page