All work
Booking, payment and refund states

35 transaction states, one calm pattern

When a booking failed, people couldn't tell if they'd been charged. I mapped every state and gave each one a plain answer.

35Booking, payment and refund states mapped
25%Of support tickets, root cause fixed
3 wkTo ship across four platforms
BookMyShow purchase history with a failed bookingBookMyShow ticket: booking failed, refund will be initiatedBookMyShow ticket: refund processed, with the reference to quote
  • RoleAssistant Manager, Product Design
  • Worked withEngineering and support
  • TimelineDec 2019 to Aug 2020
  • PlatformsAndroidiOSMobile webDesktop

The problem

Purchase history showed a booking as confirmed or missing. Real payments fail, cancel and refund in parts.

My role

Sole designer. I mapped every state with engineering and support, and designed what each one says.

Context

The company, the people, the goal

BookMyShow sells movie and live event tickets across India. Every booking passes through three systems, the payment gateway, BookMyShow and the cinema or event partner, and in 2020 status questions about those bookings were the root cause of 25% of support tickets.

Who it was for

  • Moviegoers after a failed payment

    Money has left their account, no ticket arrived, and they want to know if it is coming back.

  • Moviegoers waiting on a refund

    A cancelled or failed booking is refunding, sometimes in part, and they want the amount and the date.

  • Support agents

    They answer the same status questions all day, from information the app never showed.

What success meant

  • Business goal

    Remove the root cause of the status tickets, a quarter of all support volume.

  • User goal

    Know what happened to my money, and when it comes back, without calling anyone.

Research

What we did to learn, and what we learned

  • Support ticket analysis

    3 months of support tickets sorted by topic. A quarter asked about booking, payment or refund status.

  • Support agent interviews

    5 agents on the questions they hear most and the answers they give that the app does not.

  • Transaction mapping with engineering

    Every path through the gateway, BookMyShow and the partner, written into one Cases frame until 35 scenarios were listed.

  • Audit of purchase history

    Walked the existing list and ticket screens state by state. Only successful bookings appeared.

  • Competitive audit

    How Uber, Swiggy, Amazon and Paytm show failed orders, refund timelines and reference numbers.

  1. 01

    People read money taken as a booking made

    How we knowTicket analysis and the agent interviews: a failed booking after payment read as being cheated.

    What it changedPayment and booking became two separate facts, said in that order.

  2. 02

    Three systems can disagree about one booking

    How we knowThe Cases frame: double gateway responses, partner timeouts, and bookings confirmed at the cinema but not updated at BookMyShow.

    What it changed35 system scenarios were grouped into five categories a person understands: initiated, payment, booking, cancellation and refund.

  3. 03

    Refund worry peaks on day 3, refunds take 7 to 10

    How we knowRefund tickets spiked about three days after a failure, while gateways take 7 to 10 days to credit.

    What it changedThe refund card states the provider's window and a reference number up front.

  4. 04

    Five stock answers covered most status calls

    How we knowAgents said five replies covered about 80% of status questions: processing, the timeline, refund on its way, check your bank, here is your reference.

    What it changedEach of those answers moved into the ticket screen, so the app says it first.

Principles

The rules every screen followed

  1. 1

    Money first, then the booking

    Every failed or cancelled state opens with what happens to the money, before film, time or seat.

  2. 2

    One pattern, every state

    A status label, colour, icon and one sentence. A new state fits the pattern instead of needing a new screen.

  3. 3

    The list answers, the ticket explains

    The list shows the status and refund amount. The ticket holds the timeline, breakdown and reference.

Process

  1. 01

    List every state

    Booking, payment and refund scenarios, mapped until none were left.

  2. 02

    Split two tracks

    Payment status and booking status, said separately.

  3. 03

    Write for worry

    The copy leads with what happens next.

  4. 04

    Ship everywhere

    One pattern on every platform at once.

Key decisions

Decision 01of 03

Two states became every state

A booking showed as confirmed or missing. Every booking, payment and refund state now has its own plain status.

BeforeOnly two answers

ConfirmedMissing

Everything else became a support ticket

AfterEvery state visible in the list

BookMyShow purchase history with a failed bookingFailed, with the refund amount

Decision 02of 03

Payment and booking, said apart

One merged status hid cases like charged but not booked. Each one is now said plainly, first.

BookMyShow ticket: booking confirmedConfirmed, in green
BookMyShow ticket: booking failed, refund will be initiatedFailed, said firstRefund amount up top

Decision 03of 03

Written for the worried moment

People open purchase history when something feels wrong. Refunds show a timeline and a reference number.

BookMyShow ticket: refund processed, with the reference to quoteWhen the refund landsA reference to quote

The journey after

End to end, as it shipped

  1. 1Something goes wrong

    A payment fails mid-way, or the money is taken and the partner never confirms the seat.

  2. 2Open purchase history

    The booking is in the list with a status dot, a plain label and the refund amount.

  3. 3Open the ticket

    The header says the booking state; the next line says what happens to the money.

  4. 4Check the amount

    The refund breakdown explains any deductions in a partial refund.

  5. 5Refund lands

    The header goes green, with the date, the provider's window and a reference number.

  6. 6Only then, support

    Support and FAQs sit at the bottom, with the booking ID already on screen.

Edge cases

Designed for the messy moments too

  • Booking failed after payment

    A red header says the booking failed, the line under it says the refund will be initiated, and the amount sits on top.

  • Booking cancelled

    The list keeps the booking visible with its status and the refund amount being processed, instead of dropping it.

  • Partial refund

    An expandable refund breakdown shows the amount paid minus handling fees and the BookASmile donation, so a smaller refund is explained.

  • Refund processed

    The header turns green. A timeline shows when BookMyShow processed it, the provider's 7 to 10 day window and a reference to quote to the bank.

  • System edge cases

    Gateway double responses, partner timeouts and unclassified booking statuses were listed in the Cases frame, so each had a defined status and message before build.

  • Still unsure

    Every ticket ends with Support and FAQs next to the booking ID, as the last step rather than the first.

Outcome

The same calm status pattern was reused for later transaction types.

Each state says what happened to the money first, then what happens next.

  • 35booking, payment and refund states mapped
  • 25%of support tickets, root cause fixed
  • 3 wkto ship on Android, iOS, mobile web and desktop
  • ShippedThe same status pattern was reused for later transaction types

Reflection

Looking back

What I learned

  • A support queue is a map of design gaps. The tickets told us which states the product had no words for.
  • The states had to come from the people who own the systems. Support knew them by the tickets, engineering by the code paths.
  • Clear beats reassuring. People calmed down when the screen answered their question, not when it sounded kind.

What I would do next

  • Track status tickets by state after launch, to find the messages that still send people to support.
  • Tell people about their refund around day 3, when worry peaks, instead of waiting for them to open history.
Next case studyPulse, from concept to shipped React in 3 weeks