+38%
direct bookings
-22%
OTA commission spend
1.1s
median search response
6 months
from kickoff to launch
The Client
A boutique hotel group operating a portfolio of independent properties in leisure and city-break destinations. Each hotel had its own character and loyal guests — but bookings flowed overwhelmingly through online travel agencies, with commissions taking a mid-teens percentage of the group's room revenue.
The Challenge
The group's own booking experience was the problem. The website handed guests off to a dated white-label booking widget: slow searches, a clunky multi-step form that behaved badly on phones, and rates that periodically disagreed with what the OTAs showed — because availability sync with the channel managers was batch-based and fragile. Guests would browse the hotel's site for photos, then book on an OTA because it was simply easier.
Worse, the sync fragility occasionally produced double-bookings during peak weekends, which the front desks absorbed with upgrades and apologies. The group wanted to own its booking experience end to end, but had no software team — its IT function was one systems manager overseeing property-management systems and vendors.
What We Did
Dillo delivered the new booking platform as a managed outsourcing project: discovery with the group's revenue manager and hotel GMs, then milestone-based delivery with demos every two weeks. The guiding metric from day one was direct-booking conversion.
- Built a direct-booking engine on Node.js and PostgreSQL: fast availability search across properties, room and rate-plan management, promotions and packages, and support for the flexible-date searches leisure guests actually perform.
- Implemented two-way rate and availability sync with the group's channel managers — event-driven instead of batch — so the website, OTAs and property-management systems finally agreed in near real time.
- Redesigned the booking flow in Next.js, mobile-first: from search to confirmed reservation in three steps, with real photography, transparent pricing and no handoff to a third-party widget.
- Integrated Stripe for payments — cards and wallets, deposits and flexible cancellation handling — replacing the previous provider's clunky hosted page.
- Tuned for speed on AWS: cached availability reads and pre-warmed searches brought median search response to 1.1 seconds, with performance budgets enforced in CI.
Launch was property by property, starting with the two highest-traffic hotels, with A/B comparison against the old widget before each cutover. Full launch landed six months after kickoff; Dillo continues to run the platform under a light support retainer.
The Results
- Direct bookings rose 38% in the two quarters after full launch, driven by the faster, mobile-friendly flow.
- OTA commission spend fell 22% as share shifted to the group's own channel — savings that flow straight to margin.
- 1.1-second median search response, down from the 4–6 seconds guests endured with the old widget.
- Event-driven sync eliminated the peak-weekend double-bookings that had been a recurring front-desk headache.
- The group now owns its guest data end to end, feeding a nascent loyalty program that the old white-label setup made impossible.
Figures reflect outcomes reported for this engagement; they are project results, not audited benchmarks.
Tech Stack
Services Used
Software Outsourcing — a managed delivery team owning the booking platform from discovery through launch and ongoing support, on transparent pricing.