Loading...
users table:user_id (PK), name, email (unique), password_hash, user_type (driver/passenger), phone_number, profile_image_url, created_at, updated_at.driver_details table (specific to drivers):driver_id (PK, FK), vehicle_type, license_number, rating, availability_status.rides table:ride_id (PK), passenger_id (FK), driver_id (FK), pickup_location, dropoff_location, status (requested/accepted/completed/canceled), fare, distance, created_at, updated_at.ride_events table:event_id (PK), ride_id (FK), event_type (e.g., pickup, dropoff), timestamp.locations table:location_id (PK), latitude, longitude, timestamp, user_id (FK), ride_id (FK).routes table:route_id (PK), ride_id (FK), start_location, end_location, waypoints.payments table:payment_id (PK), ride_id (FK), user_id (FK), amount, payment_method (card, wallet, cash), status, created_at.refunds table:refund_id (PK), payment_id (FK), amount, reason, timestamp.notifications table:notification_id (PK), user_id (FK), ride_id (FK, optional), message, type (e.g., ride update, promo), status (read/unread), created_at.search_index:user_id, location, availability_status, last_updated.ride_metrics table:metric_id (PK), region, total_rides, average_fare, timestamp.user_engagement table:metric_id (PK), user_id, active_hours, rides_booked, timestamp.flags table:flag_id (PK), ride_id (FK, optional), user_id (FK), reason, status, created_at.reports table:report_id (PK), flag_id (FK), reviewed_by, action_taken, timestamp.ride_id, passenger_id, driver_id, and status.payment_id, ride_id, amount, and status.Driver Matching Failures:
GPS Update Delays:
Search Index Overload:
Payment Processing Delays:
Notification Flooding:
High Database Load:
Driver-Passenger Miscommunication:
Enhanced Driver Matching:
Smarter GPS Handling:
Search Index Optimization:
Multi-Gateway Payment System:
Batch Notifications:
Real-Time Monitoring:
Dynamic Scaling: