Daily board
Check-ins and check-outs for the day, with two days visible and navigation. It is the screen the front desk opens the shift with, with actionable cards.
Bookings and rooms
Eight views for commercial operations and three for the physical inventory. All on the same data, so moving a booking on the calendar changes the room's status, frees the night in the engine and shows up in the report.
Calendar
The grid is room by day, grouped by category. You move a booking between rooms or dates by dragging it, and before applying the change the system shows the preview: whether there is a clash and what happens to the price.
The eight views
Check-ins and check-outs for the day, with two days visible and navigation. It is the screen the front desk opens the shift with, with actionable cards.
A list with filters and a side panel that opens without leaving the list: summary, activity and notes. From there you assign a unit, change status and edit internal notes.
The tape chart: room by day, drag and resize with preview, blocks, filters and statistics.
Manual or walk-in entry with guest search, category, dates, occupancy by age, source channel, promotions and notes.
Base price per category plus rate plans with validity, price per night, currency, minimum stay and activation.
A grid with a traffic light — free, partial, full, closed — and per-day restrictions: closed, closed to arrival, closed to departure, minimum and maximum stay.
A three-step wizard, automatic or with a code, by percentage, fixed amount or fixed price per night, with restrictions and how it looks on the public site.
Currency, confirmation, stay rules, informative calendar, agentic layer and times. Plus the booking model: selling mode and assignment strategy.
Price chain
When the engine has to say what a night costs, it resolves this chain. Knowing which rung a price is on is the difference between trusting the system and auditing it by hand every morning.
step 1
If there is an accepted revenue recommendation for that date, it wins.
step 2
The plan in force for that category and that date, with its currency and its minimum nights.
step 3
The category's own. It is what the engine charges while you have not loaded rates.
step 4
They apply on top of whatever the three previous steps produced.
Rooms
Six operational states — available, occupied, cleaning, maintenance, blocked and pending departure — and a matrix defining which transition is valid. From 'occupied' you can only go to 'pending departure': the board does not accept impossible states.
Booking detail
Pending, confirmed, check-in, check-out, plus cancelled and no-show. With the actions available depending on where it is.
Spa, breakfast, late check-out, with quantity, date and status. Price and title freeze on contracting: an old booking still shows what was charged back then.
The amount in base currency and in charging currency, live until check-in and frozen from then on.
Direct, phone or OTA, with a specific identifier — booking.com, airbnb, direct-web, phone-front-desk — so the channel report is worth something.
Internal team notes kept apart from guest requests, so nobody mixes the two.
Every relevant change is recorded, including any manual charge adjustment. It is what you look at when the amount does not add up.
One of the two fails. Every night of every room is a unique lock in the database — the key is the unit plus the date — so the second write does not get in. It is not a validation in code that concurrency can dodge: the database itself prevents it.
Yes, and you should. Manual entry has guest search by email, category and date selection, occupancy split into adults, children and infants — infants count for neither capacity nor price — promotions and source channel. That last field is what later tells you how much of your business still comes in through chat.
It depends on two axes. If the category is a single unit, there is only one option. If it is a pool, the property chooses between manual assignment — the booking stays “unassigned” and the front desk decides — or automatic, where the engine scores and picks, with optional preferences to minimise gaps or balance wear. Each booking freezes the mode it was born with, so changing the setting later does not rewrite history.
You load the rooms once and you already have the grid, the engine and availability initialised. The rest can come whenever you want.
01You load categories and units.
02Availability initialises itself.
03The calendar and the engine are live.