Driver App Workflows β
The Ridy Driver App (located at apps/taxi-driver-frontend/) is a professionally structured Flutter app tailored for service providers like ride-hailing drivers, couriers, and delivery partners. It gives them access to job offers, trip tracking, earnings visibility, and customer communication β all in real time.
π§ General Workflow Overview β
- Driver registers and uploads documents
- Admin verifies the account and assigns service access
- Driver goes online and accepts jobs
- Completes trip using navigation of choice
- Views earnings and history in real time
πͺͺ 1. Registration & Verification β
- Drivers can self-register directly through the app
- Required documents (e.g., ID, license, vehicle insurance) are defined per region by the admin
- Drivers cannot proceed to use the app until approved
β Document Rules
- Admins define document types and requirements per region
- Expiration logic is built-in:
- Expired documents disable the driver from operating until updated
- The system prompts re-submission upon login
π’ 2. Availability Management β
- Once verified, drivers can toggle their availability status:
- Online: begins location tracking and activates dispatch subscription
- Offline: stops receiving trip requests and halts live updates
π Service Activation
- Admins control which services each driver has access to
- Drivers can activate/deactivate available services individually
π Auto-offline (e.g., due to battery saving or idling) is not yet supported
π² 3. Trip Offers & Acceptance β
- Dispatch follows a Broadcast Model
- Incoming offers include:
- Trip type (color-coded by category)
- Estimated fare, distance, and pickup/drop-off details
- Expected wait and ride time
- Drivers can:
- Accept the offer
- Ignore it (request passes to next available driver)
- View missed offers later for review
π§ 4. Trip Execution & Navigation β
- Once accepted, the trip progresses in stages:
- Navigate to pickup
- Mark βArrivedβ
- Start trip (optional: OTP verification if enabled)
- Navigate to drop-off
- Mark βCompletedβ
π Route Choice
- App displays a recommended best route
- Drivers can override and use one of 11 supported external map apps (e.g., Google Maps, Waze, Apple Maps)
π Multi-Stop & Multi-Shop Trips
- Supported for both ride and delivery types
- Delivery orders are color-coded by category for fast visual recognition
π Trip Cancellation β
- Drivers may cancel a trip after acceptance
- A cancellation reason is required and recorded
- Cancelation fees (if applicable) are applied based on admin pricing rules
πΈ 5. Earnings & Wallet β
- Driver wallet is visible in-app and updates in real time
- Shows:
- Completed trip payments
- Commissions and bonuses
- Cancellations and adjustments
π° Payouts
- Drivers cannot withdraw manually
- Admins process payouts:
- Automatically via Stripe Connect
- Or by exporting payouts via CSV for manual processing
π¬ 6. Communication & Support β
Chat
- In-app chat is active during live trips only
- Optionally backed by SMS as a fallback
Announcements
- Drivers receive persistent updates via the Announcements Tab
- E.g., zone outages, policy changes, holiday schedules
π 7. Settings & Preferences β
- Drivers can:
- Change light/dark mode
- Set and save preferred language
- App theming (colors) is not customizable by drivers (managed by platform)
π§Ύ 8. Trip History & Ratings β
- Drivers can:
- View past trips and fares
- Rate customers after every trip (if enabled)
- Trip logs include timestamps, maps, fare details, and cancellation info (if applicable)
π Summary Workflow β
| Step | Description |
|---|---|
| Register & Upload Docs | Regional requirements defined by admin |
| Await Admin Approval | Mandatory before receiving offers |
| Set Online & Choose Services | Manually toggle availability and service types |
| Receive & Accept Offers | Color-coded by type, broadcast-dispatched |
| Use In-App or External Navigation | 11 supported map apps, or follow app's route |
| Complete or Cancel Trips | Multistep supported; cancellations require reasons |
| View Wallet & Earnings | Updated in real time |
| Chat During Trips | With fallback to SMS if configured |
| See Announcements | Via dedicated in-app tab |
