WhenaHotelGroupStoppedPayingCommissionstoRentItsOwnGuests
A luxury hotel group was sending 70% of its bookings through OTAs—paying 20% commission on guests who already loved the brand. Why? Because booking directly on their website was a miserable experience. We rebuilt their booking engine from the ground up, making it faster and easier than the OTAs. Direct bookings surged 65% in six months.
Business Context & Telemetry
Our client was a heritage luxury hotel group with 18 properties across India. Their physical product and service were impeccable. Their digital booking experience was, by their own admission, embarrassing. Loyal guests—people who had stayed with them 30 times—were booking through Booking.com simply because it was easier. The brand was subsidizing a third-party distributor because it had failed to invest in its own digital front door.
Established Luxury Hotel Brand
8-person digital team, supported by a revenue management group
Pan-India, 18 properties across 14 cities
Web, iOS, Android
1997
“Our most loyal guests were booking through Booking.com because our own website was too slow and too complicated. We were paying commission on guests who were already ours. That stopped being acceptable.”
Chief Digital Officer
A brand guests loved, paired with a checkout guests avoided.
OTA dependency isn't an unavoidable law of nature; it is a tax on bad UX. When a hotel treats its booking engine as a functional afterthought rather than a competitive e-commerce asset, guests take the path of least resistance.
The 8-second death sentence
On mobile—where 65% of the client's guests began their search—page load times averaged 8 seconds. In e-commerce, you lose a massive chunk of your audience every passing second. At 8 seconds, the hotel wasn't competing with OTAs; it had forfeited before the guest even saw a room.
A 7-step obstacle course
The checkout required guests to navigate 7 distinct, clunky steps. Cart abandonment was sitting at a staggering 70%. The sharpest drop-off happened at the payment screen, which lacked modern integrations like UPI, Apple Pay, or saved cards.
No reason to book direct
Guests ask a simple question: 'What do I get for booking directly with you?' The hotel’s honest answer was: nothing. Rates were identical to the OTAs, the UX was worse, and the hotel's loyalty program was completely invisible during the checkout process.
A 'desktop' site crammed onto a phone
The booking flow technically rendered on mobile, but it wasn't *built* for mobile. Date pickers required microscopic, precise taps. High-res images crushed cellular bandwidth. It was a miserable experience at the exact moment guests were ready to buy.
Accepting a 20% tax as normal
The 15–20% OTA commission had been part of the business model for so long that leadership had stopped questioning it. But when we modeled the financial impact of shifting just 20% of that volume to direct channels, the savings were enough to fund their entire IT budget for years.
They had tried a 'Mobile Redesign' two years prior, which updated colors but ignored the underlying sluggish architecture. They also ran a 'Book Direct & Save 5%' promo. It moved the needle slightly, but the gains vanished the moment the promo ended. Discounting was just a band-aid over a broken product.
"The Chief Digital Officer had been hired to build a genuinely competitive digital capability, not a brochure site that forwarded traffic to Expedia. This project wasn't just an IT upgrade; it was the final, most crucial step in reclaiming the brand's independence from third-party distributors."
We watched 100,000 bookings fail—to understand exactly why.
Before drawing a single wireframe, we spent two weeks analyzing the data. Every abandoned cart is a specific human making a specific decision to give up. Once you watch enough of them, the fixes become obvious.
Discovery & Methods
We analyzed heatmaps, session recordings, and funnel drop-offs for 100,000+ sessions. We also ran moderated usability tests. In live testing, 6 out of 18 loyal guests actually gave up on the hotel's site and switched to an OTA mid-task just to finish the booking. We asked them why, and their answers became our design brief.
Guests weren't choosing OTAs. They were escaping friction.
Nobody actually *wanted* to use the OTA. They just wanted to stop fighting the hotel's website. A slow page, a confusing calendar, an annoying form field—these micro-frustrations accumulated until the guest surrendered. The mandate was simple: eliminate every single piece of friction.
Design Philosophy
We set one ruthless engineering rule: Every step in the booking flow must load in under 1.5 seconds on a mid-range Android phone on a 4G connection. If a design choice or a high-res image couldn't meet that hard performance constraint, it was instantly killed.
Constraints Respected
- Legacy PMS: The engine had to integrate with the existing Opera PMS via SynXis, inheriting its strict rate and API limitations.
- Rate Parity: Contractual obligations with OTAs meant we couldn't just offer 'cheaper rates.' Value had to be surfaced via perks and loyalty points.
- Brand Identity: The flow had to feel like a seamless extension of a luxury brand, not a generic white-labeled booking widget.
- Existing Loyalty Engine: We had to integrate with their legacy points database without rebuilding it.
A booking experience that respects the guest's time and rewards their loyalty.
We rebuilt the architecture from first principles: lightning-fast mobile performance, a stripped-back 3-step checkout, and a highly visible value proposition for booking direct.
Performance-First Architecture
A Next.js frontend that loads the search interface in under 1.5 seconds on a 4G mobile connection. The entire booking flow is progressively pre-fetched so subsequent clicks feel instantaneous.
Slashing load time from 8 seconds to 1.5 seconds stopped the massive top-of-funnel bleed. Speed isn't just a technical metric; in e-commerce, speed is revenue.
Hybrid server-side and static rendering. Images served via WebP/AVIF through CloudFront. Availability API responses cached in Redis with a 60-second TTL.Lightning-fast, SEO-optimized frontend with seamless state management
Aggregates PMS availability, pricing, and loyalty data into single, fast queries
Aggressive caching layer to shield the user from the legacy PMS's slow response times
Complete coverage for international cards, UPI, and digital wallets
Native integration with the hotel's existing inventory and rate management system
Auto-scaling infrastructure to handle massive spikes during holiday booking rushes
Dynamic, mathematical 'Book Direct' messaging.
“Static banners are ignored. We built a real-time calculator that explicitly tells the guest the monetary value of the points and perks they will earn on *this specific booking*. Transparency beats marketing fluff.”
Never ask for information you already have.
“For returning guests, we pre-filled everything from email addresses to saved credit cards. For new guests, we stripped out every 'optional' field. Less typing equals more bookings.”
Fourteen weeks to launch. Timed perfectly for the summer rush.
We aggressively scoped the project to ensure the new engine was live before the hotel's peak pre-summer booking window, ensuring the revenue impact would be felt immediately.
Delivery Timeline
Operational Log
Architecture & UX Design
Weeks 1–5Designed the high-fidelity mobile and desktop flows. Ran three rounds of usability testing with real loyalists to validate the 3-step checkout logic.
API & PMS Integration
Weeks 6–11Built the GraphQL layer and integrated it with SynXis/Opera. This was heavily load-tested to ensure the legacy PMS wouldn't crash under the new, faster frontend.
Load Testing & Soft Launch
Weeks 12–13Ran 5x peak load tests and strict Lighthouse performance audits. Soft-launched exclusively to top-tier loyalty members to catch edge-case bugs safely.
Full Launch
Week 14Switched 100% of web and mobile traffic to the new engine just as the seasonal booking surge began.
Team Topology
Deployed Roster
Collaboration
Working Rhythm
We held joint weekly sessions with both the Digital and Revenue Management teams. Because checkout UI is a design decision and rate-display is a revenue decision, having both teams in the room eliminated days of email back-and-forth.
Course Corrections
Diagnostic Log
The legacy Opera PMS had an API response time of 45–90 seconds under load. We couldn't build a 1.5-second frontend if the backend took a minute to confirm a room.
We built an aggressive Redis caching layer with property-specific Time-To-Live (TTL) settings. We also used 'optimistic UI'—showing the guest a confirmed screen instantly while the PMS synced asynchronously in the background.
Strict OTA Rate Parity contracts prevented us from offering cheaper room rates on the direct site.
We shifted the value proposition entirely to 'Perks.' We highlighted flexible cancellation, guaranteed room upgrades, and accelerated loyalty points. Post-launch surveys proved guests cared more about the transparent points calculation than a 5% discount.
During the soft launch, a CSS animation bug caused the date-picker to crash on a specific subset of older Android devices.
Because we soft-launched to a controlled cohort, we caught the bug in the crash logs within 6 hours. We delayed the public launch by 48 hours, deployed a fix, and avoided a disastrous first impression with the wider public.
Six months later, direct bookings overtook OTAs for the first time in the brand's history.
The metrics were staggering, led by a massive 150% spike in mobile conversions. By simply getting out of the guest's way, the brand reclaimed millions in revenue that was previously being handed to middlemen.
65%
Increase in direct bookings
measured over 6 months vs. the same period the prior year
₹1.7Cr
capital retained internally due to the shift away from OTAs
42%
massive reduction in users leaving during the checkout flow
Qualitative Objectives Reached
- The hotel's first-party data collection increased 5x. Because guests were booking direct, the marketing team finally owned the guest email addresses and preferences, rather than losing them to OTA data-masking.
- Loyalty program enrollment during checkout jumped from 8% to 31%, driven entirely by the clear, mathematical presentation of points-value during the booking flow.
- Empowered by the surge in direct volume, the Revenue Management team was finally able to negotiate tighter commission terms with their OTA partners from a position of strength.
"For years we assumed guests simply preferred OTAs. What we discovered is that they only preferred OTAs because we made them. We had never invested in making our own site better. The moment we removed the friction, the guests came. They were never really choosing Booking.com—they were choosing the easier path. We just needed to be it."
Chief Digital Officer
Luxury Hotel Group Client
Insights Gained
Valuable lessons and strategic insights uncovered through this project that inform our future work and architectural decisions.
OTA dependency is a product problem, not a market problem.
Hotels accept 20% commissions as a 'cost of doing business,' but it is largely a self-inflicted tax on bad UX. When your direct channel is faster, simpler, and more rewarding, guests will happily use it.
Speed is the prerequisite for everything else.
You can have the best loyalty perks in the world, but if your site takes 8 seconds to load, the guest has already left. In e-commerce, performance optimization has a higher ROI than almost any feature work.
Value must be specific and mathematical.
Generic 'Book Direct & Save' banners are invisible to modern consumers. Showing a guest exactly how many points they are earning and equating it to a specific dollar value is what actually changes checkout behavior.
Capabilities & Archive
Watching guests book through OTAs for a hotel they already love? The problem is almost always the friction in your direct experience — and it's highly fixable.
Services Leveraged
Every OTA booking is a relationship you are paying someone else to own.
We rebuild booking engines for hotels that are tired of subsidizing third-party distributors. Tell us about your current funnel—drop-off rates, mobile load times, channel mix—and we'll show you exactly how much revenue you can reclaim.
"No digital transformation fluff. Just a conversation about your bookings."
