Passenger Features
Comprehensive guide to passenger functionality in WI-CARPOOL
Dashboard Overview
The passenger dashboard provides a centralized view of all ride-related activities:
🔍 Quick Search
Search for rides with pickup location, destination, and date selection.
📊 Statistics Overview
View total rides taken, upcoming bookings, and ride completion stats.
🚗 Recent Activity
Quick access to recently booked rides and ride history.
⭐ Quick Actions
Direct links to find rides, view bookings, and access wallet.
Ride Search & Booking
Advanced Search
The ride search system offers comprehensive filtering options:
Search Implementation
// Location: src/pages/passenger/FindRide.tsx
const useRideSearch = (initialFrom, initialTo, driverParam) => {
// Search functionality with real-time filtering
const handleSearch = async () => {
const response = await availableRidesService.getAvailableRides();
// Apply location and driver filters
// Transform data for display
};
};
Search Features
- Location Autocomplete - Google Places integration for accurate location selection
- Date Selection - Calendar picker for departure date
- Seat Requirements - Specify number of passengers
- Driver Filtering - Search rides by specific drivers
- Real-time Results - Live updates from available rides API
Booking Process
1. Select Ride
Choose from available rides with details like price, departure time, and driver information.
2. Confirm Details
Review pickup location, destination, number of seats, and total cost.
3. Payment
Secure payment processing through multiple payment methods.
4. Confirmation
Receive booking confirmation with ride details and driver contact.
Ride Management
Upcoming Rides
Passengers can view and manage their upcoming ride bookings:
Upcoming Rides Component
// Location: src/pages/passenger/UpcomingRides.tsx
const UpcomingRides = () => {
const { data: passengerRides } = useQuery({
queryKey: ['rides', 'passenger', user?.id],
queryFn: () => rideService.getPassengerRides()
});
// Display upcoming bookings with actions
};
Available Actions
- View Details - Complete ride information including driver contact
- Contact Driver - Direct messaging with the driver
- Trip Tracking - Real-time location updates (when available)
- Cancel Booking - Cancel rides with appropriate refund policies
- Rate Experience - Post-ride rating and feedback system
Ride History
Complete history of all past rides with filtering and search capabilities:
📅 Date Filtering
Filter ride history by date ranges and specific time periods.
📊 Trip Analytics
View statistics like total distance traveled and money spent.
🎯 Quick Actions
Re-book similar trips and contact previous drivers.
📄 Export Data
Download ride history for expense reporting and records.
Communication Features
Driver Messaging
Built-in messaging system for communication with drivers:
Chat Implementation
// Location: src/pages/passenger/Chat.tsx
const Chat = () => {
const { data: conversations } = useQuery({
queryKey: ['conversations'],
queryFn: () => chatService.getConversationList()
});
// Real-time messaging with drivers
};
Messaging Features
- Real-time Chat - Instant messaging with automatic updates
- Message Status - Read receipts and delivery confirmations
- Media Sharing - Share images and location information
- Chat History - Access to previous conversations
- Safety Features - Report inappropriate messages
Wallet & Payments
Digital Wallet
Integrated wallet system for seamless payments:
Wallet Integration
// Location: src/pages/passenger/Wallet.tsx
const Wallet = () => {
const { data: walletData } = useQuery({
queryKey: ['wallet', user?.id],
queryFn: () => walletService.getWalletBalance()
});
// Wallet management and transactions
};
Wallet Features
- Balance Management - Add funds and view current balance
- Transaction History - Complete record of all payments
- Multiple Payment Methods - Credit cards, digital wallets, bank transfers
- Auto-reload - Automatic balance top-up when low
- Refund Processing - Automatic refunds for cancelled rides
Rating & Feedback
Driver Rating System
Comprehensive rating system to maintain service quality:
Rating Implementation
// Location: src/pages/passenger/Ratings.tsx
const Ratings = () => {
const submitRating = async (rideId, rating, feedback) => {
await ratingService.submitDriverRating({
ride_id: rideId,
rating: rating,
feedback: feedback
});
};
};
Rating Features
- 5-Star Rating - Rate drivers on overall experience
- Category Ratings - Rate punctuality, cleanliness, driving
- Written Feedback - Detailed comments and suggestions
- Anonymous Reviews - Privacy-protected feedback system
- Rating History - View all submitted ratings
Favorites & Preferences
Saved Locations
Quick access to frequently used locations:
🏠 Home & Work
Set primary locations for quick ride booking.
📍 Custom Places
Save frequently visited locations with custom names.
⭐ Favorite Drivers
Mark preferred drivers for priority booking.
🔄 Recent Searches
Quick access to recently searched routes.
Ride Preferences
Customize default settings for a personalized experience:
Preferences Management
// Location: src/api/services/preferencesService.ts
export const preferencesService = {
getTripPreferences: () => apiCall(AppConstants.getTripPreferences),
saveTripPreferences: (preferences) =>
apiCall(AppConstants.saveTripPreferences, preferences)
};
Preference Options
- Default Seat Count - Automatically set number of passengers
- Preferred Departure Times - Default time ranges for searches
- Maximum Distance - Set limits for pickup/dropoff walking distance
- Vehicle Preferences - Preferred car types and amenities
- Communication Preferences - How drivers can contact you
Safety Features
🛡️ Driver Verification
All drivers undergo background checks and vehicle inspections.
📱 SOS Emergency
One-tap emergency contact with location sharing.
📍 Trip Tracking
Share real-time location with trusted contacts during rides.
🎭 Anonymous Booking
Privacy-protected booking with minimal personal information sharing.
Mobile Experience
Progressive Web App
WI-CARPOOL is built as a PWA for optimal mobile experience:
- Offline Access - View bookings and history without internet
- Push Notifications - Ride updates and driver messages
- Home Screen Install - Add to device home screen like a native app
- Location Services - GPS integration for accurate pickup locations
- Camera Access - Photo sharing in chat conversations
Responsive Design
Optimized interface across all devices:
📱 Mobile First
Touch-optimized interface designed for mobile usage.
💻 Desktop Support
Full functionality available on desktop and laptop computers.
📐 Tablet Optimized
Adaptive layout that works perfectly on tablet devices.
🌐 Cross-browser
Compatible with all modern web browsers.