How redBus made use of DialogFlow, Whatsapp — to improve Customer Experience

Ranjith B K
Aug 17, 2018 · 6 min read

‘redBus’ is world’s largest online bus booking platform operating in 6 different countries with thousands of transactions everyday. Being leaders in our business domain — customer satisfaction, NPS determine how well we are taking care of our customers on issues (pre and post journey).

In this blog we will try to explain our efforts in improving our customer flow experiences at all stages.

What was the problem?

Earlier, whenever the customer called the support, they had to manually check the queries, keeping customer on hold. Some of the calls which were related to bus cancellations and boarding point queries, support teams had to call the bus operator to get the details. As the calls increased, it led to inefficiencies in handling the customer request.

We looked at the following KPIs while designing our redBus CX systems:

  1. Number of customer issues to booking during a time window.
  2. Net Promoter Score (NPS).
  3. Average Call Hold Time.
  4. Number of self served customer issues.
  5. Accuracy of Classification and tracking them (booking failures, refunds, boarding point location)

What did we do ?

We made it quite easy for customers to approach us in the first place via:

  1. Contact on Whatsapp BOT.
  2. Email the issue (template auto-filled with all the cases).
  3. Call directly to customer care.
  4. Re-mapped our IVR flow

The solutions which were developed in order to meet the objective are listed below:

1. Whatsapp

1.1 Whatsapp chat

Whatsapp is quite ubiquitous in the Indian customer space. We introduced chat bot on whatsapp which helps the customers to resolve his queries on whatsapp. He/she can use this to chat for getting information about bus location, cancel ticket, refund status, payment debited but no ticket issued and so on.

To know more about whatsapp chat bot for redBus, please read this blog.

User Interaction with Whatsapp Bot

1.2 Whatsapp group

Whatsapp group is a unique feature to bring customer, redBus and the operator closer during his journey. Using this feature the customer can raise concerns directly to the bus operator and it also gives a privilege to talk to other customers on the same bus which can help them to share the live locations of the bus and discuss other queries related to bus. We are also adding the redBus chat bot to the group chat, thus making the customer’s overall experience even more easier and convenient.

2. In-App Chat — When you visit the redBus website, you will be greeted by a little chat window at the bottom of the screen, ready to help you. This eases the customer to resolve the queries at the time of booking.

3. Dynamic IVR — In context IVR. Since we are already aware of the users’ mobile number at the time of calling (for many cases), we are able to actually take him to the right issue category. We also provide him the context at that time.

4. redBus Assist — This is a set of frequently asked questions to the customer support and this is available on our customer facing applications under the help category. Customer can directly check these options to match their query, if available. If customer’s resolution is not met, they can raise a case in our customer support application. It will also give the TAT information to the customer.

Instances of redBus assist helping customer
Architecture Diagram

How does it work?

SwineLine flow diagram

Let’s take a use case where user is chatting on whatsapp with redBus chat bot.

  • When the customer writes a query on whatsapp, the request from whatsapp will be sent to redBus servers.
  • redBus receives the user request and sends it to Natural language processing (NLP) unit, dialogue flow in this case.
  • Our dialogue flow agent will be trained with training set but before that the intent will be created. On the same intent, training phrases will be done.
  • Dialogue flow returns the control along with the intent and action.
  • Once we have the intent and action we will call our corresponding fulfillment module.
  • When the request is fulfilled it will be sent to translation engine. Translation engine will translate the message to specific language.
  • And the response will be sent back as whatsapp message.

The platform is written in Node js, which is scalable and fast. It is more suitable for real time applications like chatbot. We make use of typescript to make our code more object oriented and statically typed scripting language. It is a superset of javascript that complies to plain javascript.

We are not limited to dialogue flow. Our system can scale up and use different set of NLPs like, Lex, etc. We choose to use dialogue flow because training set in dialogue flow is huge and our application has full control over what we are doing.

We wanted a nosql db to store the chat for our analytics. We choose Arangodb which allows you to store different data models and allows you to query without any hassle. Performance wise arangodb is much faster than any other nosql db. ArangoDB allows application developers to write their data access and domain logic as microservices running directly within the database with native access to in-memory data. The Foxx microservice framework makes it easy to extend ArangoDB own REST API with custom HTTP endpoints. Check here for the benchmark of arangodb.

Our redBus assist is built on react native. We wanted all our features to live for all the users without app release. React native helps us to build new features for both android and ios with code re-usability. Also it allows us to push the features live for all the users without the customer updating the app to new version.

Whatsapp has launched whatsapp for business which helps the enterprise to grow their business and bring out the new innovations. We have introduced our bots on whatsapp to resolve the customer queries. Customers can chat on whatsapp to know their refund status,get the e-tickets, cancel the ticket, track the bus location etc. We started to create groups by adding the customers who have booked on redBus where user can share the location of the bus, if the bus doesn’t have the live tracking feature. We also add the bus operator to the group so that customer can raise concern/reviews to the bus operator.

We categorized the frequently asked questions which were asked to our support as general queries and transaction related queries.With the launch of redBus assist on App, we now show these questions to the user. we have seen drastic drop in the calls to the support team after the launch. Our imperfect score improved by 10 base point post the release.

Imperfect score is defined as the number of transactions for which the complaints are raised.

Categorized Issues

categorized issue types
Imperfect score

After the launch of Whatsapp chat bot, Imperfect score reduced further to 8%.

Imperfect score

The release of this features has helped us to resolve the customer issues on time and give a better experience.We will further enhance our whatsapp bot features and redBus assist to provide even better customer experience.

redbus India Blog

redBus India Blog

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store