Uber is a ride-providing (car-for-hire) company that offers taxi services to customers. Unlike regular taxi services, Uber allows individuals to join as drivers using their personal registered vehicles, enabling them to earn money by completing customer requests.
Important Components of the System
The main actors in this domain are Drivers and Customers, forming the foundation of the database model.
Driver: A person above the age of 18 with an authorized, unexpired driver’s license and Social Security Number (SSN), possessing a registered vehicle under insurance.
Customer: A person with an account on Uber who needs to be picked up from a certain location and dropped off at a desired destination.
Working of the Uber System
Uber is a real-time application that allows customers to request rides from their current location to their desired destination.
A registered customer can have various types of accounts, such as Ordinary, Platinum, or Gold, based on the number of completed rides. Depending on the account type, customers are eligible for offers that can be availed by entering a promo code.
Customers request rides and can choose the type of ride (e.g., UberX, UberXL). The estimated fare is visible based on the chosen ride type. A ride is allotted according to driver availability at the current location.
Once a trip request is finalized, a driver arrives at the customer's location for pickup.
After reaching the final destination, the driver ends the trip, and the customer sees the final fare.
The fare is deducted from the payment method selected by the customer at the beginning of the trip. Customers have the option to add a tip for the driver. Both drivers and customers can rate each other and provide feedback based on the trip.
Project Data Requirements
A User entity has been created where user types can be either a customer or a driver, both registered with Uber and regarded as Uber Users.
User Information
The system must store personal information about Uber users such as:
Name
Date of birth
Address
Email
Phone number
Users are uniquely identified by a system-generated identification code (UberID). A user can be either a customer or a driver. A driver can also act as a customer when not driving.
Customer Information
Customers are identified by a Customer ID (CID), derived from their UberID. The customer's account type (ordinary, gold, platinum) must also be recorded.
Driver Information
Drivers are identified by a Driver ID (DID), derived from their UberID. Additional information stored includes:
Driver’s License Number
DL Expiry Date
SSN
Shift Information
Drivers have separate shifts stored in a shift table containing:
Driver ID
Time of login and logout
This information is used when allotting rides to drivers.
Vehicle Information
Vehicle details include:
Vehicle Identification Number (VID)
Model of the car
Manufacturing year
Purchase date
Active status
Condition for maintenance purposes
Capacity (number of seats)
Insurance number and expiry date
Last maintenance check date
Trip Requests
Trip requests are identified by a specific ID (Trip ID) and contain:
Type of trip
Pickup location
Dropoff location
Ride type
Estimated fare
It also includes Driver ID and Customer ID for each ride.
Trip Status
Trips can be completed or incomplete.Completed Trips include:
Arrival time of driver
Pickup time when the ride starts
Dropoff time at destination
Tip given by customer
Surge time used for fare calculation
Incomplete Trips include:
Booking time
Cancellation time
Reason for cancellation
Payment Method
Payment information includes:
Transaction ID (TID)
Card details: card number, CVV number, expiry date, card type (Visa or Mastercard)
Billing address
Payments can be made through personal or company accounts, divided into two tables: Personal Payment and Business Payment. Personal payments include cardholder name; business payments include company name.
Feedback System
Feedback is crucial for Uber's business review process. The rating table contains:
Trip ID
Ratings for driver and customer (out of 10 stars)
Feedback comments for both parties