Skip to content

Instantly share code, notes, and snippets.

@cghiban
Created March 11, 2025 11:53
Show Gist options
  • Save cghiban/8c96da2e8a33e60dd4e32267bf05f4da to your computer and use it in GitHub Desktop.
Save cghiban/8c96da2e8a33e60dd4e32267bf05f4da to your computer and use it in GitHub Desktop.
transportation booking system
erDiagram
Providers {
int provider_id PK
varchar name
varchar contact
}
Vehicles {
int vehicle_id PK
int provider_id FK
varchar vehicle_type
text vehicle_specific_attributes
}
Routes {
int route_id PK
varchar vehicle_type
varchar origin_location
varchar destination_location
}
Journeys {
int journey_id PK
int route_id FK
int vehicle_id FK
datetime departure
datetime arrival
decimal price
}
Students {
int student_id PK
varchar first_name
varchar last_name
}
Bookings {
int booking_id PK
int journey_id FK
int student_id FK
int user_id FK
varchar seat_number
varchar booking_status
}
SeatAvailability {
int journey_id FK
varchar seat_number PK
boolean available
}
CBAdmins {
int user_id PK
varchar full_name
}
Vehicles ||--o{ Journeys : uses
Providers }o--|| Vehicles : has
Routes ||--o{ Journeys : defines
Journeys ||--o{ Bookings : contains
CBAdmins ||--o{ Bookings : "makes booking"
Journeys ||--o{ SeatAvailability : tracks
Bookings }|--|| Students : has
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment