Skip to content

GTFS-ServiceChanges vs extending GTFS-TripUpdates #113

@LeoFrachet

Description

@LeoFrachet

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    GTFS RealtimeIssues and Pull Requests that focus on GTFS RealtimeStatus: StaleIssues and Pull Requests that have remained inactive for 30 calendar days or more.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions