On this page
TL;DR
- We moved two boutique hotels in South Goa onto their own branded booking engine, connected live to their PMS (Djubo) and to Razorpay for payments.
- From the first real payment on 2 Aug 2026 to 12 Oct 2026, the new engine took 102 paid direct bookings (48 at one hotel, 54 at the other).
- Cash collected was INR 5.82 lakh (about USD 6,132). Total booking value is estimated at about INR 14.6 lakh (about USD 15,383), because many guests pay a 30% advance.
- OTA commission paid on these bookings: INR 0. Estimated commission avoided: about INR 2.4 lakh (about USD 2,529) after payment fees, at an assumed 18% OTA commission. If only half these guests would otherwise have booked through an OTA, the saving is nearer INR 1.1 lakh (about USD 1,159).
- The hardest part was not the website. It was the gap between the price a guest sees and the payment being taken.
The hotels and the problem
Both properties are small boutique hotels in South Goa. Bookings were coming in, just not on the hotels' terms.
Guests booked in one of two ways. Through OTAs, the online travel agencies that take a commission on every stay. Or through a generic booking page hosted by the hotels' property-management system, the PMS that holds rooms, rates and reservations. Neither felt like the hotel's own brand.
The owner's brief was simple to say and hard to build:
A fast, branded booking experience on each hotel's website that takes payment directly and writes the reservation straight into the PMS.
If that problem sounds familiar, our OTA commission calculator will give you a rough number for what it costs your property today.
What we built
We built two branded websites, each with a five-step booking flow connected live to Djubo (the PMS) and Razorpay (payments).
- Dates. Guests pick their stay and see live availability.
- Rooms. Room photos, live prices and a cart, with mixed room types in one booking.
- Details. Guest details, plus private promo codes that hotel staff hand out personally.
- Review. Every charge on one screen before paying.
- Payment. UPI or card, as a 30% advance or in full.
Around that flow:
- Live availability and pricing, pulled from Djubo in real time, including multi-room bookings across room categories.
- Direct payments through Razorpay, with the guest choosing a 30% advance or full payment.
- Instant confirmation: a branded confirmation email and PDF voucher, sent once payment clears.
- A safety net for paid guests: if a guest closes the browser right after paying, the server still creates the reservation.
This is the same idea behind Lexsis for hotels: the website and the booking flow in one design, on the hotel's own domain, reading rooms and rates from the PMS the hotel already runs.
What went wrong
Plenty broke along the way. This is the most useful part for any hotel planning the same move.
1. The PMS had rules nobody had written down
Price and promo tokens from the PMS expire after a short time, so they could go stale between the moment a guest saw a price and the moment they paid. The booking request also changed shape depending on the number of rooms. Early on, some guests were charged without a reservation being created.
We traced each failure to its root cause, fixed it, and added automatic alerts that catch any repeat within minutes.
Lesson: the gap between "price shown" and "payment taken" is the riskiest part of a booking engine. Design for it first.
2. A partner system that says "slow down"
Djubo sometimes rejects bursts of requests (rate limiting). We made booking requests retry safely and cut the engine's own noisy traffic. Loading one calendar went from about 700 log lines to 3, so real errors can no longer hide in the noise.
3. Making it safe to take real money
Our security and reliability audit closed a hole in voucher generation and made the server enforce the minimum payment. Before the fix, a guest could pay INR 1 (about USD 0.01) toward a larger booking. We locked unused endpoints and removed guest data from logs, and booking details now travel with the payment itself, so a software update cannot lose an order mid-payment.
Lesson: anything the browser checks can be bypassed. The server has the final say on money.
Online booking was also paused for about 10 days in August while PMS-side issues were fixed. That pause sits inside the results window below.
The results
Results run from the first real payment on 2 Aug 2026 to 12 Oct 2026, about ten weeks.
| Metric | Result | How to read it |
|---|---|---|
| Paid bookings, new engine | 102 | 48 at one hotel, 54 at the other |
| Cash collected | INR 5.82 lakh (about USD 6,132) | Lower than booking value, because many guests pay a 30% advance |
| Total booking value | About INR 14.6 lakh (about USD 15,383), estimate | Range INR 13.6 to 15.6 lakh (about USD 14,329 to 16,437), because of advance payments |
| Payment fees | INR 14,534 (about USD 153) | 2.5% of cash collected |
| OTA commission paid | INR 0 | On bookings made through the new engine |
| OTA commission avoided | About INR 2.5 lakh (about USD 2,634) before fees, about INR 2.4 lakh (about USD 2,529) after fees, estimate | Assumes an 18% OTA commission and that every booking would otherwise have gone to an OTA. If only half would have, nearer INR 1.1 lakh (about USD 1,159) |
| Failed payment attempts | 12.8% | Mostly card and UPI declines. Named as the next thing to improve |
Direct bookings per month (old and new flows combined)
| Month (2026) | Direct bookings |
|---|---|
| July (before the new engine) | 31 |
| August (engine live from 2 Aug, about 10 days paused) | 43 |
| September | 62 |
The old PMS-hosted booking page had been taking 26 to 47 bookings a month before the switch. After it, that page took 11, 11 and 2. The new engine largely replaced it and added volume on top.
A caution on reading this: we cannot know how many of these guests would have booked through an OTA anyway, which is why the commission figure is shown as an estimate with a "half" scenario next to it.
Annualised view (calculated, not a result)
Hotel owners usually ask what this looks like over a year, so here is the arithmetic. These figures are calculated from the numbers above, with the working shown. They are run rates, not forecasts, and they are not recurring revenue in the SaaS sense.
Method: the results window is 2 Aug to 12 Oct 2026, which is 72 days counted inclusively. Annual run rate = figure in the window × (365 ÷ 72), a factor of about 5.07. USD at 1 USD = INR 94.91 (ECB reference rate, 2 Nov 2026).
| Figure in the window | Working | Annualised run rate (calculated) |
|---|---|---|
| 102 paid bookings | 102 × 365 ÷ 72 | About 517 bookings a year |
| Cash collected, INR 5,82,000 | 5,82,000 × 365 ÷ 72 | About INR 29.5 lakh (about USD 31,086) |
| Booking value, about INR 14,60,000 (estimate) | 14,60,000 × 365 ÷ 72 | About INR 74 lakh (about USD 77,983), range INR 68.9 to 79.1 lakh (about USD 72,642 to 83,325) |
| Commission avoided after fees, about INR 2,40,000 (estimate) | 2,40,000 × 365 ÷ 72 | About INR 12.2 lakh (about USD 12,819) |
| Commission avoided, "half" scenario, about INR 1,10,000 | 1,10,000 × 365 ÷ 72 | About INR 5.6 lakh (about USD 5,875) |
| Payment fees, INR 14,534 | 14,534 × 365 ÷ 72 | About INR 73,679 (about USD 776) |
A monthly × 12 check on bookings: September's 62 direct bookings (old and new flows combined) × 12 = 744 a year. That is higher than the 517 above because September had no booking pause and includes the old page's bookings.
Why these may not hold for a full year:
- The window covers August to mid-October only. Hotel demand in Goa is seasonal, and these months may not represent the full year.
- Online booking was paused for about 10 days in August, which pulls the run rate down.
- Booking value and commission avoided are estimates, so the annualised versions are estimates of estimates.
- We do not have a monthly revenue figure for this project, so we annualised the full window rather than a single month.
What we would tell another hotel
- Start with your PMS, not your website. A booking engine is only as good as its link to the system that holds your rooms and rates. Learn its rules, written or not, before designing a screen.
- Give guests a reason to book direct. Private promo codes and a 30% advance option made the hotels' own websites the easiest place to book.
- Plan for the moment after payment. Browsers close and connections drop. A paid guest must always end up with a reservation.
- Judge it on honest numbers. Count cash, booking value and fees separately, and be realistic about how many guests would have used an OTA anyway.
Where Lexsis fits
Lexsis for hotels puts the website and the booking flow in one design on your own domain, reading rooms, rates and availability from the PMS you already use. From there:
- AI visibility for hotels tracks what AI answers say about your property when travellers plan a trip.
- Campaign pages for hotels give each package, ad or email its own bookable page.
- The booking concierge answers guest questions from your approved facts and checks availability in your PMS.
The boutique hotels page covers smaller properties like the two in this story. Results depend on your PMS, your traffic, your OTA mix and your season, so the first step is to measure your own baseline.
FAQ
Is a direct booking engine worth it for a small hotel?
In this case, two boutique hotels took 102 paid direct bookings in about ten weeks with INR 0 OTA commission on them. Whether it pays off for you depends on how many of those guests would otherwise have booked through an OTA, your payment fees and your build cost.
How much OTA commission can a hotel save by taking bookings direct?
Here the estimate was about INR 2.4 lakh (about USD 2,529) after payment fees over ten weeks, assuming an 18% commission and that every guest would otherwise have used an OTA. If only half would have, it falls to about INR 1.1 lakh (about USD 1,159). Your own contract sets the commission rate.
Does a hotel booking engine need to connect to the PMS?
For this project, yes. Live availability, live prices and reservations written straight into Djubo were the core of the brief. Most of the problems in the build came from that link, which is why we suggest starting with the PMS.
What payment options did guests use?
UPI or card through Razorpay, with a choice of a 30% advance or full payment. Payment fees came to 2.5% of cash collected. Failed payment attempts were 12.8%, mostly card and UPI declines.
How long did it take to get direct bookings flowing?
The first real payment came on 2 Aug 2026. Online booking was paused for about 10 days in August while PMS-side issues were fixed. We have not published the build time before launch.
See what your website could book
Want the same numbers for your property? Get your free direct-booking audit for your booking flow, OTA share and what AI tells travellers about you, or book a demo to see Lexsis against your website and goals.

102 direct bookings in ten weeks: a hotel booking engine case study from South Goa
Case Study PDF
Download this Report
Enter your email and we'll send it to you.



