Hotel Booking Engine

1,000+ properties on an event-driven booking engine with immutable audit logging and sub-second reservations.

2.5s → 0.8s

Booking latency

1,000+

Properties

0

Double-bookings

The challenge

A growing property network needed a booking engine that stayed correct under concurrent demand: 50+ concurrent requests per second at peak, with zero double-bookings, a tamper-evident audit trail, and latency low enough to convert. The legacy system lost 3% of bookings to race conditions.

The solution

We modeled reservations as an event-sourced aggregate, moved cross-service coordination onto Kafka, and used Redis for concurrency-safe inventory holds. ImmuDB gave us an immutable audit log for every state transition.

Architecture

01

Reservations are an event-sourced aggregate; the read model is a re-derivable projection, never the source of truth.

02

Inventory holds use atomic Redis admission so two concurrent requests can never oversell the same room.

03

Kafka decouples availability, pricing, and notification workflows so each scales independently.

AI component

An OCR-assisted pipeline parses uploaded travel documents at check-in, pre-filling guest records and flagging mismatches for staff review.

Industry

Travel & Hospitality


Results

Booking latency dropped from 2.5s to 0.8s, double-bookings were eliminated by design, and every reservation became fully auditable.


Tech stack

Node.js
PostgreSQL
Kafka
Redis
ImmuDB
Stripe

Building something like this?

We'll review scope, architecture, and where AI fits, and reply within one business day.

Start a project