How sinnca/bus-reservation-system works
This is a Laravel bus-ticketing application. Users search trips, select outbound and optional return seats, create a pending reservation, proceed to payment, and manage bookings; administrators manage buses, trips, reservations, and generated schedules. The internal booking service validates capacity and seat conflicts and updates reservation and seat records transactionally. The tree and excerpts show these responsibilities, but do not establish most route wiring, payment-provider behavior, or all controller-to-view relationships; uncertain connections are omitted or marked unverified.
Main entry points: BookingController.php Booking and Seats · BookingService.php Booking Service · Trip.php Trips · ScheduleGeneratorService.php Schedule Generation
Components 21
Identity and API
- Authentication
app/Http/Controllers/Auth/AuthenticatedSessionController.php - API Authentication
app/Http/Controllers/Api/AuthController.php - Trip API
app/Http/Controllers/Api/TripController.php - Reservation API
app/Http/Controllers/Api/ReservationController.php - User
app/Models/User.php
Trip Operations
- Trip Search
app/Http/Controllers/User/TripController.php - Trips
app/Models/Trip.php - Buses
app/Models/Bus.php - Schedule Generation
app/Services/ScheduleGeneratorService.php
Reservations and Payment
- Booking and Seats
app/Http/Controllers/User/BookingController.php - Booking Service
app/Services/BookingService.php - Reservations
app/Models/Reservation.php - Reserved Seats
app/Models/ReservedSeat.php - Payment
app/Http/Controllers/User/PaymentController.php - Booking Dashboard
app/Http/Controllers/User/DashboardController.php
Administration
- Bus Management
app/Http/Controllers/Admin/BusController.php - Trip Management
app/Http/Controllers/Admin/TripController.php - Reservation Management
app/Http/Controllers/Admin/ReservationController.php - Schedule Management
app/Http/Controllers/Admin/ScheduleGeneratorController.php
Other components
- Traveler
- Administrator
Connections 26
- Traveler → Authentication: signs in
- Authentication → User: authenticates
- Traveler → Trip Search: searches trips
- Trip Search → Trips: queries
app/Http/Controllers/User/TripController.php - Traveler → Booking and Seats: selects seats
- Booking and Seats → Booking Service: creates reservation
app/Http/Controllers/User/BookingController.php - Booking Service → Trips: locks and updates
app/Services/BookingService.php - Booking Service → Reservations: creates
app/Services/BookingService.php - Booking Service → Reserved Seats: checks and reserves
app/Services/BookingService.php - Booking and Seats → Reserved Seats: reads seats
app/Http/Controllers/User/BookingController.php - Booking and Seats → Reservations: reads and cancels
app/Http/Controllers/User/BookingController.php - Booking and Seats → Payment: redirects to
app/Http/Controllers/User/BookingController.php - Traveler → Payment: pays
- Traveler → Booking Dashboard: views bookings
- Administrator → Bus Management: manages buses
- Bus Management → Buses: manages
app/Http/Controllers/Admin/BusController.php - Administrator → Trip Management: manages trips
- Trip Management → Trips: manages
app/Http/Controllers/Admin/TripController.php - Trip Management → Buses: uses buses
app/Http/Controllers/Admin/TripController.php - Administrator → Reservation Management: manages reservations
- Administrator → Schedule Management: generates schedules
- Schedule Management → Schedule Generation: delegates to
- Schedule Generation → Buses: loads buses
app/Services/ScheduleGeneratorService.php - Schedule Generation → Trips: creates trips
app/Services/ScheduleGeneratorService.php - Trip API → Trips: queries
app/Http/Controllers/Api/TripController.php - Reservation API → Booking Service: delegates to
app/Http/Controllers/Api/ReservationController.php