MakeMyTrip

2024

Making Booking Outcomes Clear: Reducing Support Queries by 25.8%

I redesigned Goibibo’s ground transport Thank You flow into a clear, state-aware experience that helped users understand successful, pending, and failed bookings, take the right next action, and discover relevant post-booking services without adding visual clutter.

Role

Product Designer

Timeline

Me + Project Manager

Team

Android, iOS and mobile web for trains, buses and cabs; desktop web for trains

Platform

25.8% reduction in booking-status support contact rate.

Role

Product Designer

Timeline

Me + Project Manager

Team

Android, iOS and mobile web for trains, buses and cabs; desktop web for trains

Platform

25.8% reduction in booking-status support contact rate.

Overview

Background

The Thank You page is the first screen users see after completing payment. Although it appears at the end of the booking flow, it is not simply a confirmation screen. It must communicate whether the booking was successful, pending or failed; show important journey and traveller information; explain what happens next; and provide recovery options when something goes wrong.

During discussion with Product Manager for trains funnel, we came on the conclusion that the page needed to distinguish payment failures from IRCTC failures, prioritize the PNR over the internal booking ID and support shared modules such as Manage Booking, cashback and cross-sell. Business goals, formal research and success metrics were still open in the initial brief.

For the redesign I focused on the Trains funnel and then the design was used across the entire product

My role and ownership

I owned the experience from the initial audit through state definition, information architecture, user flows, interaction design and implementation review.

I began by reviewing the existing post-booking flow and identified eight usability gaps related to hierarchy, status visibility, action clarity and content density. I then mapped the system outcomes and organized them into five top-level states.

Through this process, I found that the page did not simply need a cleaner interface. It needed clear rules for what information should appear, in what order and under which booking condition. I used these findings to build a reusable system rather than designing separate screens without shared logic.

Impact

Following launch, booking-status and confirmation-related support queries decreased by 25.8% compared with the pre-launch baseline.

Problem

The main problem was not the number of booking states. It was the way information was organized.

On the existing page, booking confirmation, journey details, actions, policies, customer support and promotional content had similar visual importance. Users had to scan through multiple cards to answer three basic questions:

  • Did my booking go through?

  • What exactly was booked?

  • What should I do next?

This became especially difficult when a booking was pending, waitlisted or unsuccessful.

The business goal

The business wanted to keep customers within the Goibibo ecosystem by introducing My Trips, return journeys and other relevant services after booking.

However, showing these modules too early or too prominently risked competing with the confirmation task. The challenge was to create space for business opportunities without reducing trust or making essential booking information harder to find.

Solution : A State-aware system that focuses on all the booking states.

I redesigned the page as a modular, state-aware system rather than one fixed layout.

The system first identifies the booking outcome and then changes the message, information order and actions shown to the user. Successful users see their confirmation and ticket details before related services. Pending users receive clear expectations and notification options. Failed users see the reason, payment or refund information and the safest recovery action.

Research

How I approached research

Because this was an existing transactional product, I focused on evaluative research rather than broad exploratory research.

I used an experience audit to understand where the interface was visually and structurally difficult to scan. I reviewed booking-related support queries because they showed which questions users could not answer on their own. I also mapped payment, IRCTC and booking responses with the product flow to understand what the system knew at each stage and which actions were safe to offer.

This research helped me identify three important findings:

  • Users needed booking status before any secondary information.

  • Pending and failed bookings required different messages and actions.

  • Cross-sell was most useful after the user’s immediate booking concern had been resolved.

Research Insights

Finding

Insight

Design response

Support contacts frequently related to confirmation and status

Users could not independently verify what happened

I made booking outcome the first and strongest element

Many unrelated cards appeared before the end of the page

The page lacked a clear content order

I separated core, supporting and promotional information

Pending and failed users had different levels of uncertainty

One generic error layout could not serve every case

I created state-specific messages and actions

Waitlisted users needed ongoing information

A successful payment did not always mean a confirmed seat

I separated booking success from traveller confirmation status

Cross-sell was useful only after the core task was resolved

Monetization could compete with reassurance

I limited prominent cross-sell to stable success states

PNR is the most recognizable train reference

Internal booking ID was not the primary user reference

I gave PNR greater visual priority, as required by the PRD

Opportunity space

The opportunity was not to remove useful information. It was to reveal information in the right order and at the right moment.

My guiding question became:

Through my research and analysis, I identified opportunities to make the experience responsive to each booking state, support self-service recovery and introduce ecosystem offerings at the right moment. These opportunities shaped a modular confirmation system that prioritized booking clarity first, recovery second and relevant cross-sell only after the user’s immediate concern was resolved.

Opportunity 1 - Make the page a self-service and recovery surface

Pending, failed, waitlisted users needed more than a status message. They needed to understand what had happened, whether their payment was safe and what they could do next.

I used this opportunity to introduce clear explanations, payment and refund information, notification options and state-specific recovery actions. This helped users resolve more booking questions without depending on customer support.

Introduce cross-sell after resolving the primary hierarchy

The business wanted to keep customers within the Goibibo ecosystem so I introduced cross selling through return journeys, My Trips and other post-booking services. However, showing these options too prominently could compete with booking confirmation and reduce trust.

I treated this as an opportunity to make cross-sell contextual:

  • Prominent after a stable, successful booking

  • Deprioritized while a booking was pending

  • Removed during unresolved payment or failure states

This allowed the experience to support business growth without distracting users from critical booking information.

Designs

Design Decisions based on Use cases

All travellers confirmed

I made the successful outcome immediately visible and prioritized the PNR, booked route, travel date and traveller details. Download Ticket and My Trips became the primary actions. Return trips and other related services appeared after the confirmation task.

Waitlisted or mixed traveller status

A successful payment does not always mean every traveller has a confirmed seat. I displayed status at the traveller level so that one overall label would not misrepresent a mixed booking.

The screen explained the waitlist status and provided access to PNR updates, notifications and My Trips.

Payment and IRCTC failures

I separated payment failure from booking failure because they require different recovery actions.

A payment failure could allow a safe payment retry. An IRCTC failure needed to explain the booking reason and allow the user to modify their selection or return to the review page without starting over.

I also designed for generic failures, preference-related failures, recovered sessions, expired access, route variations, children under five, split seats, long names and mixed traveller statuses. The full use-case and edge-case matrix is included in the project presentation.Challenges I came across during iteration

Decisions made during challenges

Challenge

How I handled it

Outcome

Confirmation and cross-sell competed for attention

I created state-based eligibility and placed business modules after the core task

Cross-sell remained available without weakening status clarity

IRCTC and payment responses were asynchronous

I separated short pending, long pending, failure and recovery states

Users received more accurate messages and safer actions

One framework had to support train, bus and cab

I created a shared shell with product-specific modules

The system remained reusable without hiding train-specific needs

Traveller and route data varied significantly

I stress-tested layouts with long names, mixed statuses, route segments and large groups

Components remained readable across realistic data conditions

Retry could create duplicate bookings

I tied Retry visibility to a safe backend response

Recovery actions did not increase duplicate-booking risk

Shared components had different owners

I defined content order, eligibility and fallback behavior before final UI

Dependencies were clearer during implementation

The initial PRD lacked defined business metrics

I connected each design goal to a measurable behavior

The team could evaluate clarity, recovery and ecosystem engagement after launch

Impact Metric

Primary KPI: Booking-status support queries and Secondary Metric: Cross-sell engagement

25.8% reduction booking-status support queries

I selected booking-status support queries as the primary KPI because the main user problem was unclear confirmation information. When users could not understand whether their booking was successful, pending or failed, they often contacted customer support for clarification.

I measured queries related to:

  • Booking confirmation and status

  • Missing ticket or PNR

  • Pending bookings

  • Payment deducted but booking not confirmed

  • Failed bookings and refund status

  • Waitlisted or partially confirmed travellers

The reduction was supported by several design changes:

  • Making booking status the first and most prominent information

  • Prioritizing the PNR for train bookings

  • Separating success, pending and failure experiences

  • Showing traveller-level status for waitlisted and mixed bookings

10–15% increase in cross selling engagement

I tracked engagement only for eligible users whose bookings had reached a stable successful state. Pending and failed users were excluded because resolving their current booking was more important than promoting another service.

Following launch, engagement with relevant post-booking cross-sell modules increased by 10–15%.

This improvement was supported by:

  • Moving cross-sell content below confirmation and journey details

  • Showing it only after the primary booking task was resolved

  • Making recommendations relevant to the user’s journey

Reflection

What I learned

This project taught me that simplifying an experience does not always mean removing information. In this case, the larger opportunity was to decide what users needed first, what could wait and what should only appear in certain states.

Mapping the system before designing the screens helped me create a solution that supported both user clarity and business needs. It also changed how I think about confirmation pages: they are not simply the end of a transaction, but an important space for reassurance, recovery and continued engagement.

What I would do differently

If I repeated the project, I would define the analytics and support taxonomy at the beginning of the work so that every state had a clear baseline. I would also conduct short comprehension tests using realistic booking data, including mixed traveller statuses and payment uncertainty. This would allow me to validate not only whether users liked the page, but whether they could correctly explain what happened and choose the right next action.