Service Design Workshop · Booking.com BookingGo

Taxi Flow —
Q2 2019

A one-day team workshop that took a written user narrative, built it out into screens on the wall, reviewed them together, and converged on the pre-book taxi flow that went into implementation for testing.

Taxi UX Narrative-led design Booking.com · BookingGo Pre-book airport taxi Workshop · 2019 Paper · Sticky notes · Sketch

The problem

Screens on the wall, no shared story to anchor them.

Two journey strands were pinned up for review — the "Getting around Amsterdam" hub and the native-app on-demand trip flow. The team was critiquing them screen by screen, and the open questions were multiplying on sticky notes faster than they resolved: approximate pricing, near-identical CTA copy, where map links lead, how Taxi and Rental Cars share a conversion path. Useful questions — but with no end-to-end narrative, every screen was judged on its own instead of against a real traveller's intent.

The design tension

Build the happy path — without losing the questions the wall surfaced.

Subject, Scope & Team

Subject
Consumer pre-book taxi
Airport transfer: search → checkout → confirmation
Format
1-day journey workshop
Review · narrate · build to the story · critique · converge
Team
Taxi UX · Product · Eng
Cross-functional review, decisions made live in the room
Output
Taxi Flow — Q2 2019
The flow that went into implementation for testing

Problem Statement

Reviewing screens without a narrative

The wall held two journey strands and a growing layer of unanswered questions. There was no single user story tying the pre-book taxi experience together, so the team had no shared yardstick: was a screen good because it looked finished, or because it moved a real traveller toward booking? The workshop existed to replace screen-by-screen opinion with one narrative everyone could test the flow against.

⚠ What the wall surfaced

  • "Approx pricing for Taxi?" — no price signal on the hub
  • "CTAs have similar copy" — choices read the same
  • "What's the difference between show on map & open route in maps?"
  • "How will this work with Taxi and RC conversion path?"
  • "No CTA to find out more" on the service explainer
  • "Is this useful?" against copy duplicated from elsewhere

→ What we decided to build to

  • One narrative — a Genius traveller, Schiphol → hotel
  • Visible pricing per tier — price on every vehicle card
  • An "Explore our services" panel — answer trust questions in place
  • A real 3-step Easy Checkout — guest and signed-in
  • Flight tracking + driver note captured in the flow
  • A confirmation with reference and send-to-phone
"Approx pricing for Taxi?" · "CTAs have similar copy" · "How will this work with Taxi and RC conversion path?"
Verbatim from the journey-review wall · sticky notes

Review, Narrate, Build & Converge

The day ran as one continuous loop: get the current screens visible, write the story they should serve, rebuild the screens against that story, then critique together until a single flow stood up.

2
Journey strands
reviewed
1
Narrative
written
5
Flow stages
agreed
1
Flow to
implementation
Part 1ReviewCurrent journey screens

Get everything on the wall

The team pinned up the existing journeys — the "Getting around Amsterdam" hub and the native-app on-demand trip flow — and walked them as a group, capturing every question on sticky notes rather than resolving them in place.

Hub pageApp trip flowSticky-note questions
Part 2NarrateWrite the user story

One traveller, one intent

We wrote a single narrative scenario — a Genius frequent traveller pre-booking a return Schiphol-to-hotel transfer before flying — to act as the shared yardstick for every screen decision.

Narrative scenarioPersona: JoeHappy path
Part 3BuildScreens to the story

Rebuild against the beats

Each beat of the narrative got a screen: search results, an explainer panel, checkout, confirmation. Where the story needed something the wall didn't have — visible pricing, a guest path — we built it.

Beat → screenVisible pricingGuest checkout
Part 4CritiqueReview as a team

Test the screens against the story

The team reviewed the rebuilt screens together, judging each against the narrative instead of in isolation — resolving the wall's open questions or parking them explicitly for the next iteration.

Team critiqueResolve or park
Part 5ConvergeTaxi Flow Q2 2019

One flow, ready to test

The day closed on a single agreed pre-book Taxi Flow — search results, explore-our-services, Easy Checkout (signed in & logged out), and confirmation — handed to engineering to build for testing.

Agreed flowTo implementationFor testing

The Story We Built To

A persona-driven scenario — the single source of intent the whole flow was reviewed against. Each step below became a screen in the Q2 2019 build.

Persona & Trigger

Joe Smith — Genius frequent traveller, flying into Amsterdam

Joe already holds a hotel booking and wants his airport transfer locked in before he flies: a known price, no arrivals-hall queue, no cash. He reaches the taxi flow from the "Getting around Amsterdam" hub by choosing the bookable taxi option — and the flow picks up at search results, pre-populated from his trip.

01
Search results

Compare the tiers

Results are scoped to Schiphol Airport (AMS), Fri 28 Jun 2019, 4 passengers, with the Genius 10% discount applied. Four vehicle tiers stack up, each with a one-way price and a "Choose taxi" button. Joe expands the Standard tier and sees Meet & Greet included and free cancellation up to 1 hr before pickup.

02
Explore our services

Answer the trust question

Unsure what he's buying, Joe opens the "Explore how our service works" panel: how it works (book → driver meets you → no queues/cash/fees), what's included (one set price, flight tracking, tried-and-trusted drivers), and an FAQ — how do I pay, what if my flight's delayed, who do I contact. He switches to a return trip and trades up to Luxury.

03
Easy Checkout · step 2 of 3

Add the details

Recognised as Joe Smith, Frequent Traveller, his trip is recapped (Schiphol → NH Grand Hotel Krasnapolsky, ~27 min / ~18 km, total £192.10 with Genius). He adds a flight number — with "search by departure airport" if unknown — so the driver can track delays, and a note for the driver. A guest sees the same form with a "sign in and save time" prompt.

04
Easy Checkout · step 3 of 3

Pay

Joe picks a payment method — credit/debit card or PayPal. As a returning user he selects his saved Visa; a guest enters card details instead. Below the button: "By clicking Complete booking you are accepting our Terms and Conditions." He taps Book now.

05
Confirmation

Confirmed before he flies

"Thanks Joe! Your taxi is confirmed." Booking reference 1073837221, full trip recap, Genius applied. He taps "Send confirmation to phone" so it's ready when he lands, with "Print trip details" as a fallback.

Postcondition

What Joe walks away with

A confirmed, pre-paid, flight-tracked return transfer with a fixed price, a free-cancellation window and a reference — sorted before he leaves home. Booking.com attaches ground-transport revenue to the trip and captures a guest who could later sign in.

Alternate branches carried into the flow

  • Auth state — signed-in vs guest checkout, with a mid-flow sign-in prompt
  • Trip type — one-way vs return
  • Vehicle — Standard, Large carrier, Luxury, Minibus
  • Unknown flight number — search by departure airport
  • Payment — saved card vs new card vs PayPal
  • Cancellation — free up to 1 hr before pickup

Taxi Flow — Q2 2019

The flow that came out of the day and went into implementation for testing: five stages, with checkout split across a signed-in and a logged-out path. Rendered below from the handoff file.

Taxi Flow Q2 2019 — full screen flow from search results to confirmation
Taxi Flow · Q2 2019 — Search Results → Explore our services → Easy Checkout (Signed In) → Easy Checkout (Logged Out) → Confirmation
Taxi Flow detail — search results and explore-our-services
Detail · Search results & Explore our services
Taxi Flow detail — Easy Checkout and confirmation
Detail · Easy Checkout (signed in & guest) & Confirmation

Vehicle tiers on search results

TierBest forCapacityOne-way (Genius)
Standard-size taxiSolo travellers, couples and small familiesUp to 4 passengers · 2 medium suitcases£45.25
Large-size carrierMore people and luggageUp to 6 passengers · 6 suitcases£60.55
Luxury taxiMore room to arrive inUp to 4 passengers · 3 suitcases£72.25
MinibusTravelling in a groupUp to 16 passengers · 16 suitcases£124.32
Stage 2

Explore our services

Inline panel opened from a link above results. How our service works (book → meet driver → take taxi), what's included (one set price, flight tracking, tried & trusted), and FAQs answering payment, delays and support.

Stage 3 · branch

Signed in vs logged out

Signed-in users get pre-filled passenger details; guests see a "sign in and save time" prompt and fill details manually. Both capture flight number (search by departure airport) and a note for the driver, e.g. a child seat.

Stage 3 · payment

One clear price, then pay

Step 3 of 3: credit/debit card or PayPal, saved card or new card, with Terms & Conditions acceptance on the Complete booking action. Return Luxury total £192.10 with Genius 10% applied.

Reference journey

Schiphol Airport (AMS) → NH Grand Hotel Krasnapolsky

Return trip · ~27 minutes · ~18 km · Luxury taxi · up to 4 passengers, 3 suitcases · total £192.10 with Genius 10% applied · confirmation reference 1073837221 · send-to-phone and print available on confirmation.

What the Day Produced

A narrative-led method turned a wall of isolated screens and open questions into one testable flow the whole team had reviewed and agreed.

By the numbers

5
Stages in the agreed pre-book flow
Taxi Flow · Q2 2019
4
Vehicle tiers, each with visible pricing
Search results
2
Checkout paths reconciled — signed in & guest
Easy Checkout
1
Shared narrative the flow was reviewed against
Workshop method
01

Guest checkout added

The narrative exposed travellers who aren't signed in. The flow gained a logged-out Easy Checkout with a mid-flow "sign in and save time" prompt — capturing the booking without forcing an account.

02

Trust answered in place

Instead of a separate "how it works" detour, an inline Explore-our-services panel answers payment, delay and support questions exactly where doubt arises — directly addressing the wall's "no CTA to find out more".

03

Operational detail captured

Flight number (with airport search) and a free-text driver note — for things like a child seat — were built into checkout, turning supplier-raised needs into fields the traveller fills once.

Why the method worked

A story gives a team one thing to agree on

Reviewing screens in isolation produces opinions; reviewing them against a shared narrative produces decisions. By writing the traveller's story first and building each screen to a beat of it, the team had a single yardstick — and the day ended with one flow everyone had signed off, not a longer list of questions.

Parked for the Next Iteration

Not every sticky note was resolved on the day. These were captured explicitly so the testable flow could ship without losing them.

Question from the wallWhy it mattersWhere it lands next
Approx pricing on the hubTravellers can't compare taxi against other modes without a price signal earlierHub page — indicative "from" pricing
CTA copy is too similar"Choose" actions read alike, so the difference between options isn't obviousCopy pass on results & hub CTAs
Taxi ↔ Rental Cars conversion pathTwo products competing for the same intent need a deliberate hand-off, not collisionCross-product flow definition
"Show on map" vs "open route in maps"Two map affordances with unclear, overlapping meaningConsolidate map interaction
Duplicated "Good to know" copyContent repeated from elsewhere may not earn its place on the screenContent audit per screen
Confirmation still showing old datesMock carried Feb dates against a Jun search — a build-data fix before testImplementation QA
The flow that shipped to test wasn't the end of the conversation — it was the version that earned enough team agreement to learn from real users.
Workshop recap · Taxi UX