This is a ride-sharing platform that connects Riders (passengers) with Drivers who offer rides along specific routes.
The system has three types of users:
- People who need transportation
- Can search for available rides
- Can book seats on rides
- Can view their booking history
- People who offer transportation services
- Must have a valid driver's license
- Can create rides on specific routes
- Can manage their rides and see who has booked
- System administrators
- Manage users and monitor the platform
- Handle disputes and issues
Everyone starts by creating an account:
- Provide your name, email, and phone number
- Choose your role (Rider or Driver)
- Set a secure password
If you're a Driver:
- After registering, you need to create a driver profile
- Provide your driver's license number
- Select which routes you want to operate on
If you're a Rider:
- After registering, a rider profile is automatically created
- You're ready to start booking rides
What is a Route? A route is a path from one location to another. For example:
- Kigali → Huye
- Musanze → Kigali
- Rubavu → Gisenyi
How Routes Work:
- Routes are predefined in the system
- Drivers choose which routes they want to operate on
- One driver can operate on multiple routes
- Multiple drivers can operate on the same route
When a driver wants to offer a ride:
- Select a Route: Choose from your approved routes (e.g., Kigali → Huye)
- Set the Price: How much will each seat cost? (e.g., 3,000 RWF)
- Set Departure Time: When will you leave? (e.g., Tomorrow at 8:00 AM)
- Set Available Seats: How many passengers can you take? (e.g., 4 seats)
Example:
Driver: John Doe
Route: Kigali → Huye
Price: 3,000 RWF per seat
Departure: Dec 15, 2024 at 8:00 AM
Available Seats: 4
Status: Scheduled
When a rider wants to book a ride:
-
Search for Rides: Look for rides going to your destination
- Filter by route, date, and price
- See available seats
-
Select a Ride: Choose a ride that fits your schedule
-
Book Seats:
- Select how many seats you need (1, 2, or more)
- Confirm your booking
-
Booking Status:
- Pending: Waiting for driver confirmation
- Confirmed: Your seat is secured
- Completed: The ride has finished
- Cancelled: Booking was cancelled
Example:
Rider: Jane Smith
Ride: Kigali → Huye (Driver: John Doe)
Seats Booked: 2
Price: 6,000 RWF (2 seats × 3,000 RWF)
Status: Confirmed
┌─────────────┐
│ USER │
│ (Register) │
└──────┬──────┘
│
├─────────────┬─────────────┐
▼ ▼ ▼
┌───────┐ ┌────────┐ ┌───────┐
│ RIDER │ │ DRIVER │ │ ADMIN │
└───┬───┘ └────┬───┘ └───────┘
│ │
│ ├─→ Select Routes
│ │
│ ├─→ Create RIDE
│ │ (Route, Price,
│ │ Time, Seats)
│ │
▼ ▼
Search Rides ←── RIDE ──→ Manage Ride
│ │
├─→ Select │
│ Ride │
│ │
├─→ BOOKING ←─┤
│ (Confirm │
│ Seats) │
│ │
▼ ▼
View Bookings View Passengers
- Search rides by route and date
- Book multiple seats in one booking
- View all your bookings (past and upcoming)
- Cancel bookings if plans change
- See driver information
- Create multiple rides on your routes
- Set your own prices
- See who has booked your rides
- Manage seat availability
- Cancel rides if needed
- View your ride history
- Secure login with email and password
- Contact information (phone) for communication
- Timestamp tracking (when bookings/rides were created)
- Status tracking for rides and bookings
- Name, email, phone number
- Role (Rider/Driver/Admin)
- Account status (Active/Inactive)
- License number
- Routes they operate on
- All their rides
- Which driver is offering it
- Which route it follows
- Price per seat
- Number of available seats
- Departure date and time
- Current status
- Which rider made the booking
- Which ride they booked
- How many seats they booked
- Booking status
- When the booking was made
- Affordable transportation
- Flexible scheduling
- Easy to find rides
- Know your driver in advance
- Earn money from your trips
- Control your schedule
- Make use of empty seats
- Know your passengers
- Reduce traffic congestion
- Environmentally friendly (carpooling)
- Build community connections
- Track and improve service
Ride Created (Driver)
↓
Ride Available for Booking
↓
Rider Searches & Finds Ride
↓
Rider Makes Booking → Status: PENDING
↓
Driver Reviews Booking
↓
Driver Confirms → Status: CONFIRMED
↓
Departure Time Arrives
↓
Ride Happens
↓
Ride Completed → Status: COMPLETED
↓
Booking Marked Complete
- All drivers must provide valid license numbers
- Contact information is verified (email and phone)
- Booking history helps build trust
- Status tracking ensures transparency
- Admin oversight for dispute resolution
This system makes transportation easier, more affordable, and more efficient for everyone!
