-
Notifications
You must be signed in to change notification settings - Fork 209
Description
Hi GTFS Community,
A decision has to be made regarding service changes, and the feedback of everybody is heavily needed.
Currently, many things cannot be done in real-time, including:
- Case A: Updating time of scheduled arrival/departure
- Case B: Updating trip_headsign, trip_short_name, wheelchair_accessible or bikes_allowed
- Case C: Adding a new stop, a new shape, a new route or a new transfer.
- Case D: Have unactivated trips in the GTFS, that we trigger when needed.
What we currently have on the table are:
- Existing GTFS-TripUpdates (allowing to provide real-time update for arrival & departure).
- A proposal to extend GTFS-TripUpdates (Add prediction certainty #111 , including UPDATE_SCHEDULE) by @TransitApp, handling case A.
- A proposal to define a new feed, called GTFS-ServiceChanges, using the CSV GTFS structure, handling cases A, B, C & D (bit.ly/gtfs-service-changes).
So what do we do?
Option 0: Use only the existing formats. Update static GTFS more often.
Will require overhaul of GTFS consumer GTFS pipeline to be able to process GTFS every hour or more.
Option 1: We beef up GTFS-TripUpdates to support the cases A, B, C & D (Cc @Stefan)
We already have a proposal for case A (#111 ), we could easily extend the TripUpdate object to handle case B, but no proposal so far to handle case C.
Advantages:
- Small change to existing pipeline for case A & B.
Disadvantages:
- Handling cases C & D forces us to redefine almost every GTFS concepts slightly differently, therefore duplicating the spec.
Option 2: We keep GTFS-TripUpdates for real-time update only, and use GTFS-ServiceChanges to change schedule data (aka cases A, B, C & D)
This is what I had in mind when I drafted GTFS-ServiceChanges, and this is the current state of the GTFS-ServiceChanges proposal.
Advantage:
- It makes a clear distinction between schedule updates and real-time updates
- It keep TripUpdate implementation as they are
- As branding, it pushes agency to adopt this new feed as a new feature for their rider
- It doesn’t increase the size of the TripUpdates feed (but it may be not an issue @Stefan @gcamp)
Disadvantage
- Some overlapping for adding feed with GTFS-TripUpdates
- It’s a distinct feed, and force to open a new endpoint, with a new URL
Option 3: Middle ground proposed by Transit (Cc @gcamp & @juanborre)
- Extend GTFS-TripUpdate for case A
- Use GTFS-ServiceChanges for cases C & D.
=> What about case B (trip headsigns, short names…)? Should we extend TripUpdate also for this or not?
(Link to the GTFS-ServiceChanges proposal: bit.ly/gtfs-service-changes)