My App
RoomKit

RoomKit

Room booking library for educational institutions

RoomKit is a full-featured room booking system designed for universities and educational institutions. It ships as two packages — a NestJS backend engine and a React frontend library — that work together to manage locations, rooms, bookings, conflicts, recurrence, blackouts, exams, and bulk operations.

Packages

PackageDescription
@roomkit/nestjsBackend engine with domain services, storage interfaces, and Prisma adapters
@roomkit/reactReact hooks and components for building booking UIs

Key Features

  • Location Hierarchy — Model institutions, campuses, buildings, floors, wings, and rooms as a tree with path-based navigation
  • Room Management — Track capacities (seated, exam, standing), equipment tags, accessibility attributes, and partition relationships
  • Booking Lifecycle — State machine with requested → confirmed → in_progress → completed/cancelled transitions
  • Conflict Detection — Direct and partition-level overlap checking 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 using a configurable travel time matrix
  • Exam Mode — Layout-aware capacity calculations with cohort overlap protection
  • Bulk Operations — Semester import, date shifting, and 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

On this page