Russian version of the article is available here
Any ride-hailing and/or on-demand business supposes a given per cent of order cancellations by drivers/service providers for a number of reasons. To filter and minimise the percent of such cancellations our system has a tool of cancellation policy with a custom-tailored logic to suit every business need.
Moreover, any driver who cancels an order is put back in the intelligent queue and may have to wait a while before getting a new offer.
However, our system brings negative user experience to a minimum as all cancelled by driver orders : instant and pre-orders (active in search till pick up time) are returned to auto search pool and with status: seeking for a driver.
This means that the system will look for a new driver to take over and process the booking instantly upon a cancellation.
An order is returned to the “search pool” when a driver declines with "Reject service" reason before arrival. After a 2nd cancellation the order is cancelled.
When a driver declines with "Reject service" reason after arrival the order is cancelled.
IMPORTANT: A driver has arrived when order has status "Arrived" and driver's location is within 'Minimum passenger pickup distance'. It means that if a driver changes status to ARRIVED, but hasn't arrived physically, the order will return to the search pool.
When a driver declines with ''The client didn't show up" reason the order is cancelled.
An operator can track all cancelled orders in the Operator app and assign a new driver manually to bring lost trips percent even closer to zero.
If 1 order has been cancelled by 1 driver it goes into Auto search status with an alert (flag red) on Operator app.
The same red flag alert is generated for orders in Cancelled statuses.
An instant order returns to the auto search pool after each cancellation by a driver unless allowed 3 minute auto search time expires.
Any cancelled order not accepted/assigned within 3 minutes expires with a message to customers “No luck today. Looks like no one could take your booking :( Please, try later". Such orders are logged in Order report with status “CANCELLED SEARCH EXCEEDED”.
Cancelled - reassigned/finished orders are logged in reports or operator app in their final “Finished paid/finished unpaid” or else status.
If a cancellation fee applies for such orders it can be checked in driver transactions.
Cancellation fee logic post provides further insight on cancellation policy and its settings.