Driver Features
Complete guide to driver functionality and earnings management in WI-CARPOOL
Driver Dashboard
The driver dashboard provides comprehensive tools for managing rides and earnings:
📊 Earnings Overview
Real-time earnings tracking with daily, weekly, and monthly breakdowns.
🚗 Ride Management
Create, edit, and manage offered rides with booking status tracking.
📅 Schedule Overview
Calendar view of upcoming rides and available time slots.
⭐ Performance Metrics
Driver ratings, completion rates, and passenger feedback analytics.
Vehicle Management
Add & Manage Vehicles
Comprehensive vehicle registration and management system:
Vehicle Registration Process
// Location: src/pages/driver/AddVehicle.tsx
const AddVehicle = () => {
const handleSubmit = async (data) => {
await profileService.updateVehicleDetails({
vehicle_name: data.vehicleName,
make: data.make,
model: data.model,
year: data.year,
color: data.color,
license_number: data.licenseNumber
});
};
};
Vehicle Registration Requirements
- Basic Information - Make, model, year, color, and license plate
- Vehicle Photos - External and internal vehicle images
- Documentation - Registration, insurance, and inspection certificates
- Safety Features - Seat belts, airbags, and safety equipment verification
- Capacity Details - Number of available passenger seats
Vehicle List & Management
View and manage all registered vehicles:
Vehicle Management Implementation
// Location: src/pages/driver/VehicleList.tsx
const VehicleList = () => {
const { vehicles, isLoading } = useUserVehicles();
const handleSetDefault = async (vehicleId) => {
await driverService.updateDefaultVehicle(vehicleId);
};
};
✏️ Edit Details
Update vehicle information, photos, and documentation.
🎯 Set Default
Choose primary vehicle for ride offerings.
📄 Document Status
Track expiration dates and renewal requirements.
🔒 Verification Status
Monitor approval status and address any issues.
Ride Creation & Management
Post New Rides
Create ride offerings with detailed route and pricing information:
Ride Creation Process
// Location: src/pages/driver/PostRide.tsx
const PostRide = () => {
const handleSubmit = async (rideData) => {
await rideService.addRide({
pickup_location: rideData.from,
drop_location: rideData.to,
depart_date: rideData.date,
pickup_time: rideData.time,
available_seats: rideData.seats,
price_per_person: rideData.price
});
};
};
Ride Configuration Options
- Route Planning - Set pickup and drop-off locations with Google Maps
- Schedule Management - Define departure dates and times
- Pricing Strategy - Set competitive per-person pricing
- Seat Availability - Configure number of available passenger seats
- Special Instructions - Add notes about pickup points or requirements
- Recurring Rides - Set up regular weekly or daily rides
Booking Management
Handle passenger bookings and ride coordination:
Booking Management System
// Location: src/pages/driver/ManageBookings.tsx
const ManageBookings = () => {
const { data: driverRides } = useQuery({
queryKey: ['rides', 'driver', user?.id],
queryFn: () => rideService.getDriverRides()
});
const handleAcceptBooking = async (bookingId) => {
await driverService.acceptRequest(bookingId);
};
};
1. Review Requests
View passenger booking requests with profile information and seat requirements.
2. Accept/Decline
Approve suitable passengers and manage ride capacity efficiently.
3. Coordinate Pickup
Communicate pickup details and timing with confirmed passengers.
4. Complete Trip
Mark rides as completed and collect payments through the platform.
Earnings & Financial Management
Earnings Dashboard
Comprehensive financial tracking and analytics:
Earnings Analytics
// Location: src/pages/driver/Earnings.tsx
const Earnings = () => {
const { data: earningsData } = useQuery({
queryKey: ['earnings', user?.id],
queryFn: () => driverService.getEarningChart()
});
const { data: weeklyTrips } = useQuery({
queryKey: ['weekly-trips', user?.id],
queryFn: () => driverService.getWeeklyTrip()
});
};
💰 Total Earnings
Real-time tracking of gross and net earnings with detailed breakdowns.
📈 Performance Charts
Visual analytics showing earnings trends and peak performance periods.
🎯 Trip Statistics
Completed rides, average ratings, and passenger satisfaction metrics.
💸 Payout History
Complete record of all payouts and pending earnings.
Wallet & Payouts
Manage earnings and withdrawal options:
Wallet Management
// Location: src/pages/driver/Wallet.tsx
const Wallet = () => {
const handleWithdraw = async (amount, method) => {
await walletService.cashoutWallet({
amount: amount,
payout_method: method
});
};
};
Payout Options
- Bank Transfer - Direct deposit to linked bank accounts
- Digital Wallets - PayPal, Stripe, and other payment services
- Instant Payouts - Fast transfer options with minimal fees
- Scheduled Payouts - Automatic weekly or monthly transfers
- Tax Documentation - Earnings reports for tax filing purposes
Trip Tracking & Management
Trip Tracker
Real-time trip monitoring and status updates:
Trip Tracking Implementation
// Location: src/pages/driver/TripTracker.tsx
const TripTracker = () => {
const updateTripStatus = async (tripId, status) => {
await rideService.updateTripStatus({
trip_id: tripId,
status: status
});
};
const completeTrip = async (tripId) => {
await rideService.completeRide(tripId);
};
};
Trip Status Management
- Departure Confirmation - Mark when leaving for passenger pickup
- Passenger Pickup - Confirm passenger boarding
- In Transit - Real-time location updates during the trip
- Arrival Notification - Alert passengers of estimated arrival
- Trip Completion - Final confirmation and payment processing
Communication During Trips
💬 Passenger Chat
Real-time messaging with passengers for coordination.
📞 Voice Calls
Secure calling system for urgent communication.
📍 Location Sharing
Share real-time location with passengers for transparency.
🚨 Emergency Support
Quick access to emergency services and platform support.
Rating & Feedback System
Driver Ratings
Maintain high service standards through passenger feedback:
Rating Management
// Location: src/pages/driver/Ratings.tsx
const Ratings = () => {
const { data: ratings } = useQuery({
queryKey: ['ratings', user?.id],
queryFn: () => ratingService.getDriverRatings()
});
const respondToFeedback = async (ratingId, response) => {
await ratingService.respondToRating(ratingId, response);
};
};
Rating Categories
- Overall Experience - General passenger satisfaction rating
- Punctuality - On-time departure and arrival performance
- Vehicle Condition - Cleanliness and maintenance standards
- Driving Quality - Safety, smoothness, and route efficiency
- Communication - Responsiveness and professionalism
Performance Analytics
📊 Rating Trends
Track rating improvements and identify areas for enhancement.
💬 Feedback Analysis
Detailed passenger comments with categorized feedback themes.
🎯 Goal Setting
Set rating targets and track progress toward performance goals.
🏆 Recognition
Achievement badges and recognition for excellent service.
Transaction Management
Payment Processing
Automated payment collection and processing:
Transaction Tracking
// Location: src/pages/driver/Transactions.tsx
const Transactions = () => {
const { data: transactions } = useQuery({
queryKey: ['transactions', user?.id],
queryFn: () => paymentService.getTransactionList()
});
const generateInvoice = async (transactionId) => {
await ratingService.getInvoice(transactionId);
};
};
Transaction Features
- Automatic Collection - Payments processed automatically upon trip completion
- Multiple Payment Methods - Support for various passenger payment options
- Instant Notifications - Real-time payment confirmations
- Dispute Resolution - Built-in system for handling payment disputes
- Tax Documentation - Automated tax forms and earning statements
Messaging & Communication
Passenger Communication
Integrated messaging system for seamless passenger interaction:
Messaging Implementation
// Location: src/pages/driver/Messages.tsx
const Messages = () => {
const { data: conversations } = useQuery({
queryKey: ['conversations'],
queryFn: () => chatService.getConversationList()
});
const sendMessage = async (conversationId, message) => {
await chatService.sendMessage(conversationId, message);
};
};
💬 Real-time Chat
Instant messaging with automatic notifications and read receipts.
📷 Media Sharing
Share photos and location information with passengers.
📋 Quick Replies
Pre-written responses for common questions and updates.
🔒 Privacy Protection
Secure messaging with platform-mediated communication.
Safety & Security Features
🔍 Passenger Verification
View passenger profiles and ratings before accepting bookings.
🛡️ Insurance Coverage
Platform-provided insurance coverage during active rides.
📱 Emergency Support
24/7 emergency assistance with one-tap access.
📍 Trip Tracking
GPS tracking for all rides with route verification.
Document Management
Maintain up-to-date documentation for continued platform access:
- Driver's License - Valid license with automatic expiration tracking
- Vehicle Registration - Current registration documents
- Insurance Proof - Valid insurance coverage verification
- Background Check - Regular background verification updates
- Vehicle Inspection - Annual safety and condition inspections
Performance Optimization
Earnings Maximization
Tools and insights to optimize driver earnings:
📈 Demand Analytics
View high-demand routes and optimal timing for ride offerings.
💡 Pricing Suggestions
AI-powered pricing recommendations based on market conditions.
🎯 Route Optimization
Efficient route planning to maximize passenger capacity.
⏰ Schedule Optimization
Identify peak times and plan rides for maximum utilization.
Performance Metrics
Key performance indicators for driver success:
- Acceptance Rate - Percentage of booking requests accepted
- Completion Rate - Successfully completed rides vs. cancelled rides
- Response Time - Average time to respond to passenger messages
- Punctuality Score - On-time departure and arrival performance
- Passenger Retention - Repeat bookings from satisfied passengers