I was the principal product designer on a year long initiative to improve a massive booking engine.
Many users dropped out as soon as the booking engine opened. The jump to a new window broke context and trust, which led to a sharp spike in abandonment.
Part of the work meant meeting legacy code where it lived. Some PHP backends dated from 2006, which limited performance, security, and flexibility.
Our clients range from boutique villas and alpine chalets to budget hostels across Europe. The engine had to feel trustworthy, adapt to very different needs, and carry each brand with care.
The previous journey looked tired and felt cramped on large screens. Important details were hard to compare and things like guest count and bed type were easy to confuse. The result was slower decisions and less trust.
We mapped 15 user journeys across hotel types and evaluated 10 competitor booking tools. Interviews with 12 guests and 8 hoteliers surfaced expectations and frustrations. Patterns were distilled through affinity mapping and prioritised during two cross‑functional workshops.
Our first iteration was a modular system. Hotels could show rooms only, rates only, a combined view or a hybrid. We tested with 15 properties and found that flexibility was valued but the modularity confused some guests.
For the second iteration we leaned into brand and clarity. We simplified the layout, improved hierarchy and used imagery and typography to give each property more personality while keeping the flow fast and crystal clear.
The new engine runs on more than 150 hotel sites. Keeping guests inside a clean, consistent flow reduced churn and made booking feel simple and safe.
“It looks like a real product.”
“I felt bad about our guests seeing the other booking engine.”
Next time: ship lean, validate early, and tackle the hard technical risks up front.