The Transit Operational Data Standard is an open standard for representing the transit schedules used by drivers, dispatchers, and planners to carry out transit operations.
This issue contains only the two pull requests which were determined to be appropriate for inclusion in TODS 2.0. Other issues will be moved into a new summary issue for tracking the next quarterly round of spec updates.
File
Proposal (Issue No.)
deadheads.txt
Deprecate and replace with trips_supplement.txt (#55)
ops_locations.txt
Deprecate and replace with stops_supplement.txt (#55)
deadhead_times.txt
Deprecate and replace with stop_times_supplement.txt (#55)
runs_pieces.txt
Deprecate and with key information moving to run_events.txt (#60)
run_events.txt
Proposals in #60:
Add service_id to allow for service-unique run composition.
Add run_id as there will no longer be runs_pieces.txt from which to retrieve run_id.
Change piece_id from Required to Optional.
Add block_id to allow simple definition of links between runs and blocks; currently, making this connection requires going through a trip_id.
Add job_type field to allow for attaching multiple personnel responsibilities to a single run_id.
Convert event_type field from enum to text.
Deprecate event_name field.
Adds trip_id field to allow for describing the trips that compose a run.
Rename event_from_location_id to start_location and change it from Optional to Required.
Deprecate event_from_location_type field.
Rename event_time to start_time.
Add start_mid_route field.
Deprecate event_to_location_type field.
Rename event_to_location_id to end_location and change it from Optional to Required.
Rename event_duration field end_time and convert from Non-negative Integer to Time.
Add end_mid_route field.
Major Breaking Changes
There are two primary changes under discussion. As of February 13, 2024 they are largely contained in two main proposals:
55
Restructures ODS to remove GTFS-analogous files (deadheads.txt, ops_locations.txt, and deadhead_times.txt) and replace them with GTFS-supplementing files (trips_supplement.txt, stops_supplement.txt, and stop_times_supplement.txt)
60
Changes representation of runs, pieces, events and the relationships between 1) runs and trips and 2) runs and blocks
Provides for the ability to schedule multiple employees on a single run
Provides for the ability to have service-unique runs
Superseded and deprecated issues
Proposed: support multiple jobs per trip/event #54. This proposal has been moved into #60.
Proposed: add runs.txt to explicitly define runs #51. This proposal has been moved into #60.
Proposed: Remove run_events.event_duration #48. This proposal has been moved into #60.
Proposed: Rename run_events.event_time to run_events.start_time #48. This proposal has been moved into #60.
Proposed: Add run_events.end_time #48. This proposal has been moved into #60.
Proposed: Add deadheads.run_id and deadheads.piece_id #52. This proposal has been eliminated by #55.
Proposed: Add run_events.service_id and run_events.run_id #52. This proposal has been moved into #60.
Proposed: runs_pieces.start_type allows for a piece to begin with an event, but there is no defined way to identify the event with which a piece begins. This proposal has been eliminated by #60.
Proposed: runs_pieces.end_type allows for a piece to end with an event, but there is no defined way to identify the event with which a piece ends. This proposal has been eliminated by #60.
Proposed: deadheads.to_trip_id and deadheads.to_deadhead_id should be conditionally prohibited upon the condition that only a maximum of one of the fields can be non-null for any given entry #13. This proposal has been eliminated by #55.
Proposed: deadheads.from_trip_id and deadheads.from_deadhead_id should be conditionally prohibited upon the condition that only a maximum of one of the fields can be non-null for any given entry #13. This proposal has been eliminated by #55.
Proposed: deadheads.txt does not allow for a run to consist of a single deadhead #13. This proposal has been eliminated by #55.
Proposed: support service-unique run_ids #51. This proposal has been eliminated by #60.
Proposed: add block_group_id #52. This proposal has been eliminated by #60.
Proposed: add ops_location_type to ops_locations.txt #34. This proposal has been eliminated by #55.
Proposed: add persistent ids #44. This proposal has been eliminated by #55.
Updated with all currently active issues. I am in the process of working out where the various proposals may be in conflict / need to be made consistent
Updated July 1, 2024
This issue contains only the two pull requests which were determined to be appropriate for inclusion in TODS 2.0. Other issues will be moved into a new summary issue for tracking the next quarterly round of spec updates.
enum
totext
.Non-negative Integer
toTime
.Major Breaking Changes
There are two primary changes under discussion. As of February 13, 2024 they are largely contained in two main proposals:
55
60
Superseded and deprecated issues
Proposed: support multiple jobs per trip/event#54. This proposal has been moved into #60.Proposed: add runs.txt to explicitly define runs#51. This proposal has been moved into #60.Proposed: Remove#48. This proposal has been moved into #60.run_events.event_duration
Proposed: Rename#48. This proposal has been moved into #60.run_events.event_time
torun_events.start_time
Proposed: Add. This proposal has been moved into #60.run_events.end_time
#48Proposed: Add#52. This proposal has been eliminated by #55.deadheads.run_id
anddeadheads.piece_id
Proposed: Add#52. This proposal has been moved into #60.run_events.service_id
andrun_events.run_id
Proposed:. This proposal has been eliminated by #60.runs_pieces.start_type
allows for a piece to begin with an event, but there is no defined way to identify the event with which a piece beginsProposed:. This proposal has been eliminated by #60.runs_pieces.end_type
allows for a piece to end with an event, but there is no defined way to identify the event with which a piece endsProposed:#13. This proposal has been eliminated by #55.deadheads.to_trip_id
anddeadheads.to_deadhead_id
should be conditionally prohibited upon the condition that only a maximum of one of the fields can be non-null for any given entryProposed:#13. This proposal has been eliminated by #55.deadheads.from_trip_id
anddeadheads.from_deadhead_id
should be conditionally prohibited upon the condition that only a maximum of one of the fields can be non-null for any given entryProposed:#13. This proposal has been eliminated by #55.deadheads.txt
does not allow for a run to consist of a single deadheadProposed: support service-unique run_ids#51. This proposal has been eliminated by #60.Proposed: add block_group_id#52. This proposal has been eliminated by #60.Proposed: add ops_location_type to ops_locations.txt#34. This proposal has been eliminated by #55.Proposed: add persistent ids#44. This proposal has been eliminated by #55.