Glover
  • Introduction
  • Video Guide
    • How to Setup Vendor
  • Usage Flows (FlowCharts)
  • Firebase
    • Firebase
    • Firebase firestore database
    • Firebase Security
    • Firebase Storage
    • Firestore indexes
    • Chat & Live tracking
  • Backend
    • NOTICE
    • VPS/Shared Hosting
    • Installation
    • Database Configuration
    • GUI Installer
    • Timezone
    • Firebase
      • Firebase Forgot password
    • Web Notification
    • Reskin Mobile App
    • Change Backend Color
    • Terminal
      • Commands
    • Screenshots
    • Auto-assignment
    • Order schedule
    • CRON job
    • Clear Data (Users/Orders etc)
    • Email Server Settings
    • SMS Gateway
    • Payment Gateways
    • Webhooks - Payment gateway
    • Vendor Subscription
    • Language / Translation
    • HOW TO UPDATE
    • In-App Live chat/support
    • Geocoding and Place search
    • Features
      • Firebase/Notification Delay
      • Fleet Management
      • Loyalty points
      • Home Screen Design
      • Featured Vendors
      • Trip recalculation/Outstanding payments
      • Switch between Taxi/Regular Driver
      • Data Translation - Backend
  • 🔥Supervisor Setup - VPS
    • Introduction
    • Install & Setup Supervisor
    • Taxi Booking
    • How to verify Taxi driver Vehicle
    • Websocket Setup
      • Laravel reverb Config
  • Flutter App
    • Getting Started
    • Steps
    • Directory Structure
    • Change App Name & ID
    • Change App icon & splash
    • App Color / Theme
    • Connect To Backend
    • Firebase
    • Firebase Auth - Phone
    • Firebase Phone OTP - Android
    • Firebase Phone OTP - iOS
    • Firebase Notification iOS
    • Share link - Firebase dynamic link
    • Social Media Login
      • Google login
      • Facebook Login
      • Sign-In with Apple
    • Google Map
    • Change App Language
    • Notification Sound
    • Custom Translation ~ 1.4.8
    • Custom Translation +1.5.0
    • Change App Font
    • Running on VS Code
    • Running on Android Studio
    • Generate Android Release App
    • Upload to Apple App Store
    • Screenshots
  • Demo Accounts
  • FAQs
    • Backend Image not working
    • Backend Backup not working
    • Upgrade without losing data
    • Backend Rollback
    • Blank Home screen
    • Custom Token
    • Product price zero(0) in details
    • Auto-cancel Not working
    • Pharmacy vendor
    • Vendor default rating
    • App logins
    • Error ==> type 'String' is not a subtype of type 'int'
    • NDK version error
    • Push Notification
    • Delivery Zone Map error
    • HOW TO UPDATE ADMINEND
    • Driver app rejected by Google
    • Cron job error
    • Auth pages Not working - App
    • Update App Translation
  • HOW-TO
    • Onboarding Settings
    • Setup Parcel Vendor
    • Set Vendor Custom Fees
    • Digital Products
    • Setup Taxi driver
    • Multiple Currency Taxi support
    • How Prescription Order works
    • Earning
      • Vendors
      • Drivers
    • QR Code Login
    • Single Vendor Mode
    • Enforce CASH Payment For Delivery Fee Only
    • System Contact Email
    • Driver Matching Flow
  • Extensions
    • Driver tracking extensions
    • Paymongo Gateway
    • Mercadopago Gateway
    • Nagad [Bangladeshi]
    • Paytrail
    • Paymaya Gateway
    • Emailer
    • POS
      • Mobile App
        • Requirement
        • Flutter SDK
        • Change App Name & ID
        • Connect To Backend
        • App build & release
      • Change logs
    • Glover Website
    • External Notifier
      • Slack Setup
      • Telegram Setup
    • Instamojo - Payment
  • Upgrades
    • How to update
    • Important: Backend VPS/Shared hosting
    • Older Version Upgrade Instructions
      • Upgrade to 1.2.1
      • to 1.2.3
      • ~ 1.3.2
      • to 1.3.1
      • to 1.3.3
      • to 1.3.4
      • to 1.3.5
      • to 1.3.7
      • to 1.3.8
      • to 1.3.9
      • to 1.4.0
      • to 1.4.1
      • to 1.4.2
      • to 1.4.3
      • to 1.4.5
      • to 1.4.6
      • to 1.4.7
      • 1.4.8
    • 1.5.0 - 1.5.9
      • 1.5.0
      • 1.5.1
      • 1.5.2
      • 1.5.3
      • 1.5.4
      • 1.5.5
      • 1.5.5-fix-1
      • 1.5.6
      • 1.5.7
      • 1.5.8
      • 1.5.9
    • 1.6.0 - 1.6.70
      • 1.6.0
      • 1.6.1
      • 1.6.2
      • 1.6.3
      • 1.6.4
      • 1.6.5
      • 1.6.6
      • 1.6.62
      • 1.6.63
      • 1.6.70
    • 1.7.00 - 1.7.21
      • 1.7.00
      • 1.7.01
      • 1.7.02
      • 1.7.10
      • 1.7.20
      • 1.7.21
    • 1.7.30 - 1.7.60
      • 1.7.30
      • 1.7.31
      • 1.7.40
      • 1.7.41
      • 1.7.42
      • 1.7.43
      • 1.7.44
      • 1.7.45
      • 1.7.50
      • 1.7.51
      • 1.7.60
    • 1.7.70
  • Change logs
Powered by GitBook
On this page
  • Old Flow
  • New Flow

Was this helpful?

  1. HOW-TO

Driver Matching Flow

PreviousSystem Contact EmailNextDriver tracking extensions

Last updated 2 years ago

Was this helpful?

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:

  1. Old

  2. New

  3. 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

Old Flow

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

Pros

  1. Fastly

  2. Easy handle of new orders as it comes in

Cons

  1. Not fully reliable as the driver location to pickup location is measture linearly

  2. Sometimes New order order doesn't get to the driver app

New Flow

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.

Pros

  1. Reliable, at least a driver within the range will always get the notification

  2. Will work even in background state

Cons

  1. There is constant check from the driver app to be the first to get order

  2. Firebase data reading/api calls are more then the old flow