google / google/transit

[GTFS-Fares v2] Non-sequential Legs Transfer

Open
#427 4 comments 0 reactions 0 assignees Claimed by @tzujenchanmbd View on GitHub
Discussion Period GTFS-Fares Status: Stale Support: Needs Help
Dominant language
No language data
Stars
1.1k
Forks
225
Avg merge
7d 17h
Merged PRs (30d)
3

Description

### Problem to solve
The [Transfer Semantics document](https://docs.google.com/document/d/1Lqh3eI2YoxAaLSqUePCkcQ7WmyD-d-eXeDYymPnUfLQ/edit#heading=h.l3vb2g3af1fg) mentions that there are systems where transfers are time-based, such that riders can acquire fare discounts for non-direct transfers. For example, in a journey with four legs (Leg1 → Leg2 → Leg3 → Leg4), where Leg1 and Leg4 belong to SystemA, and Leg2 and Leg3 belong to SystemB. In SystemA, even if riders travel through a different system(B) during the journey, Leg4 can still acquire a discount from Leg1, as long as it remains within a specific amount of time. However, the current Fares v2 spec seems unable to differentiate whether non-direct transfers are allowed.

Furthermore, the current spec also appears unable to distinguish cases where the `transfer_count`and the timer for `duration_limit` should be "reset". For instance, in the example above, when transferring to Leg2, it might be necessary to "reset" the timer and `transfer_count` for SystemB.


We'd love to see any potential solutions and real-world use cases. Please feel free to share any thoughts here.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.