Service Design Workshop · Booking.com BookingGo
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.
The problem
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.
01 — The Brief
Problem Statement
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.
"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
02 — The Workshop Day
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.
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.
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.
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.
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.
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.
03 — The Narrative
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 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.
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.
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.
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.
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.
"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.
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
04 — The Flow
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.


| Tier | Best for | Capacity | One-way (Genius) |
|---|---|---|---|
| Standard-size taxi | Solo travellers, couples and small families | Up to 4 passengers · 2 medium suitcases | £45.25 |
| Large-size carrier | More people and luggage | Up to 6 passengers · 6 suitcases | £60.55 |
| Luxury taxi | More room to arrive in | Up to 4 passengers · 3 suitcases | £72.25 |
| Minibus | Travelling in a group | Up to 16 passengers · 16 suitcases | £124.32 |
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.
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.
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
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.
05 — Outcomes
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
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.
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".
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
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.
06 — Open Questions
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 wall | Why it matters | Where it lands next |
|---|---|---|
| Approx pricing on the hub | Travellers can't compare taxi against other modes without a price signal earlier | Hub page — indicative "from" pricing |
| CTA copy is too similar | "Choose" actions read alike, so the difference between options isn't obvious | Copy pass on results & hub CTAs |
| Taxi ↔ Rental Cars conversion path | Two products competing for the same intent need a deliberate hand-off, not collision | Cross-product flow definition |
| "Show on map" vs "open route in maps" | Two map affordances with unclear, overlapping meaning | Consolidate map interaction |
| Duplicated "Good to know" copy | Content repeated from elsewhere may not earn its place on the screen | Content audit per screen |
| Confirmation still showing old dates | Mock carried Feb dates against a Jun search — a build-data fix before test | Implementation 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