Customer App Workflows β
The Customer App (apps/rider-frontend/) is a full-featured Flutter application that allows users to request ride-hailing or delivery services, track drivers in real-time, pay securely, and manage past activity. It's built with a clean architecture and real-time sync using WebSockets and GraphQL subscriptions, offering a seamless and responsive experience.
π§ Workflow Overview β
- Sign up and verify account
- Select service type and configure order
- View fare estimate and confirm payment
- Track driver and manage trip in real time
- Rate experience and access trip history
πͺͺ 1. Account Creation & Verification β
- Users register directly in the app
- OTP verification is required for login and registration
- Optionally, users can set a password for added security
- Fare estimation and trip booking require account login
π¦ 2. Placing an Order β
Available Order Types:
- Ride-hailing
Booking Options:
- Immediate bookings
- Scheduled (later) trips with date/time picker
Pre-Trip Configuration:
- Choose pickup and drop-off (multi-stop supported)
- Set wait time, if needed
- Add special options (e.g., pet-friendly, luggage)
- Select preferred vehicle type and payment method
Customers must select a payment method prior to trip confirmation. Supported methods include:
- Wallet
- Saved cards (via integrated gateways)
- Cash (if enabled by admin)
π° 3. Fare Estimate & Promo Handling β
- Fare estimation is displayed before confirmation, based on distance, time, and current multipliers
- Promo codes and Gift cards can be entered:
- From the wallet section
- Or during checkout via the ride options panel
- Applicable discounts are shown before final fare confirmation
- Cancellation fee warnings are displayed before placing the order
π 4. Real-Time Tracking & Notifications β
After booking:
- Real-time driver tracking is enabled on the map
- The ETA is calculated once the driver accepts the trip
- Status updates (e.g., driver en route, arrived, trip started, completed) are communicated via:
- Push notifications
- In-app status updates
πΊοΈ During the Trip:
- User can:
- View live driver location
- Contact the driver via in-app chat
- Access driver name, vehicle info, and contact options
πΈ 5. Payments & Wallet Management β
Wallet Features:
- Top-up wallet via integrated payment gateways
- Apply promo codes or gift cards to balance
- See transaction logs and wallet balance in real time
Payment Handling:
- Charges are automatically deducted from the selected method upon trip completion
- Invoices or receipts are shown in the Trip History section
- Wallet is also used for cancellations, refunds, and incentives
π 6. Trip History & Ratings β
- Users can view all past rides and deliveries under Trip History
- After each completed trip:
- Users are prompted to rate the driver
- Select quality metrics (cleanliness, punctuality, etc.)
- If the trip is canceled, the app:
- Requires a cancellation reason
- Applies cancellation fees based on admin rules
π¬ 7. In-App Features β
Chat
- Available after a driver is assigned
- Secure and session-bound communication
- Optionally backed by SMS if configured on the backend
Announcements
- Persistent updates appear in a dedicated Announcements section
- Service outages
- Promotions
- Regional notices
Preferences
- Users can:
- Switch between Light/Dark mode
- Change and persist language selection
- View app version and license info
π Summary Workflow β
| Step | Description |
|---|---|
| Register & Verify | OTP login + optional password setup |
| Create Booking | Select ride or delivery, configure details |
| View Fare & Confirm | Apply promo/gift cards, review price |
| Track Driver | Live tracking, chat, and notifications |
| Complete & Rate | Leave feedback and review trip summary |
| Manage Wallet | Top-up, view history, apply codes |
| Access History & Reports | Past trips, cancellations, and receipts |
| Change Settings | Theme and language options available |
