Reducing CS contacts by 10% by simplifying the process to cancel and rebook taxi bookings

Reducing CS contacts by 10% by simplifying the process to cancel and rebook taxi bookings

Problem

Users faced errors when trying to change certain taxi bookings due to a technical issue affecting 30% of them. This led to high volumes of Customer Service contacts—38% related to booking changes—causing frustration and reducing user satisfaction.

Users faced errors when trying to change certain taxi bookings due to a technical issue affecting 30% of them. This led to high volumes of Customer Service contacts—38% related to booking changes—causing frustration and reducing user satisfaction.

Solution

We introduced a guided flow to help users cancel and rebook easily within the app. This reduced CS contacts by 10%, with 70% of users successfully rebooking—staying within acceptable business costs.

Solution

We introduced a guided flow to help users cancel and rebook easily within the app. This reduced CS contacts by 10%, with 70% of users successfully rebooking—staying within acceptable business costs.

Solution

We introduced a guided flow to help users cancel and rebook easily within the app. This reduced CS contacts by 10%, with 70% of users successfully rebooking—staying within acceptable business costs.

My role

Product Designer

My role

Product Designer

My role

Product Designer

Company

Booking.com

Company

Booking.com

Company

Booking.com

Date

2024

Date

2024

Date

2024

Problem

What were we trying to solve?

What were we trying to solve?

In some cases, users encountered an error when trying to modify their taxi booking. They had to make the changes by calling Customer Service.

In some cases, users encountered an error when trying to modify their taxi booking. They had to make the changes by calling Customer Service.

It was affecting approximately 30% of bookings.

It was affecting approximately 30% of bookings.

Around 38% of all Customer Service contacts were related to booking changes.

Around 38% of all Customer Service contacts were related to booking changes.

We also knew that forced CS interactions often led to user dissatisfaction and reduced loyalty.

We also knew that forced CS interactions often led to user dissatisfaction and reduced loyalty.

‘That’s a bit annoying, I would hope that I could just update it on the website.’

‘That’s a bit annoying, I would hope that I could just update it on the website.’

🎯 The goal was to reduce Customer Service contacts by enabling users to self-serve booking changes directly through the platform

🎯 The goal was to reduce Customer Service contacts by enabling users to self-serve booking changes directly through the platform

Solution

We made a funnel to guide users to cancel and rebook

We made a funnel to guide users to cancel and rebook

Instead of forcing users to start a new booking from scratch, we created a funnel that walked them through the process—making it easier and more intuitive to cancel an existing booking and create a new one in just a few steps.

Instead of forcing users to start a new booking from scratch, we created a funnel that walked them through the process—making it easier and more intuitive to cancel an existing booking and create a new one in just a few steps.

-10%

CS contacts

70%

Rebook rate

The process

How did we do it?

How did we do it?

01

02

03

04

05

Step 1

Step 1

Step 1

Understand the problem

Understand the problem

Understand the problem

Step 2

Ideate and define a solution

Ideate and define a solution

Step 2

Ideate and define a solution

Step 3

Step 3

Develop the visual design

Develop the visual design

Step 3

Develop the visual design

Step 4

Step 4

Validate and iterate

Validate and iterate

Step 4

Validate and iterate

Step 5

Step 5

Implement

Implement

Step 5

Implement

Step 1

Step 1

Understand the problem

Understand the problem

Identifying the error causes

Identifying the error causes

After discussing the issue with the engineering team, we identified five distinct reasons why users encountered the error when trying to modify their bookings:

After discussing the issue with the engineering team, we identified five distinct reasons why users encountered the error when trying to modify their bookings:

  • 3 reasons were due to technical limitations that couldn't be immediately resolved

  • 3 reasons were due to technical limitations that couldn't be immediately resolved

  • 2 reasons were related to other factors outside the scope of this project

  • 2 reasons were related to other factors outside the scope of this project

A manual process that frustrated users

A manual process that frustrated users

When users hit the error, they had to call Customer Service. Agents guided them to cancel their booking and create a new one manually. This workaround solved the problem but was slow and frustrating for users and costly for the support team.

When users hit the error, they had to call Customer Service. Agents guided them to cancel their booking and create a new one manually. This workaround solved the problem but was slow and frustrating for users and costly for the support team.

✏️

Tries to modify booking

🤨

Gets error message

😕

Calls Customer Service

😒

Waits on hold

😡

Is told to cancel and rebook

😭

Cancels manually

😮‍💨

Books again from scratch

😩

Frustrated and unhappy

Empowering users with self-service

Empowering users with self-service

We decided to replicate the manual process on the website, allowing users to handle cancellations and rebooking themselves without needing to contact Customer Service.

We knew the funnel had to be easy and friendly, as it was crucial to ensure users didn’t cancel their bookings but then drop out before completing the new one.

We decided to replicate the manual process on the website, allowing users to handle cancellations and rebooking themselves without needing to contact Customer Service.

We knew the funnel had to be easy and friendly, as it was crucial to ensure users didn’t cancel their bookings but then drop out before completing the new one.

✏️

Tries to modify booking

🤨

Guided to cancel & rebook funnel

😐

Steps through cancellation

🙂

Quickly rebooks with saved info

🤗

Booking updated in few clicks

🥰

Happy and satisfied

✏️

Tries to modify booking

🤨

Guided to cancel & rebook funnel

😐

Steps through cancellation

🙂

Quickly rebooks with saved info

🤗

Booking updated in few clicks

🥰

Happy and satisfied

Step 2

Step 2

Ideate and define a solution

Ideate and define a solution

First, I needed to understand what the funnel should look like. What did it need to communicate? What actions did we need from the user? What information did we need from them? And what was the most logical order to ask for it?

First, I needed to understand what the funnel should look like. What did it need to communicate? What actions did we need from the user? What information did we need from them? And what was the most logical order to ask for it?

First, I needed to understand what the funnel should look like. What did it need to communicate? What actions did we need from the user? What information did we need from them? And what was the most logical order to ask for it?

Content-first collaboration

Content-first collaboration

To answer these questions, I partnered with the UX writer and we collaborated throughout the entire process.

We took a content-first approach, starting with a quick exercise where we wrote the funnel as if the platform were speaking directly to the user. This helped us define the flow, prioritise key information, and identify differences between use cases.

To answer these questions, I partnered with the UX writer and we collaborated throughout the entire process.

We took a content-first approach, starting with a quick exercise where we wrote the funnel as if the platform were speaking directly to the user. This helped us define the flow, prioritise key information, and identify differences between use cases.

To answer these questions, I partnered with the UX writer and we collaborated throughout the entire process.

We took a content-first approach, starting with a quick exercise where we wrote the funnel as if the platform were speaking directly to the user. This helped us define the flow, prioritise key information, and identify differences between use cases.

Structuring the funnel

Structuring the funnel

We broke the script into smaller pieces and organised the content into clear steps. I led a brainstorming session with other designers to explore different ways to group and order the information.

After a few iterations, we aligned on the most logical and user-friendly flow that balanced clarity, efficiency, and ease of use.

We broke the script into smaller pieces and organised the content into clear steps. I led a brainstorming session with other designers to explore different ways to group and order the information.

After a few iterations, we aligned on the most logical and user-friendly flow that balanced clarity, efficiency, and ease of use.

We broke the script into smaller pieces and organised the content into clear steps. I led a brainstorming session with other designers to explore different ways to group and order the information.

After a few iterations, we aligned on the most logical and user-friendly flow that balanced clarity, efficiency, and ease of use.

Complete new details

Complete new details

Complete new details

Complete new details

New pick-up location

New pick-up location

New pick-up location

New drop-off location

New drop-off location

New drop-off location

New pick-up date

New pick-up date

New pick-up date

New pick-up time

New pick-up time

New pick-up time

Explanation

Explanation

Explanation

Explanation

To make this change, we will need to cancel and rebook

To make this change, we will need to cancel and rebook

To make this change, we will need to cancel and rebook

The refund of £25 will be made to your original payment method and will take The refund will take 3-5 days

The refund of £25 will be made to your original payment method and will take The refund will take 3-5 days

The refund of £25 will be made to your original payment method and will take The refund will take 3-5 days

New journey details

New journey details

New journey details

New cost

New cost

New cost

Review and cancel

Review and cancel

Review and cancel

Review and cancel

Cancellation details

Cancellation details

Cancellation details

Current journey

Current journey

Current journey

New journey details

New journey details

New journey details

Check out

Check out

Check out

Check out

Complete contact details

Complete contact details

Complete contact details

Complete payment details

Complete payment details

Complete payment details

Confirmation

Confirmation

Confirmation

Confirmation

{booking details}

{booking details}

{booking details}

Your booking was made successfully

Your booking was made successfully

Your booking was made successfully

Step 3

Step 3

Develop the visual design

Develop the visual design

I began exploring different design options and held several critique sessions with the design team to gather feedback and improve the flow. After a few rounds of iteration and discussion, we aligned on a version of the funnel that best balanced usability and clarity.

I began exploring different design options and held several critique sessions with the design team to gather feedback and improve the flow. After a few rounds of iteration and discussion, we aligned on a version of the funnel that best balanced usability and clarity.

I began exploring different design options and held several critique sessions with the design team to gather feedback and improve the flow. After a few rounds of iteration and discussion, we aligned on a version of the funnel that best balanced usability and clarity.

Complete new details

Complete new details

We reused an existing screen.

In this first step, users had to enter the details of their new journey.

New screen

Explanation

Explanation

In this step, we informed users that they couldn’t modify their booking and needed to cancel and rebook.

We focused on framing the message positively—shifting from what they can’t do to clearly guiding them on how to proceed.

We focused on framing the message positively—shifting from what they can’t do to clearly guiding them on how to proceed.

To support understanding, we displayed both the original and new booking journeys side by side, highlighting the differences.

To support understanding, we displayed both the original and new booking journeys side by side, highlighting the differences.

We used dot indicators to show these differences without relying solely on colour, ensuring the experience was accessible to all users.

We used dot indicators to show these differences without relying solely on colour, ensuring the experience was accessible to all users.

New screen

Review and cancel

Review and cancel

After users agreed to cancel their booking, they were redirected to a full-page screen where they could confirm the cancellation and review the details of their new booking.

We used a full-page layout because there was a significant amount of information to communicate clearly and effectively.

We used a full-page layout because there was a significant amount of information to communicate clearly and effectively.

The screen was divided into three main sections: what happens if you cancel, your current booking, and your new booking. This structure helped users compare both bookings and understand the impact of their decision before moving forward.

The screen was divided into three main sections: what happens if you cancel, your current booking, and your new booking. This structure helped users compare both bookings and understand the impact of their decision before moving forward.

Check out

Check out

We reused an existing screen.

They had to complete their contact and payment details.

Confirmation

Confirmation

We reused an existing screen.

!

!

After sharing the design with the PM and engineers, a few constraints came up

After sharing the design with the PM and engineers, a few constraints came up

Full-page funnel limitations

Full-page funnel limitations

A full-page version of the funnel turned out to be too complex and time-consuming to implement, given the development resources available.

A full-page version of the funnel turned out to be too complex and time-consuming to implement, given the development resources available.

Reducing the steps

Reducing the steps

To keep the scope manageable, we simplified the flow from two steps to one, minimising development effort while still guiding the user effectively.

To keep the scope manageable, we simplified the flow from two steps to one, minimising development effort while still guiding the user effectively.

Explanation

To make this change, we will need to cancel and rebook

The refund of £25 will be made to your original payment method and will take The refund will take 3-5 days

New journey details

New cost

Review and cancel

Cancellation details

Current journey

New journey details

Simplified solution

Simplified solution

To move forward within our timeline, we decided to simplify the experience to a single-step funnel, presented within a modal instead of a full-screen view.

By confirming, the user would cancel their current booking and go straight to the checkout for the new one.

To move forward within our timeline, we decided to simplify the experience to a single-step funnel, presented within a modal instead of a full-screen view.

By confirming, the user would cancel their current booking and go straight to the checkout for the new one.

To move forward within our timeline, we decided to simplify the experience to a single-step funnel, presented within a modal instead of a full-screen view.

By confirming, the user would cancel their current booking and go straight to the checkout for the new one.

We weren't sure about combining two actions so we decided to test it

We weren't sure about combining two actions so we decided to test it

This button now cancels the booking and redirects to checkout to pay to the new booking

Step 4

Step 4

Validate and iterate

Validate and iterate

I ran two rounds of user testing to ensure the experience was clear and intuitive. The main goals were to confirm that users understood they were cancelling and rebooking, and to identify any usability issues within the funnel.

I ran two rounds of user testing to ensure the experience was clear and intuitive. The main goals were to confirm that users understood they were cancelling and rebooking, and to identify any usability issues within the funnel.

I ran two rounds of user testing to ensure the experience was clear and intuitive. The main goals were to confirm that users understood they were cancelling and rebooking, and to identify any usability issues within the funnel.

🎯

Objectives

🎯

Objectives

🎯

Objectives

Identify if there is any usability or understanding issue in the cancel and rebook proposed funnel.

Identify if there is any usability or understanding issue in the cancel and rebook proposed funnel.

Identify if there is any usability or understanding issue in the cancel and rebook proposed funnel.

🔬

Methodology

🔬

Methodology

🔬

Methodology

Unmoderated user testing run through usertesting.com

Unmoderated user testing run through usertesting.com

Unmoderated user testing run through usertesting.com

👤

Participants

👤

Participants

👤

Participants

Round 1: 6 users from the UK

Round 2: 6 different users from the UK

Round 1: 6 users from the UK

Round 2: 6 different users from the UK

Round 1: 6 users from the UK

Round 2: 6 different users from the UK

📝

Tasks

📝

Tasks

📝

Tasks

Users were given the task to make a change in their booking.

Users were given the task to make a change in their booking.

Users were given the task to make a change in their booking.

They encountered the message saying that they can’t make the change and they have to cancel and rebook instead.

They encountered the message saying that they can’t make the change and they have to cancel and rebook instead.

They encountered the message saying that they can’t make the change and they have to cancel and rebook instead.

Then, they had to go through the funnel of cancel and making a new booking.

Then, they had to go through the funnel of cancel and making a new booking.

Then, they had to go through the funnel of cancel and making a new booking.

At the end, we asked some questions to see if they understood the process they went through.

At the end, we asked some questions to see if they understood the process they went through.

At the end, we asked some questions to see if they understood the process they went through.

!

!

The first round didn’t work

The first round didn’t work

The initial version didn’t perform well—users didn’t understand they were cancelling and rebooking.

Many believed they were simply modifying their existing booking and paying the price difference, when in fact they were being charged for a new booking and waiting for a refund on the original one.

The initial version didn’t perform well—users didn’t understand they were cancelling and rebooking.

Many believed they were simply modifying their existing booking and paying the price difference, when in fact they were being charged for a new booking and waiting for a refund on the original one.

The initial version didn’t perform well—users didn’t understand they were cancelling and rebooking.

Many believed they were simply modifying their existing booking and paying the price difference, when in fact they were being charged for a new booking and waiting for a refund on the original one.

We realised the step was overloaded with information, making it hard for users to understand what was happening

We realised the step was overloaded with information, making it hard for users to understand what was happening

How much money do you think you’ll get back from your original booking?

‘Nothing, because I paid more, I paid extra’

‘Nothing, because I paid more, I paid extra’

⚠️ They didn’t pay extra, they got a refund from the original and then pay the new one entirely

Do you think you need to do anything else to change your booking?

‘No, I’ve been able to change that successfully’

‘No, I’ve been able to change that successfully’

⚠️ They didn’t change the booking, they actually cancelled it and made a new one

I iterated the funnel, splitting the previous step into two different steps

I iterated the funnel, splitting the previous step into two different steps

This way, it’s easier to digest all the information. In the first step, we would explain that they’ll need to cancel and rebook. In the second step, we would confirm that the cancellation was made and show a link to go to checkout.

This way, it’s easier to digest all the information. In the first step, we would explain that they’ll need to cancel and rebook. In the second step, we would confirm that the cancellation was made and show a link to go to checkout.

This way, it’s easier to digest all the information. In the first step, we would explain that they’ll need to cancel and rebook. In the second step, we would confirm that the cancellation was made and show a link to go to checkout.

Before:

Before:

After:

After:

Changed the title to make it more clear that they were cancelling and rebooking

Changed the CTA to red so it was more clear that they were cancelling

Added confirmation that the booking had been cancelled

The second round worked way better!

The second round worked way better!

All of them understood that they were cancelling their booking and then making a new booking.

They also appreciated that besides being frustrated about the fact that they need to cancel, the process was very straightforward.

All of them understood that they were cancelling their booking and then making a new booking.

They also appreciated that besides being frustrated about the fact that they need to cancel, the process was very straightforward.

All of them understood that they were cancelling their booking and then making a new booking.

They also appreciated that besides being frustrated about the fact that they need to cancel, the process was very straightforward.

Please explain in your own words the process you just went through

‘In order to change my booking I had to cancel my previous booking and redo a new booking instead’

‘In order to change my booking I had to cancel my previous booking and redo a new booking instead’

How much money did you spend during this process?

‘£72 because the first one will be refunded to me and then the new price will be taken from me’

‘£72 because the first one will be refunded to me and then the new price will be taken from me’

Step 5

Step 5

Implement

Implement

We ran an A/B test to validate whether users would follow through with rebooking. Our main concern was that the new flow might lead to cancellations without rebookings. We tracked rebooking rates and Customer Service contact volume to measure impact.

We ran an A/B test to validate whether users would follow through with rebooking. Our main concern was that the new flow might lead to cancellations without rebookings. We tracked rebooking rates and Customer Service contact volume to measure impact.

We ran an A/B test to validate whether users would follow through with rebooking. Our main concern was that the new flow might lead to cancellations without rebookings. We tracked rebooking rates and Customer Service contact volume to measure impact.

The rebook rate was 70%

The rebook rate was 70%

70% of users who cancelled their booking through the new flow completed a rebooking, which was within our acceptable range and validated the approach.

70% of users who cancelled their booking through the new flow completed a rebooking, which was within our acceptable range and validated the approach.

We reduced Customer Service contacts by 10%

We reduced Customer Service contacts by 10%

The number of users contacting Customer Service dropped by 10%, showing that the self-serve flow successfully addressed a common pain point.

The number of users contacting Customer Service dropped by 10%, showing that the self-serve flow successfully addressed a common pain point.

We turned it full on for the rest of the users!

We turned it full on for the rest of the users!

With positive results from the A/B test, we confidently rolled out the new experience to 100% of users.

With positive results from the A/B test, we confidently rolled out the new experience to 100% of users.

Final design

Final design

Learnings

Learnings

💬

Clearer messaging makes a difference

💬

Clearer messaging makes a difference

A big part of the problem was users not understanding what they could or couldn’t do. By improving the content, we cleared up loads of confusion and cut down CS calls.

A big part of the problem was users not understanding what they could or couldn’t do. By improving the content, we cleared up loads of confusion and cut down CS calls.

✏️

Iterative testing is crucial

✏️

Iterative testing is crucial

Our first idea didn’t quite land, but testing and tweaking helped us get it right. It was a reminder that the best solutions often come after a few tries.

Our first idea didn’t quite land, but testing and tweaking helped us get it right. It was a reminder that the best solutions often come after a few tries.

🫶

Collaboration drives success

🫶

Collaboration drives success

This wasn’t just a design job. Close collaboration with the Product, CS, and Engineering teams helped us navigate tricky technical constraints and deliver something that worked and made an impact.

This wasn’t just a design job. Close collaboration with the Product, CS, and Engineering teams helped us navigate tricky technical constraints and deliver something that worked and made an impact.

Back to top