google / google/transit

Allow defining new `Shape` for trips with `TripUpdate.TripDescriptor.schedule_relationship=REPLACEMENT`

Open
#653 5 comments 0 reactions 0 assignees View on GitHub
GTFS Realtime
Dominant language
No language data
Stars
1.1k
Forks
225
Avg merge
7d 17h
Merged PRs (30d)
3

Description

### Describe the problem

When using `TripUpdate.TripDescriptor.schedule_relationship=REPLACEMENT`, a new stop sequence must be given in `TripUpdate.stop_time_update`. However, the current wording of `TripUpdate.TripProperties.shape_id` states:

https://github.com/google/transit/blob/474750a163088673df718838d4a1bb093391f9af/gtfs-realtime/spec/en/reference.md?plain=1#L267

> The order of stops (stop sequences) for this trip must remain the same as (CSV) GTFS.

Would it make sense to have the possibility of defining a new shape for trips with changed stop sequences?

### Use cases

A trip has its stop sequence replaced and now the old shape does not fit the new stops. Updating the shape would improve the end user experience.

### Proposed solution

Change the wording from

> The order of stops (stop sequences) for this trip must remain the same as (CSV) GTFS.

to this

> The order of stops (stop sequences) for this trip must remain the same as (CSV) GTFS, unless `schedule_relationship` is `REPLACEMENT`, in which case `shape_id` may instead describe the vehicle path for the new stop sequence declared in `TripUpdate.stop_time_update`.

### Additional information

I could not find a previous issue related to this. Also, should the wording include other types of trips, for example, `TripUpdate.TripDescriptor.schedule_relationship=NEW`?

Contributor guide

Open the contributing guide

Research direction

Start with the linked GTFS Realtime reference.md passage for TripUpdate.TripProperties.shape_id and review the surrounding schedule_relationship and stop_time_update definitions. Check the existing comments for scope, including whether NEW trips are included. Done means reaching agreement on the semantics and updating the specification wording consistently.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.