Skip to content
KKatorion

Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook

Guests see only free dates and the exact total; the owner sees every booking, price and balance due on one calendar

Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook

Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook
Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook
Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook
Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook
Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook
Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook
Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook
Velvet Rooms: an in-house booking module instead of a spreadsheet and a notebook

1 / 8

Bookings arrive from the site, by phone and in messengers, and you keep occupancy in your head or in a spreadsheet? For Velvet Rooms apartments in Skhidnytsia we built a booking module: guests check free rooms and send a request themselves, and the manager runs every booking, price and payment in one admin panel. We will build the same for you.

Sound familiar?

A guest asks "anything free this weekend?" and someone has to go through a notebook, a spreadsheet and the chats. Phone bookings get lost, two guests get the same room, and a guest who finds no dates simply goes to a competitor. Seasonal prices and long-stay discounts are worked out by hand, and only the person who took the deposit knows who still owes what at check-in.

The fix

On the site the guest picks dates in a calendar, the number of guests and rooms, and sees only the room types that are actually free and fit the party, with the full total for the stay. If nothing is free on those dates, the site offers up to three nearest free windows of the same length. The request lands in Telegram at once. The manager sees every room on a monthly calendar, confirms the request and the room closes for those dates by itself. Prices by date, minimum stay and the balance due are set in the same admin panel.

How we did it

  • Search on the site: dates, adults, children with ages and several rooms in one request; rooms that don't fit the party or are taken are filtered out before they are shown
  • Nearest free dates: when a search comes back empty, the server scans 90 days ahead and offers up to three windows with the same conditions. They use the same logic as the main search, so a suggested window never disagrees with what the guest sees after clicking it
  • A booking calendar in the Directus admin: rooms as rows, days of the month as columns, and each booking shows the guest, status, source and balance due. Confirming a request closes the room for those dates by itself; cancelling opens it again
  • A Prices module: base rates by length of stay (under 3, from 3, from 7 and from 10 nights), and prices for specific dates - a season is just a date range. Each night is priced by its own date, and the total is calculated on the server
  • A minimum stay by arrival date, so a one-night visit can't break up a week in high season. The rule is checked again when the request reaches the server
  • Phone bookings go into the same system; new requests, from the site or from the admin, reach several people in Telegram, and the guest gets an email once the booking is confirmed
All cases

Have a technical problem?

Leave a request - we'll get in touch to work out how to approach your specific problem.

Discuss a project
Discuss a project