Driver Matching Flow
Last updated
Last updated
From v1.6.5 we have added a new driver assignment flow. Previously driver assignment is done through the backend and data from firebase.
In the v1.6.5, we introduce a new flow for the driver assignment, wehere data is push to firebase and to driver device for matching to be done on driver device.
You can toggle between with of the driver matching flow to use:
Old
New
Firebase clound function
You can make this changes from the backend
From v1.6.5 there is 2 options for the driver assignment system. Both has their Pros & Cons
This is the previous auto-assignment flow. The driver app sends driver location at a interval to the firebase and there there is an order ready to be assigned. The backend server fetch the list of drivers within the order pickup location(Taxi order)/vendor address(regular order) and send the order via notification to the filtered drivers and the driver get a New order alert on their devices
Fastly
Easy handle of new orders as it comes in
Not fully reliable as the driver location to pickup location is measture linearly
Sometimes New order order doesn't get to the driver app
This new flow, move the assignment system to the driver app itself.
When there is a new order, the backend server will puch the order to a firebase firestore node.
Then the driver within the location with load the database from firebase and the first driver app to notify the system after getting the order will be allowed to show the New Order alert.
If the driver ignore the order, then the other drivers will get to chance to notify server of showing the order to driver.
Reliable, at least a driver within the range will always get the notification
Will work even in background state
There is constant check from the driver app to be the first to get order
Firebase data reading/api calls are more then the old flow