-
Notifications
You must be signed in to change notification settings - Fork 184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[GTFS-Fares v2] Clarification: Fare product definition #426
[GTFS-Fares v2] Clarification: Fare product definition #426
Conversation
gtfs/spec/en/reference.md
Outdated
|
||
| Field Name | Type | Presence | Description | | ||
| ------ | ------ | ------ | ------ | | ||
| `fare_product_id` | ID | **Required** | Identifies a fare product. | | ||
| `fare_product_id` | ID | **Required** | Identifies a fare product.<br><br>Multiple records in [fare_products.txt](#fare_productstxt) may have the same `fare_product_id`, in which case all fare products with that ID will be applied when referenced from another file. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it worth being more explicit about the interaction with fare_media_id
here? Which is to say, multiple records maybe the same fare_product_id
with different fare media, indicating different methods for purchasing and validating the same fare product.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gtfs/spec/en/reference.md
Outdated
| `fare_product_name` | Text | Optional | The name of the fare product as displayed to riders. | | ||
| `fare_media_id` | Foreign ID referencing `fare_media.fare_media_id` | Optional | Identifies a fare media that can be employed to use the fare product during the trip. When `fare_media_id` is empty, it is considered that the fare media is unknown.| | ||
| `amount` | Currency amount | **Required** | The cost of the fare product. May be negative to represent transfer discounts. May be zero to represent a fare product that is free.| | ||
| `amount` | Currency amount | **Required** | The cost of the fare product. May be negative to represent transfer discounts. May be zero to represent a fare product that is free.<br><br>Different records with the same `fare_product_id` may have different amount values, indicating variations in pricing.| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Conceivably, this comment applies to all non-primary-key fields in the file, yes? Fare product name, amount, currency... would it be better to have a high-level comment calling this out (especially the interaction with fare media) instead of calling it out individually?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it seems it would be better to explain within the description of the fare_product_id
field rather than individually in all non-primary key fields. I will remove the description from the amount field.
Add explicit interaction w/ fare media, Remove individual explanation in non-primary keys
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for working on this @tzujenchanmbd :)
I think @bdferris-v2 comments are addressed on your last commits.
I've added suggestions, feel free to use them or portions of them, and then we're good to merge this PR 🚀.
Co-authored-by: isabelle-dr <[email protected]>
Co-authored-by: isabelle-dr <[email protected]>
* Editorial changes to Reference.md (google#422) * Add dataset publishing in index * Fix link * Clarify stop_timezone description * Make references to other files consistent * fix link in Dataset Publishing Guidelines * Fix links * fix(gtfs/spec/reference): remove extra backtick in`record_id` description (google#431) * GTFS Trip-Modifications (google#403) * Add Trip-Modification, make shape non-experimental Fix typo Add images Update image width Add newlines Add newlines Update images Italic for image description Update SLO travel_time_to_stop is optional Proto : all feild optional Add references to GTFS-Static * Create a page for TripModifications entities for consistency with TU and VP * Clarify providing TUs for modified trips and ReplacementStop time interpolation Less strong requirement to interpolate * Fix first_stop_reference.png not having the right image + optimize image size. * Fix optional/require for Stop message * Clarify behaviour and linkage to TripUpdates * Apply Modification clarification proposed changes Co-authored-by: Paul Swartz <[email protected]> * Use ModifiedTripSelector instead of concatenation of IDs Update langage Update namign * Add details on behavior when is provided * Remove modifications_id * Fix after comments from @bdferris-v2 * Add note about producer needed the two versions of trip updates * Fix bad relationship mentionned, + force no other entity when using ModifiedTripSelector * Changes after Jan 10 call * Add experimental notices * Remove mention of stop pattern * Use stop selector instead of stop sequence only * Update to end_stop_selector * Update proto with start/end stop selector * Add selected trips * Update reference with SelectedTrips * Update trip modif doc * Add last_modified_time * Add missing start_times in pb * Fix typos, fix description of selected trips * Fix typos Co-authored-by: Nicholas Paun <[email protected]> * Update reference for clarity * Clarify and remove duplicated information * Consistancy * Revert correctly shape experimental * Editorial, formatting clarifications * Apply suggestions from @sam-hickey-ibigroup Co-authored-by: Sam Hickey <[email protected]> * Update documentation images with new fields, add source files * Clarifies behavior of propagated_modification_delay when no stop_time is cancelled * Remove extra word * Sync .proto and reference files --------- Co-authored-by: Nicholas Paun <[email protected]> Co-authored-by: Paul Swartz <[email protected]> Co-authored-by: Nicholas Paun <[email protected]> Co-authored-by: Joshua Fabian <[email protected]> Co-authored-by: Sam Hickey <[email protected]> * GTFS-Flex [Voting ver.] (google#433) * Add 3 "location" files and booking rules file * Modify stops.stop_id * Modify routes.continuous_pickup/drop_off * Modify stop_times.arrival/departure_time * Modify stop_times.stop_id * Add stop_times.location_group_id & location_id * Modify stop_times.stop_sequence * Add stop_times.start/end_pickup_drop_off_window * Modify pickup_type & drop_off_type * Modify stop_times.continuous_pickup/drop_off * Add pickup/drop_off_booking_rule_id * Add "On-demand Service Routing Behavior" * Modify conditions for start/end_pickup_drop_off_window * Remove unnecessary table name & editorial changes * [GTFS-Fares v2] Clarification: Fare product definition (google#426) * Clarify fare product definition * fare media clarification / remove desc in amount Add explicit interaction w/ fare media, Remove individual explanation in non-primary keys * Editorial change * Update gtfs/spec/en/reference.md Co-authored-by: isabelle-dr <[email protected]> * Update desc of fare_product_id Co-authored-by: isabelle-dr <[email protected]> * Editorial changes for fare_product_id * change "segments" to "legs" --------- Co-authored-by: isabelle-dr <[email protected]> * Update CHANGES.md (google#440) * Added data example page links in stop_times (google#443) --------- Co-authored-by: Kayla Firestack <[email protected]> Co-authored-by: Guillaume Campagna <[email protected]> Co-authored-by: Nicholas Paun <[email protected]> Co-authored-by: Paul Swartz <[email protected]> Co-authored-by: Nicholas Paun <[email protected]> Co-authored-by: Joshua Fabian <[email protected]> Co-authored-by: Sam Hickey <[email protected]> Co-authored-by: Tzu-Jen Chan <[email protected]>
Potential confusions to solve:
fare_products.txt
is:However, some fare products represent virtual products that can't be purchased (by themselves) by riders, such as a transfer cost.
Although the current primary key [
fare_product_id
,fare_media_id
] already implies multiple records can have the samefare_product_id
, it's unclear in the description that several Fare Products can be grouped under the samefare_product_id
. (As mentioned/suggested in issue#367)There might be confusion on whether records with the same
fare_product_id
can have different prices.(At the November meeting, the working group agreed that the same
fare_product_id
can have different prices)Changes in this PR:
Add clarification text to
fare_products.txt
Since this is just a clarification, I propose we don't have to go through the voting process.