Redesign of Bus Ticketing App

Redesigning the bus booking experience from “stressful” to effortless

This project improves how riders book intercity bus tickets in Malaysia. Previously the flow was fragmented search on one page, pay externally, queue at the counter to print a ticket, and manually ask where the gate is. Some riders missed their bus simply because they could not locate the gate or the bus.

1. Discovery: finding the real problem

We interviewed riders at TBS (Terminal Bersepadu Selatan) and Kuantan Sentral. Most complaints were not about the price it was about uncertainty:

• “Where do I board?”
• “Is my ticket confirmed? I didn’t receive TAC.”
• “Can I change my travel date? Even if I pay?”

Insight: passengers fear losing control once they pay.

2. Research: observing behavior at terminals

We watched how people actually booked tickets. Many went to the counter “just to ask”, then returned to the app and booked again. Reasons:

• They didn’t trust the ticket was confirmed without a physical print.
• They wanted to choose seats together but apps made it hard.
• TAC (bank one-time password) often fails due to weak telco signal.

Our takeaway: the app must reduce friction, reduce uncertainty, and guarantee seat confirmation instantly even if payment isn’t completed yet.

3. Data-informed UX decisions

From app analytics, we noticed:

• 43% drop-off rate happened during payment
• 62% of failed payments were caused by TAC timeout
• 70% of group buyers want to select seats together first

This validated our new model: Reserve seats first → then choose payment.

4. Persona

Farah
Age 27, frequent traveler between KL and Terengganu.
Goal Book fast, avoid uncertainty.
Pain TAC fails, app forces immediate payment, confusing gate navigation.
Success A clear flow: Search → Book → Pay → Scan → Board.

5. User Journey (before vs after)

BEFORE:
Search → Pay (TAC fails) → Restart → Queue to print → Ask for gate → Guess the boarding bus

AFTER:
Search → Reserve seats → Pay (multiple options, TAC optional) → Scan QR to enter → Track bus live

6. Wireframes & iterations

We sketched three paths:
A. Standard booking
B. Reserve now, pay later
C. Change trip / cancel with refund

We tested the flows with 8 real users. The winning flow was the one that:

• held seats for a countdown timer,
• allowed “Pay at counter” but booking still confirmed,
• skipped TAC by using tokenized card or FPX auto-login where supported.

7. Final Design rider-first logic

Seat selection first emotional decision, boosts conversion
Multiple payment options FPX, cards, eWallets, and pay at counter
No-TAC payment tokenized card or frictionless 3DS
QR boarding scan at gate, no counter required
Scan QR to Track Bus track arrival in real-time
Promo hub early bird, last-minute deal, family pack
Cross-sell options RM1 insurance, SMS reminder, premium support, pay-to-cancel

8. Change Trip & Paid Cancellation

Trip protection unlocks flexibility users can change the date/time once. Cancellation shows refund timeline transparently:

"Refund will be processed within 7–14 days."

9. Usability Test Results

After redesign:

• 38% faster booking completion time
• TAC failure drop from 62% → 8% using frictionless payment
• Customer support inquiries dropped by 41% (gate confusion & refund status)

10. Business Impact

The app unlocked new revenue channels:

• RM1 insurance cross-sell
• Trip protection (paid flexibility)
• SMS / priority boarding add-ons

A ticketing app becomes an ecosystem booking, tracking, promotions, and gate access in one flow.

Outcome

Riders feel in control. Operators reduce queue and support overhead. The experience shifts from stressful and uncertain to predictable and confident.

Simple. Confirmed. Scan & go.