
Redesigning Taxes & Fees Transparency for International Hotels
When I joined the Hotels team at MakeMyTrip, one of the first problem areas I encountered was something almost every traveler has felt at some point — frustration around the final price of a booking not matching what was initially shown.
On the surface, our per-night prices looked competitive, clean, and user-friendly. But once users moved closer to payment, things started to get messy: per-night taxes, service fees, and in some cases, mandatory one-time charges like boat transfers (especially in Maldives bookings) were either buried in the fine print or introduced too late in the journey.
The Trust Gap
This wasn’t just a UI issue — it was a trust issue. Users felt blindsided. They were promised one thing at the start and ended up paying something else. We noticed a clear spike in drop-offs when total payable amounts jumped unexpectedly, and customer complaints about hidden charges kept surfacing.
At the same time, we had to deal with a legally and operationally complex backend:
Some fees were per night (like VAT or service charge),
Some were fixed (like city tax),
And some were one-time, like mandatory boat transfers to island resorts — but still payable at the property, not during booking.
The Trust Gap
Core Challenge
How do we clearly communicate this mix of fee types across all surfaces — without overwhelming or confusing the user?
How do we show taxes that at property clearly in the same price breakup?
Breaking It Down
I started by mapping the complete flow of pricing information — from the hotel listing card to the final payment screen — and listing every single charge that could show up, both common and edge-case.
One key insight was that the problem wasn’t just about visibility — it was about structure and expectation.
If a user sees “₹18,000 + 5000 taxes/night” and then encounters a ₹7,500 boat transfer later, it feels like a hidden cost — even if it’s mentioned on the review page. On the other hand, if we could set expectations early and separate per-night pricing from one-time, per-stay charges, the experience could become clearer and more trustworthy.
Industry References
To inform my approach, I studied how leading platforms handle price transparency:
Airbnb shows a clean, upfront breakdown on the hotel page on L2 using a bottom sheet.
Expedia includes local taxes in the total and notes what’s payable at the property.
Trip.com categorises charges clearly, especially “pay at hotel” fees.
Ixigo adds a subtle note below the price to flag extra charges.
Booking.com uses visual dividers to separate price details for better clarity.
Takeaway:
The most effective experience combined Trip’s categorisation clarity, Airbnb’s simplicity, and Expedia’s upfront tax inclusion — which helped shape my final approach.
Design Iterations: From Overload to Clarity
Iteration 1: Total on Top – Rejected
🧩 Situation: Total amount was placed at the top of the breakup.
⚠️ Design Problem: Broke natural reading flow — users prefer understanding components before seeing the final amount
Iteration 2: Flat Structure with Group Taxes
🧩 Situation: Taxes were grouped under “Pay Now” and “Pay at Property” but lacked visual separation.
⚠️ Design Problem: Users couldn’t clearly distinguish between tax types or spot key charges like one-time fees.
Iteration 3: Introduced Icons for Fee Types
🧩 Situation: Icons were added to visually separate fee types like transfers and service charges.
⚠️ Design Problem: Created unnecessary cognitive load — users had to interpret symbols along with reading the text.
Final Iteration: Segregated Boxes with Clear Labels
🧩 Situation: Used boxed sections, bold labels, and clear payment timing indicators.
✅ Design Win: Visually clean, easy to scan, and clearly separated one-time vs. per-night vs. pay-at-property charges.
UAT Testing Conclusion
Name of tester
Iteration choice
Insight
Anushka
1st
Total on top makes it quicker to scan
Manoj
2nd
Follows a clean top-to-bottom flow
Annvecha
4th
Easy to follow due to linear structure
Shubbranshu
4th
Clear split between pay now & at property
Palak
4th
Clear segregation; just needs total amount visible
Kapil
2nd
Easiest to understand overall
Karan
3rd
Good hierarchy; suggested better
currency format
The 4th iteration emerged as the most preferred among users due to its clear distinction between ‘Pay Now’ and ‘Pay at Property’ charges, structured layout, and overall ease of understanding. Users were able to quickly grasp the fee breakdown, leading to a more confident booking experience.
This validation confirmed the final design direction as successful, both in terms of usability and comprehension.