A railway system, which needs to model the following:
- Tracks, connecting stations. You can assume for simplicity that only one track exists between any two stations. All the tracks put together to form a graph.
- Trains, with an ID and a name
- Train schedules recording what time a train passes through each station on its route.
You can assume for simplicity that each train reaches its destination on the same day and that every train runs every day. Also for simplicity, assume that for each train, for each station on its route, you store
- Time in,
- Timeout (same as time in if it does not stop)
- A sequence number so the stations in the route of a train can be ordered by sequence number.
- Passenger booking consisting of train, date, from-station, to station, coach, seat and passenger name.