‘Book Ride For Others’ Ride-hailing Feature

‘Book Ride For Others’ Ride-hailing Feature

‘Book Ride For Others’ Ride-hailing Feature

Designed the end-to-end ride experience for riders without app access and the requesters booking for them, driving 828K+ monthly active users(MAU) growth.

Designed the end-to-end ride experience for riders without app access and the requesters booking for them, driving 828K+ monthly active users(MAU) growth.

Designed the end-to-end ride experience for riders without app access and the requesters booking for them, driving 828K+ monthly active users(MAU) growth.

Timeline

Timeline

4 months, 2022

4 months, 2022

Role

Role

UI/UX Design

UX Research

UI/UX Design

UX Research

Team

Team

Ziqing Zhou, Hao Bai - Product Managers

Yawen Wang, Xintong Zhang - Developers

Ming Xiao - Product Manager

Qiu Rou - Data Analyst

Chen Yi, Hen Mo, Lan Bo - Developers

Ming Xiao - Product Manager

Qiu Rou - Data Analyst

Chen Yi, Hen Mo, Lan Bo - Developers

Context

Context

Context

Facing slowing growth in a saturated ride-hailing market, DiDi is exploring new ways to drive growth.

Facing slowing growth in a saturated ride-hailing market, DiDi is exploring new ways to drive growth.

Facing slowing growth in a saturated ride-hailing market, DiDi is exploring new ways to drive growth.

DiDi as China's leading ride-hailing platform, similar to Uber in the U.S., operates in 400+ cities with 60M+ MAU and ~75% market share in 2022.

DiDi as China's leading ride-hailing platform, similar to Uber in the U.S., operates in 400+ cities with 60M+ MAU and ~75% market share in 2022.

As market penetration approaches saturation, user and order growth has slowed down over the past year.

As market penetration approaches saturation, user and order growth has slowed down over the past year.

Problem

Problem

Where is the next wave of growth? — In a saturated market, traditional price and promo strategies have limited impact on further growth. Growth requires unlocking new, under-served scenarios.

Where is the next wave of growth? — In a saturated market, traditional price and promo strategies have limited impact on further growth. Growth requires unlocking new, under-served scenarios.

Where is the next wave of growth? — In a saturated market, traditional price and promo strategies have limited impact on further growth. Growth requires unlocking new, under-served scenarios.

Problem

Solution

Solution

To drive new growth, we launched a “Book Rides for Others” ride-hailing feature.

To drive new growth, we launched a “Book Rides for Others” ride-hailing feature.

To drive new growth, we launched a “Book Rides for Others” ride-hailing feature.

Unlocking new scenarios for people without app access — such as the elderly, children, or other non-app users — extending ride-hailing coverage beyond direct users.

Unlocking new scenarios for people without app access — such as the elderly, children, or other non-app users — extending ride-hailing coverage beyond direct users.

Solution

Result

Result

+828K
+828K
+828K
Monthly Active Users (MAU)

Monthly Active Users (MAU)

3.31M+
3.31M+
3.31M+
Ride Growth

Ride Growth

62.6%
62.6%
62.6%
Conversion Rate

Conversion Rate

Result

Process

Process

To best support cross-role coordination and information sync, I leveraged research data to guide every phase of design process, from discovery to iteration.

To best support cross-role coordination and information sync, I leveraged research data to guide every phase of design process, from discovery to iteration.

To best support cross-role coordination and information sync, I leveraged research data to guide every phase of design process, from discovery to iteration.

01

01

01
Discovery

Discovery

Discovery

I reviewed app reviews, user complaints, and conducted user interviews to identify unmet user needs among non-app users.

I reviewed app reviews, user complaints, and conducted user interviews to identify unmet user needs among non-app users.

I reviewed app reviews, user complaints, and conducted user interviews to identify unmet user needs among non-app users.

02

02

02
Design

Design

Design

I used a Service Blueprint to map interactions between the requester, rider, and driver, identifying key touchpoints for information sync.

I used a Service Blueprint to map interactions between the requester, rider, and driver, identifying key touchpoints for information sync.

I used a Service Blueprint to map interactions between the requester, rider, and driver, identifying key touchpoints for information sync.

03

03

03
Development

Development

Development

Collaborated with PMs to define multi-role use cases, and with engineers to ensure high-quality visual implementation.

Collaborated with PMs to define multi-role use cases, and with engineers to ensure high-quality visual implementation.

Collaborated with PMs to define multi-role use cases, and with engineers to ensure high-quality visual implementation.

04

04

04
Iteration

Iteration

Iteration

After launch, I analyzed site data and user complaints to reduce friction at key touchpoints.

After launch, I analyzed site data and user complaints to reduce friction at key touchpoints.

After launch, I analyzed site data and user complaints to reduce friction at key touchpoints.

Process

Discovery

Discovery

Through user research, I found a recurring need of requesting ride of others.

Through user research, I found a recurring need of requesting ride of others.

Through user research, I found a recurring need of requesting ride of others.

💬 "My mom doesn’t know how to use the app. I have to book rides for her every time she goes out, otherwise she wouldn’t know how to get a car on her own."


— Na Li, 43, Daughter

💬 "My mom doesn’t know how to use the app. I have to book rides for her every time she goes out, otherwise she wouldn’t know how to get a car on her own."

— Na Li, 43, Daughter

💬 "My mom doesn’t know how to use the app. I have to book rides for her every time she goes out, otherwise she wouldn’t know how to get a car on her own."


— Na Li, 43, Daughter

💬 "My kid doesn’t have a phone yet. When I work late, I usually ask someone to help with pickup, so being able to book a ride remotely would be a huge help."


— Jason Wang, 32, Father

💬 "My kid doesn’t have a phone yet. When I work late, I usually ask someone to help with pickup, so being able to book a ride remotely would be a huge help."

— Jason Wang, 32, Father

💬 "My kid doesn’t have a phone yet. When I work late, I usually ask someone to help with pickup, so being able to book a ride remotely would be a huge help."


— Jason Wang, 32, Father

💬 "We book rides for clients who don’t have their own DiDi accounts, and it gets messy. We end up calling the driver ourselves to make sure everything’s clear."


— Maggie Zhou, 28, Assistant

💬 "We book rides for clients who don’t have their own DiDi accounts, and it gets messy. We end up calling the driver ourselves to make sure everything’s clear."

— Maggie Zhou, 28, Assistant

💬 "We book rides for clients who don’t have their own DiDi accounts, and it gets messy. We end up calling the driver ourselves to make sure everything’s clear."


— Maggie Zhou, 28, Assistant

Through app reviews and user complaints, I found service gaps for riders without app access, such as elderly parents or children, revealing a gap in traditional ride-hailing services.

➜ Through app reviews and user complaints, I found service gaps for riders without app access, such as elderly parents or children, revealing a gap in traditional ride-hailing services.

Through app reviews and user complaints, I found service gaps for riders without app access, such as elderly parents or children, revealing a gap in traditional ride-hailing services.

Discovery

Design Research

Design Research

Design Research

By mapping out cross-role interactions among requester, rider and driver, I identified when and how friction points occur.

By mapping out cross-role interactions among requester, rider and driver, I identified when and how friction points occur.

By mapping out cross-role interactions among requester, rider and driver, I identified when and how friction points occur.

👇 Target Users 👇

👇 Target Users 👇

👇 Target Users 👇

Requester
Requester
Requester
The account holder who books on someone’s behalf, owns payment, and tracks progress.

The account holder who books on someone’s behalf, owns payment, and tracks progress.

Rider
Rider
Rider
The person taking the ride who meets the driver at pickup and confirms trip details.

The person taking the ride who meets the driver at pickup and confirms trip details.

Driver
Driver
Driver
Receives the request, verifies the rider at pickup, and completes the trip with automatic payout.

Receives the request, verifies the rider at pickup, and completes the trip with automatic payout.

👇 Service Blueprint👇

👇 Service Blueprint👇

👇 Service Blueprint👇

Drivers aren’t aware the ride was booked for someone else or the actual rider’s details.

Drivers aren’t aware the ride was booked for someone else or the actual rider’s details.

Drivers aren’t aware the ride was booked for someone else or the actual rider’s details.

Riders lack real-time visibility of the driver’s status, causing missed pickups.

Riders lack real-time visibility of the driver’s status, causing missed pickups.

Riders lack real-time visibility of the driver’s status, causing missed pickups.

Riders lack direct supervision from the platform, raising safety concerns.

Riders lack direct supervision from the platform, raising safety concerns.

Riders lack direct supervision from the platform, raising safety concerns.

Riders have no visibility into the driver’s route, making it impossible to confirm detours.

Riders have no visibility into the driver’s route, making it impossible to confirm detours.

Riders have no visibility into the driver’s route, making it impossible to confirm detours.

Riders may be unaware if the ride has been paid for, risking duplicate charges.

Riders may be unaware if the ride has been paid for, risking duplicate charges.

Riders may be unaware if the ride has been paid for, risking duplicate charges.

Using a Service Blueprint, I pinpointed touchpoints between requester, rider, and driver where delayed or missing information disrupted the trip experience, making real-time updates and shared access to ride information essential.

➜ Using a Service Blueprint, I pinpointed touchpoints between requester, rider, and driver where delayed or missing information disrupted the trip experience, making real-time updates and shared access to ride information essential.

Using a Service Blueprint, I pinpointed touchpoints between requester, rider, and driver where delayed or missing information disrupted the trip experience, making real-time updates and shared access to ride information essential.

Feature List

Feature List

Feature List

Introduced features that keep ride information synchronized across rider, requester, and driver throughout ride experience.

Introduced features that keep ride information synchronized across rider, requester, and driver throughout ride experience.

Introduced features that keep ride information synchronized across rider, requester, and driver throughout ride experience.

01

01

Book Trip

Book Trip

Book Trip
Ride Type Labeling

Ride Type Labeling

Ride Type Labeling
On the driver’s screen, label the ride as Booked by Others to clearly indicate it was arranged for a different passenger.

On the driver’s screen, label the ride as Booked by Others to clearly indicate it was arranged for a different passenger.

Driver

Driver

02

02

Awaiting Pickup

Awaiting Pickup

Awaiting Pickup
Feature 1 - Auto-Share Trip Details to Rider

Feature 1 - Auto-Share Trip Details to Rider

Feature 1 - Auto-Share Trip Details to Rider
Instantly send riders a text with a live trip link showing driver location, plate number, and ETA, while syncing the same details to both rider and requester.

Instantly send riders a text with a live trip link showing driver location, plate number, and ETA, while syncing the same details to both rider and requester.

Rider

Rider

Requester

Requester

Feature 2 - SMS Updates

Feature 2 - SMS Updates

Feature 2 - SMS Updates
Send riders real-time text updates on driver arrival status and next steps for boarding.

Send riders real-time text updates on driver arrival status and next steps for boarding.

Rider

Rider

03

03

On Trip

On Trip

On Trip
Feature 3 - Emergency Service

Feature 3 - Emergency Service

Feature 3 - Emergency Service
Allow riders to instantly contact emergency services with a single tap during the trip.

Allow riders to instantly contact emergency services with a single tap during the trip.

Rider

Rider

Feature 4 - Route Preview & Deviation Alerts

Feature 4 - Route Preview & Deviation Alerts

Feature 4 - Route Preview & Deviation Alerts
Display the planned route to rider and notify riders if the driver deviates from it.

Display the planned route to rider and notify riders if the driver deviates from it.

Rider

Rider

04

04

Drop off

Drop off

Drop off
Feature 5 - Auto-payment

Feature 5 - Auto-payment

Feature 5 - Auto-payment
Auto-deduct ride fees from the requester’s wallet and notify the rider the fare has been paid.

Auto-deduct ride fees from the requester’s wallet and notify the rider the fare has been paid.

Rider

Rider

Requester

Requester

Design Iterations

Design Iterations

Design Iterations

Through feedbacks from two rounds of usability testing and technical review, I synced payment status to riders and defined technically feasible options for capturing the rider’s contact.

Through feedbacks from two rounds of usability testing and technical review, I synced payment status to riders and defined technically feasible options for capturing the rider’s contact.

Through feedbacks from two rounds of usability testing and technical review, I synced payment status to riders and defined technically feasible options for capturing the rider’s contact.

👇 Problem 1 👇

👇 Problem 1 👇

👇 Problem 1 👇

💬 “I was drunk last night and my friend booked a ride to get me home. This morning I just wanted to see the fare so I could pay them back.”

💬 “I was drunk last night and my friend booked a ride to get me home. This morning I just wanted to see the fare so I could pay them back.”

💬 “I was drunk last night and my friend booked a ride to get me home. This morning I just wanted to see the fare so I could pay them back.”
— Alex Chen, 27 (rider)

— Alex Chen, 27 (rider)

— Alex Chen, 27 (rider)

😵 Pain Point

In “booked-for-others” trips, riders only see that the ride ended; they can’t view the fare or payment status, making it hard to reimburse or confirm who paid.

😵 Pain Point

In “booked-for-others” trips, riders only see that the ride ended; they can’t view the fare or payment status, making it hard to reimburse or confirm who paid.

🤔️ Approach

On trip completion, deliver a rider-facing summary showing the fare total and payment status (paid by requester vs pending), plus key details like driver and pickup/dropoff locations.

🤔️ Approach

On trip completion, deliver a rider-facing summary showing the fare total and payment status (paid by requester vs pending), plus key details like driver and pickup/dropoff locations.

Feature — Auto Trip Summary (SMS)

Feature — Auto Trip Summary (SMS)

Feature — Auto Trip Summary (SMS)

On trip completion, we text the rider the fare, payment status, driver/vehicle, pickup & dropoff location, and time.

On trip completion, we text the rider the fare, payment status, driver/vehicle, pickup & dropoff location, and time.

On trip completion, we text the rider the fare, payment status, driver/vehicle, pickup & dropoff location, and time.

Before

Before

Before
After

After

After
👇 Problem 2 👇

👇 Problem 2 👇

👇 Problem 2 👇

💬 “Could I just pick my friend from Contacts? Typing the number every time is slow and I worry I’ll mistype it.”

💬 “Could I just pick my friend from Contacts? Typing the number every time is slow and I worry I’ll mistype it.”

💬 “Could I just pick my friend from Contacts? Typing the number every time is slow and I worry I’ll mistype it.”
— Emily Zhang, 29 (requester)

— Emily Zhang, 29 (requester)

— Emily Zhang, 29 (requester)

P0

Manual entry with country code selector, real-time validation/formatting, paste detection, and “recent riders.”

P0

Manual entry with country code selector, real-time validation/formatting, paste detection, and “recent riders.”

P1

iOS-native contact picker (permission-gated) with manual fallback.

P1

iOS-native contact picker (permission-gated) with manual fallback.

Feature — Add Rider Contact (Two Options)

Feature — Add Rider Contact (Two Options)

Feature — Add Rider Contact (Two Options)

On booking, requesters can enter a number or pick from Contacts (when enabled).

On booking, requesters can enter a number or pick from Contacts (when enabled).

On booking, requesters can enter a number or pick from Contacts (when enabled).

P0
Manually enter rider contacts

P0

P0
Manually enter rider contacts
P1
Choose rider from contacts

P1

P1
Choose rider from contacts

Design Showcase

Design Showcase

Rider Experience — Enjoy the ride, their way

Rider Experience — Enjoy the ride, their way

Rider Experience — Enjoy the ride, their way

Rider automatically receive ride info via text, making it easy to locate the vehicle independently.

Rider automatically receive ride info via text, making it easy to locate the vehicle independently.

01

01

Awaiting Pickup

Awaiting Pickup

Awaiting Pickup
🔗 Riders receive a ride-details link via text that opens in a browser, enabling them to track the driver’s arrival in real time and verify vehicle information—no DiDi app needed.

🔗 Riders receive a ride-details link via text that opens in a browser, enabling them to track the driver’s arrival in real time and verify vehicle information—no DiDi app needed.

02

02

On Trip

On Trip

On Trip
🆘 Riders are protected with full trip monitoring, and access to safety tools like one-tap emergency assistance.

🆘 Riders are protected with full trip monitoring, and access to safety tools like one-tap emergency assistance.

03

03

Drop off

Drop off

Drop off
💸 Notify the rider that the fare has already been paid by the requester, so no additional payment is needed.

💸 Notify the rider that the fare has already been paid by the requester, so no additional payment is needed.

SMS Updates

SMS Updates

SMS Updates
📩 Riders receive text messages about driver arrival status and vehicle information, making it easy to locate the vehicle and confirm with driver. Riders are also notified when driver deviate from planned route.

📩 Riders receive text messages about driver arrival status and vehicle information, making it easy to locate the vehicle and confirm with driver. Riders are also notified when driver deviate from planned route.

Requester Experience — Ensure the ride, your way

Requester Experience — Ensure the ride, your way

Requester Experience — Ensure the ride, your way

Track the rider’s journey from start to finish and pay for the ride in advance.

Track the rider’s journey from start to finish and pay for the ride in advance.

01

01

Book Trip

Book Trip

Book Trip
📝 Book rides for others by selecting a rider, adding their contact, and setting the pickup location.

📝 Book rides for others by selecting a rider, adding their contact, and setting the pickup location.

02

02

Awaiting Pickup

Awaiting Pickup

Awaiting Pickup
🚗 Monitor the rider’s and driver’s location and ETA in real time to ensure a smooth pickup

🚗 Monitor the rider’s and driver’s location and ETA in real time to ensure a smooth pickup

03

03

On Trip

On Trip

On Trip
🛣️ Track the rider’s route and arrival progress to confirm they reach the destination as planned.

🛣️ Track the rider’s route and arrival progress to confirm they reach the destination as planned.

04

04

Drop off

Drop off

Drop off
📍 Ensure the rider’s safe arrival with automatic payment upon trip completion.

📍 Ensure the rider’s safe arrival with automatic payment upon trip completion.

Takeaways

Takeaways

Takeaways

01

01

01
Keep trip info synchronized across roles

Keep trip info synchronized across roles

Keep trip info synchronized across roles

Sharing the same timely details (ride type label, ETA/vehicle, pickup changes, route view, and payment status) with requester, rider, and driver reduces missed pickups and post-ride confusion.

Sharing the same timely details (ride type label, ETA/vehicle, pickup changes, route view, and payment status) with requester, rider, and driver reduces missed pickups and post-ride confusion.

Sharing the same timely details (ride type label, ETA/vehicle, pickup changes, route view, and payment status) with requester, rider, and driver reduces missed pickups and post-ride confusion.

02

02

02
Validate with users, align with engineering, ship in phases

Validate with users, align with engineering, ship in phases

Validate with users, align with engineering, ship in phases

Usability testing plus technical review led to a practical roadmap: P0 manual phone entry, followed by a P1 contacts picker, to ensure timely implementation.

Usability testing plus technical review led to a practical roadmap: P0 manual phone entry, followed by a P1 contacts picker, to ensure timely implementation.

Usability testing plus technical review led to a practical roadmap: P0 manual phone entry, followed by a P1 contacts picker, to ensure timely implementation.