Russian version of the article is available down the link

Each driver has 15 seconds to accept the job. During this time he is notified by long vibration and phone rings (12 seconds notification length for asap and 2 seconds for pre-booked orders). However it happens that the driver does not accept the job. So a system of "yellow and green cards" applies in such cases.

How does yellow and green cards algorithm work?

Let’s say a customer submitted an order for a classic service and there are 4 drivers on this service in the area. The order will first go to driver 1 (who has waited in line more than the others), so driver 1 will have “green card” status and 15 sec to accept the order.

If driver 1 does not accept the order his status immediately changes to “yellow card” and the order goes to next driver in line - driver 2 who now has 15 seconds “green card” to take the job. At that time driver 1 can still press “bid”, so if driver 2 does not accept the order within 15 sec it will be given to driver 1 who bid for it.

What if two drivers bid for the order?

If driver 2 does not take the job within 15 sec he gets a “yellow card” status as well and the order goes to driver 3 (he will have “green card” now). So, at this time both drivers 1 and 2 will have “yellow card” status and will be able to bid for the order. If both drivers 1 and 2 with “yellow cards” bid the order and the driver with “green card” does not accept it, it will go to the driver who puts shorter estimated time of arrival (ETA) in his bid. The same algorithm keeps until the order is accepted. At that moment drivers with “yellow card” lose their “bid” option.

Bid responsively

Warn your drivers who bid for orders to put in real value in ETA, otherwise they risk order cancellation from customers. For example if your driver puts in 1 min ETA in his bid and does not arrive for 4 min the customer will have every reason to cancel. System will recognize the situation as “driver did not appear” and may charge the driver with driver cancellation fee if configured.

Did this answer your question?