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
- 01PMS, front desk, reservations, housekeeping and maintenance.
- 02Restaurant POS with kitchen display, inventory and finance.
- 03Booking engine and guest portal served on verified hotel custom domains, with automatic TLS.
- 04Channel manager, staff operations, analytics and multi-property management.
- 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 →