Skip to content
FH
All projects
LiveInternal system

Full Stack · Enterprise · Hotel Operations

Hadith Hotel Management System

Hotel operations platform for a property in Samarkand

Full-stack hotel management system spanning reservations, front office, housekeeping, POS, purchasing, inventory, assets, invoicing, and night audit.

Next.jsReactTypeScriptPostgreSQLDrizzle ORMTailwind CSSMinIOPlaywright
Request a walkthrough

Client confidentiality applies. Source code and a live demo can be shared privately on request.

Hotel room board inside the Hadith Hotel management system

Overview

Hadith Hotel HMS is the web replacement for a legacy desktop hotel management system. It runs the day-to-day operations of a hotel: reservations and front office, guest records, rooms and housekeeping, point of sale, purchasing, warehouse stock, fixed assets, folios, invoices, and nightly audit reporting.

Problem & solution

The problem

Hotel staff were working through a migrated desktop system that could not cover purchasing, warehouse, and asset workflows in one place, and could not be used reliably on mobile devices at the front desk and in the warehouse.

What was built

A single Next.js application with server-rendered operational modules, PostgreSQL through Drizzle, permission-filtered navigation, and a printing suite for the documents staff actually hand to guests and suppliers. Stock movements are recorded as a ledger rather than overwritten balances.

Key features

  • Reservations, front office, folios, invoices, and night audit
  • Guest profiles, room setup, housekeeping, and guest requests
  • Point of sale with per-outlet registers and cashier shift handover
  • Purchase requests, bids, receipts, and a multi-warehouse stock ledger
  • Asset registry with inspection history, movement history, and duplicate detection
  • Inventory count sheets, opname, transfers, and printable operational documents
  • Role-based permissions, cookie sessions, and an audit log
  • Exely PMS integration, 1C export tooling, and multi-property tenancy

Technical implementation

A full-stack Next.js app backed by PostgreSQL. Each operational module writes through server actions and route handlers into a shared, property-scoped schema.

Application

Next.js App Router with module routes for front office, POS, purchasing, inventory, assets, and reports

Data

PostgreSQL 16 via Drizzle ORM, property-scoped tables, stock ledger and audit log

Files

MinIO/S3-compatible object storage for asset and document images

Integrations

Exely PMS sync, internal import/migration endpoints, and 1C export scripts

Quality

Vitest unit tests, Playwright end-to-end tests, and a QA harness

My contribution

  • Built purchasing workflows: purchase requests, bids, receipts, withdrawal boundaries, and print layouts.
  • Implemented POS outlet access, cashier shifts, handover, and category selection.
  • Developed the asset registry with specifications, inspections, movement history, and duplicate detection.
  • Extended warehouse operations with count sheets, stock labels, transfers, and printable documents.
  • Added a QA harness, mobile layout fixes, and production failover health checks.

Visual showcase

Housekeeping board grouping rooms by cleaning status
Housekeeping board
Reservation list with dates, status, and unit counts; guest identities masked
Reservation list (guest identities masked)
Warehouse stock list with item codes, categories, and quantities
Warehouse stock ledger
Purchase request list with department, status, and approvals; amounts masked
Purchase requests (amounts masked)
Asset registry with asset codes, locations, condition, and status
Asset registry
View all