All projects

Case study

Royal Thai

A chain of Thai massage spas. A booking system in which a booking is not a slot in a calendar but a room of the right type, a therapist with the right specialisation and a suitable stretch of time — all free at once.

Client
Royal Thai, royalthai.ru, Russia
Years
2022 — 2024
Scope
Development (frontend, backend), architecture, integrations
Stack
Bitrix and PHP, Vue.js, microservices in Go and Python

The problem

Booking a spa looks like choosing a time, but it is really an intersection of several scarce resources. A programme runs for its own length. It needs a room of the right type: one kind for two people, another for a hammam. It needs a therapist trained in that particular technique, and the chain practises several traditions: Thai, Balinese, Ayurvedic. And all of it has to be free at the same moment, in the same salon.

A mistake costs more here than in an online shop. The guest has already arrived and is standing at reception, and there is no room, or the therapist is with a second guest. You cannot add another table to the floor.

What we did

Result

Running since 2007 The chain keeps taking bookings; the system survived handover and remains in use.

Why this one is us

The difficulty here is not the volume of work but a single rule: the system must never promise what does not exist. A room of the right type, a therapist in the right tradition and a free stretch of time are three independent scarcities, and a booking exists only where all three coincide.

We did not rewrite the working system of record; we built availability calculation and live updates alongside it. The chain kept taking bookings throughout — and still does, now without us.