Solving Ticket Hassles in CityMapper: A UX Case Study
CityMapper is a popular urban mobility app designed to help users navigate complex city transport systems with ease. It offers real-time multimodal route planning by combining buses, trains, subways, bikes, scooters, ride-hailing, and walking directions. Available in cities worldwide, Citymapper aims to make urban travel simple and efficient by showing the fastest, cheapest, and most convenient routes — all in one place.
The Main Problems I Found in User Interviews
To better understand this issue, I interviewed five people with experience using public transport both locally and abroad.
Here is the interview guide I used (5 Questions) :
- Tell me about a time you had to buy tickets for public transport, especially in a city you didn’t know well. How did you feel about the process?
2. What’s the most annoying or confusing part about buying tickets for public transport?
3. How do you usually plan your trips on public transport? Any apps or methods you use?
4. Have you ever needed to buy multiple tickets for one trip? How did that work out?
5. If you could improve one thing about the ticket buying process, what would it be?
Across these interviews, a few clear themes emerged:
- Confusing local rules: Users found zones, tariffs, and ticket types opaque, especially in foreign cities.
- Multiple tickets for one trip: Switching modes (e.g., metro + train) often requires separate tickets, which is frustrating.
- Non-standard systems: Different cities demand different apps, cards, or even cash purchases.
- Broken or hard-to-use machines: Vending machines were described as unreliable or intimidating, especially when under pressure.
- Language barriers: Machines or apps in local languages added stress for tourists.
All of these pain points contribute to a fragmented, stressful experience. Users want to plan and pay for their entire trip in one go, without worrying about ticket types or local systems.
The Main Problem I Wanted to Solve
After synthesizing these interviews, the core problem was clear:
Get Mélisande Caniel’s stories in your inbox
Join Medium for free to get updates from this writer.
Buying the correct set of tickets for a single multimodal trip is confusing, time-consuming, and fragmented.
CityMapper’s app already solved the routing problem. My goal was to extend its value by solving the ticket purchasing problem and letting users buy all necessary tickets in one place, with confidence they’re getting the right ones.
During my sketching step, I explored several ideas to address the problem of fragmented ticket buying. One option was a Universal QR/NFC Pass, where users pay once in the app to get a single scannable code valid for their entire multimodal trip, removing the need to juggle multiple tickets and offering seamless gate access. Another idea was a Mobility Wallet or Subscription model, letting users pre-load credit or pay monthly so that ticket costs are automatically deducted as they travel, eliminating repeated purchases and simplifying budgeting. After considering these alternatives, I chose to focus on the integrated purchase flow as the most immediately feasible and user-friendly solution CityMapper could implement.
My Solution: A Unified Ticket Purchase Flow
I drew inspiration from the Paris RATP app and designed a new feature for CityMapper with these principles in mind:
Seamless trip planning
The user begins by entering their origin and destination, then chooses from suggested routes with detailed info (description, duration, pricing).
Transparent trip details
Once they pick an itinerary, they see exactly which tickets they’ll need and the total cost.
Integrated purchase flow
A prominent “Buy Tickets” button leads to a purchase page where users can:
- Adjust quantity of each ticket
- Choose payment method (credit card, Apple Pay)
- Enter their email to receive tickets
Easy access to tickets
All purchased tickets are saved in the app’s new “Tickets” page, accessible via the main navigation (that has been added for a better navigation). Users can consult and use their tickets directly from there.
This flow removes the stress of figuring out multiple ticket types and buying them in different places. Users only need to choose their route and pay once.
A Few Key Things I Learned
- User empathy is critical: Interviews revealed issues I hadn’t considered, like language barriers or fear of being fined.
- Fragmented systems are a universal frustration: Even locals in major cities carry multiple cards or use multiple apps.
- Trust matters: Users want to know they’re buying the correct ticket, they don’t want surprises at gates or inspections.
- Simple, clear flows are valued: Participants consistently wanted “one app, one payment, one place to find my tickets.”








