Skip to main content

On-demand services: A guide to implementing chat

SBM blog CTA mobile 1

Drive growth and reduce costs with omnichannel business messaging


For on-demand companies, the necessity for in-app communication is more apparent than ever before. In an ideal situation, the ondemand experience requires little communication. There’s no waiting, no mistakes on an order, no software or technical issues, no traffic, no miscommunication – essentially zero friction. But, when the on-demand experience isn’t ideal, in-app chat provides a convenient and easy way to coordinate or communicate transparently. If anything goes wrong, customer, driver, or vendor support is a tap and message away.

Chat and messaging in on-demand applications is not only a crucial way to provide a better user and communication experience, but it’s also proven to improve the bottom-line. It increases total bookings by reducing cancellations, it supports other growth metrics by increasing customer engagement in the app, and decreases the need for omnichannel communication, like SMS, e-mail, or calls. Whether the on-demand service is ride-hailing, food delivery, or a digital wallet, your app can optimize communication by creating a direct messaging channel between the driver and rider or delivery-person and customer.

This Chat Implementation Guide for On-demand Companies serves as a comprehensive handbook that offers best-practices and step-by-step advice about how to implement chat into your on-demand application. This guide underlines the strategy for launching in-app chat, for measuring success, for planning the feature roadmap, and provides a sample chat flow for on-demand transactions.

As the most scalable and complete chat service that can be fully customized, Sendbird empowers businesses to accelerate delivery of a top-notch in-app chat experience, optimize your service using user behaviour data, and solve real business problems with real time communication, that directly contributes to increasing GTV.

A perfect on-demand post-purchase experience is seamless. When logistics don’t go perfectly, Sendbird offers your users and supply-chain the ability to communicate now.

Three goals for in-app messaging in your on-demand service

Resources Guide in-app messaging

1. Connect both sides of your on-demand platform, both drivers and users, to increase transactions, to facilitate both private and secure engagement across your service portfolio and empower them to make informed decisions about their transactions.

2. Reduce booking cancellations by optimizing user engagement within your app, where there’s the optimal context for making decisions valuable to your service. This directly increases gross transaction value (GTV).

3. Use chat data to send information into your analytics platform to help optimize your service and further prevent spam or fraudulent activity.

Common uses of user-to-user messaging in on-demand platforms



  • Drivers unsure of the exact pick-up location
  • Drivers clarifying pick-up point – e.g. specific gate
  • Both drivers and riders sharing location and/or pictures of their current location
  • Riders checking where the driver is


  • Drivers letting riders know they are stuck in unexpected traffic
  • Drivers letting riders know they are on the way
  • Drivers letting riders know they have arrived
  • Riders letting drivers know they are walking towards the pick-up point
  • Users wanting to check-in when the car is ‘not moving’ on the map

Other notification

  • Some riders may have special needs, e.g. a person with a disability needs accommodation or another rider has a lot of luggage

When booking for others

  • Users coordinating between driver and rider
  • Drivers letting users know they have arrived
  • Drivers sharing location and/or pictures of their current location (and vice versa)

Food Delivery


  • Delivery person unsure of the exact delivery location – e.g. name of building, floor number
  • Delivery person unsure of how to enter the building


  • Users wanting to re-confirm the ETA
  • Delivery person alerting the user they arrived – i.e. come out and meet me
  • Users wanting to check-in when the delivery person is ‘not moving’ on the map

Other notification

  • Users asking delivery person to “check” for special orders
  • Alert of lack of change when paying in cash

When booking for others

  • Users coordinating between the delivery location, the receiver, and the delivery driver

Last-Mile Delivery


  • Delivery unsure of the exact delivery location – e.g. name of building, floor number
  • Delivery person unsure of how to enter the building
  • Delivery person wanting to check where the receiver is (inside the house or outside


  • Both parties wanting to re-confirm the ETA
  • Delivery person alerting the user they have arrived – i.e. come out and meet me

Other notification

  • Users asking delivery person to drop off at a slightly different location – e.g. in front of the main entrance, at the security checkpoint, etc.-because they cannot come out to receive it
  • Delivery person alerting users of extra charges such as road tolls that are not charged via the application

When booking for others

  • Users coordinating between the delivery location, receiver and the delivery person

Set a benchmark to measure success - How high are your current cancellation rates?

In order to prove the success of in-app chat, it’s crucial to set a benchmark for comparison before and after the successful launch of chat.

On both the Driver and Customer (Rider, User, etc.) apps, analyze the booking cancellations more deeply to understand where to focus your messaging experience to affect cancellations.

According to the following conditions, how many cancellations occur:

Resources Guide cancellations flow chart

Try to answer these questions with your data:

  • When do cancellations happen most frequently?
  • For what reason are there cancellations (e.g. inability to contact, difficulty in finding the pick up location, etc.)?
  • What’s the difference between cancellation frequency before and after any communication between the service provider and customer?
  • Is there other user behavior that contributes to cancellations?

Once you have a full understanding of your current benchmark for cancellations, you will be able to measure the benefit of in-app chat against it.

User engagement with chat functionalities

Message Per User

Resources Guide message per user graph

Impact in absolute value accumulation

Quarterly MAU Comparison

Resources Guide Quarterly MAU Comparision graph

Booking Cancellation Rates

GrabChat has been proven to reduce cancellations by up to 50% across Southeast Asia Sendbird in-app chat has been proven to reduce cancellations by up to 75%

Resources guide Booking Cancellation Rates chart

Suggested chat features for on-demand applications

On-demand applications benefit from features that indicate userpresence because they involve the coordination of two or more parties. Each party wants to know whether the other person is present and receptive to messages. Or they’d like to be notified if they have missed a message or app-event. It’s also important to protect both drivers and users alike from spam or profanity

Basic chat features to achieve seamless communication:

Read receipts

Resources Guide read receipts

Typing indicators

Resources Guide typing indicators

Push notifications

Resources Guide push notifications

Suggested text messages

Resources Guide Suggested text messages

Location sharing

Resources Guide Location sharing

Cross-platform sync

Resources Guide Cross-platform sync

Other advanced features make it easier for especially the Driver, but also the User to communicate safely, quickly, and efficiently. You want to provide an experience, where the driver and user can send a suggested message, share a hands-free voice note, or translate between languages. The user may want to share their location or send an image of where they are waiting.

To streamline safe communication, Sendbird suggests the following features:

Hands-free voice notes

Resources Guide Hands-free voice notes

Suggested voice notes

Resources Guide Suggested voice notes

Suggested text messages

Resources Guide Suggested text messages

Image & other file sharing

Resources Guide Image & other file sharing
Resources Guide UI

1. Suggested messages

Text or voice note options that can be selected by the driver

2. Suggested voice notes

Pre-recorded custom voice notes can be selected by driver for added convenience

3. Custom data

Embed native custom data that can be shared on chat to verify and validate information

4. User-to-user messaging

Simple text and emojis to show interaction & acknowledgement of receipt

5. Hands-free voice notes

Driver can send voice notes to the user, without having to type

6. Rich messaging

Sharing multimedia files such as voice notes, images, videos

Managing the chat - What’s the best chat flow?

To optimize concurrent connections and cost, it’s important to allow chat at the proper time and remove it when it isn’t necessary. This opens and closes connections to your chat provider’s servers when a user actually needs the opportunity to chat.

Here is a sample chat flow for an on-demand application:

  • User authentication
  • Connect to Sendbird
  • Create a channel
  • Driver and User chat begins
  • Close the channel
  • Disconnect from Sendbird

1. User authentication

Given the transactional nature of on-demand businesses and chat, Sendbird recommends authenticating users with access tokens.

To connect to Sendbird, for example, users require us to issue them an access token. When a user is created at the on-demand application, we suggest that you use the Platform API to “Create a user.”

Store the access token locally on the user’s app or on your servers.

Resources Guide user authentication

2. Connect to Sendbird

You can connect a user to Sendbird at anytime.

For best latency, we suggest connecting the Driver to Sendbird’s chat, when the app is in the foreground and close it when the app is in the background.

For Customers, we recommend creating a connection when the Customer requests a service, whether ride or delivery.

Resources Guide connect to Sendbird table

3. Create a messaging channel

Create a channel specific to a booking as soon as a booking is confirmed. Invite both the Driver and User to the channel.

Create a “Join” event in the app and display the chat bubble in the app.

You can segment channels by use-case, if you there are multiple (e.g. ride hailing, food delivery, package delivery, etc.) by assigning metadata to the channel.

Resources Guide create a messaging channel

4. Driver and user chat begins

The user can send messages to a Driver with extra information about their location with a voice note, image, or location.

The driver can respond with an emoji, a suggested message, or a voice note.

5. Close the channel

Depending on your service, you can close the channel at the most appropriate time. For example, in a ride-hailing app, you could close the channel when the ride has started. For a food delivery app, you could close the channel when the food is delivered.

Close the channel by removing the members from it using Sendbird Platform API.

We suggest deleting channels according to regular intervals (e.g. 4 weeks) after the booking is complete.

HTTP request

Resources Guide http request

HTTP request

Resources Guide HTTP request 2

6. Disconnect the app from chat servers

For the User app, disconnect the User from the server when most appropriate. For a ride-hailing app, disconnect the customer when the ride starts. For a delivery app, on the other hand, you can disconnect when the driver confirms delivery.

For the Driver app, configure the SDK to automatically disconnect when the app moves to the background.

Potential updates after launch

Once your app has launched basic chat, you can layer in additional features, use-cases, or regions.

1. Features

  • Suggested voice notes – like suggested messages, you can send readymade voice notes
  • Add more custom or structured messages to the UX flow
  • Custom announcements for marketing promotions or events

2. Regions

You could expand chat’s reach to more regions in your service portfolio. With Sendbird, you can build an extendable chat framework. Essentially, this means you can use our SDK as a framework for multiple messaging implementations across regions or product portfolios. This will allow you to customize the messaging experience to meet a region or product’s requirements.

3. Integrate on-demand services through chat platform

You could add chat to your other services and then connect each service through the same Sendbird chat platform.

4. Consumer to consumer chat

Consumer-to-consumer (C2C) chat so your on-demand users can share rides, restaurants, menus, statuses, transactions, or payments.

5. Moderation and data

Create a connector or API to transfer chat data to customer support or a CRM platform according to your security compliance, privacy policy, and terms of service. Schedule regular data exports to analyze or back up data.

Drive more on-demand transactions and user engagement with chat

Although we are confident that these suggestions constitute some of the best practices for ondemand businesses integrating chat into their apps, every business requires unique consideration according to its service, app, region, and goals. But with chat and messaging, on-demand can bridge the communication gaps between all sides of its marketplace.