Skip to content
→ All work

Case study 07 / 26

Data Accommodation

A multi-tenant hotel operating system: PMS, front desk, housekeeping, restaurant POS, booking engine, channel manager and guest portal on one data model.

Status
Working build
Domain
web · cloud
Source of claims
Private repository README (reviewed). Source and deployment are not public.

Seven surfaces — public site, hotel operating system, a mobile-first staff app, a booking engine and guest portal on verified hotel domains, and two platform consoles — routed by host, with the API independently enforcing identity, tenant, role, subscription and surface on every request.

01/The problem

A hotel runs on many tools that don't share data — PMS, POS, channel manager, booking engine. One relational model behind every surface means a booking, a room, a restaurant bill and a refund all agree, and two guests can never be given the same room.

02/The system

Seven surfaces — public site, hotel operating system, a mobile-first staff app, a booking engine and guest portal on verified hotel domains, and two platform consoles — routed by host, with the API independently enforcing identity, tenant, role, subscription and surface on every request.

03/Scope

  1. 01PMS, front desk, reservations, housekeeping and maintenance.
  2. 02Restaurant POS with kitchen display, inventory and finance.
  3. 03Booking engine and guest portal served on verified hotel custom domains, with automatic TLS.
  4. 04Channel manager, staff operations, analytics and multi-property management.
  5. 05Shared money and tax maths, Bikram Sambat dates and localisation packs in one shared package.

04/Engineering

Host-routed surfaces, server-enforced boundaries

Middleware routes each host to its surface, but the API independently checks identity, tenant, role, subscription and surface on every request.

Concurrency is tested, not assumed

Integration tests drive the compiled API over HTTP against a fresh database per run and cover double booking, refunds, check-in and payments under concurrency.

05/Interface

Interface screenshots of this commercial product are not public. The visual above is an abstract representation of its modules — not the product itself.

06/Tech stack

  • NestJS 11 (Fastify)
  • Next.js 15
  • TypeScript
  • Prisma
  • PostgreSQL
  • Zod
  • Caddy
  • Docker Compose

07/Result

Verified outcomes

  • Integration suites cover tenant isolation, concurrency, RBAC, the full hotel lifecycle, finance, inventory, POS, webhooks, the platform control plane and guest flows.

08/Links

Private commercial codebase — no public links.

Next case study

DataConstruct →