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.