Inside a Direct Booking Engine: How Dates, Rooms and Naira Payments Fit Together
If you run a hotel, guest house or short-let, you have probably heard the same advice: "Get your own booking website, so you stop paying commission." That advice is half right. A direct booking site can save you money and give you your guests' details. But a booking engine is not just a nice page. It is a small piece of software with rules that must be right, or you will end up with double bookings and angry guests.
We have already compared the two routes in Hotel Booking Website vs Listing on Airbnb and walked through how to start a hotel booking website. This article goes inside the machine, so you know what to ask for.
The question every booking answers: is it free?
When a guest enters a check-in and a check-out date, the engine must decide which rooms can be sold. The rule sounds easy, and the mistakes are easy too.
A stay from the 10th to the 13th takes the nights of the 10th, 11th and 12th. The guest leaves on the morning of the 13th, so someone else can arrive that afternoon.
A room is not free if any existing booking overlaps those nights. Two stays overlap when the first one starts before the second ends, and ends after the second starts. A booking that checks out on the 10th does not clash with one that checks in on the 10th.
Developers who get this wrong either block rooms they could sell, or sell the same room twice.
Counting rooms, not just beds
Most hotels have several rooms of the same type. So the engine counts: "There are 6 Deluxe rooms. How many are already booked for any of these nights? Is the answer less than 6?" It must check every night in the stay, not only the first. A room type can be free on the 10th and full on the 12th.
Preventing the double booking
Here is the nasty case. Two guests look at the last room at the same moment. Both see "available". Both press pay.
A careful engine handles this in two ways:
- It re-checks availability at the moment of booking, not only when the page loaded, and it does so in a way that blocks a second request until the first one finishes.
- It decides when a room is truly held. Does the room get reserved when the guest starts paying, or only when payment succeeds? Both can work, but you must choose, and say what happens when payment fails or the guest walks away.
Ask any developer: "What happens if two people book the last room in the same second?" If the answer is vague, do not buy.
Room types and prices
A good engine lets you set up, for each room type:
- A name, photos and a description.
- A price per night, with the option to change it for seasons or weekends.
- How many people it sleeps. The engine must refuse a booking for more people than the room allows.
- Amenities, like air conditioning, Wi-Fi or breakfast.
- How many rooms of that type you have.
Taking payment in naira
This is where a Nigerian booking engine differs most from an overseas one.
Pay online. The guest pays by card or transfer through a local payment gateway such as Paystack or Flutterwave, and the money goes to your account. Offering more than one gateway helps when one is down.
Pay at the hotel. Many guests, and many hotels, still prefer to pay on arrival. A good engine supports this as an option you can switch on or off. Be careful: it raises the risk of no-shows. Some owners ask for a deposit online and the balance at the hotel.
Bank transfer. The guest transfers to your account and sends proof, and you confirm the booking by hand. It needs more of your time, so use it only if guests ask for it.
A booking should only be marked paid when the payment company confirms it, using signed messages and a check that the amount matches. We explain the common mistakes in five payment integration mistakes.
What the guest should see
Keep it short:
- Dates and number of guests.
- A list of available room types with prices for the whole stay.
- A guest form: name, phone, email. Making guests create an account first loses bookings, so allow a guest checkout, and offer login to people who want it.
- A coupon box, if you run promotions.
- Payment, then a booking reference shown on screen and sent by email.
- A way to look the booking up later using that reference.
What the owner should see
- A list of rooms, with their status.
- A list of bookings, with dates, guest, payment status and notes.
- A calendar view is a great extra. It shows at a glance which rooms are free.
- A way to cancel or change a booking, and a clear record of what happened to the money.
- A payment overview, so you can match bookings to what you received.
What a direct engine does not do for you
Be realistic. A simple engine is not a channel manager. At the time of writing, a basic engine like ours does not automatically sync with Booking.com, Airbnb or other listing sites, and it does not run housekeeping. If you list on those sites and take direct bookings, you need to update the calendars yourself, or use a channel manager that connects them. A calendar that is not kept in step is the most common cause of double bookings between channels.
Also remember that listing sites bring you guests you would not find alone. A direct site is strongest when guests already know you: repeat guests, referrals and people you reach through WhatsApp, social media and your own marketing.
Is it worth it?
Do this sum with your own numbers. Take your last three months of bookings from listing sites. Look up what each platform kept in commission and fees. Then ask how many of those guests could have booked with you directly. Commission rates vary by platform and by agreement, so use your own statements, not a guess. If the amount is large and many of those guests already knew you, a direct site can pay for itself quickly.
Where XpiriaTech fits
XpiriaTech has a Hotel Booking template built on the rules above: availability by date range, room types with pricing and capacity, guest or logged-in checkout, coupon codes, several payment gateways plus pay-at-hotel or bank transfer, booking references, and an owner dashboard for rooms, bookings and payments. You can see the hotel solution page, and if you need a custom booking or short-let listing portal beyond that, talk to us.
Software engineer with over 9 years of experience in software development and digital technology. B.Sc. in Industrial Chemistry from Adekunle Ajasin University. Has worked across web development, mobile applications, e-commerce platforms, VTU and fintech solutions, API integrations and custom software.




Comments
No comments yet. Be the first to share your thoughts.