Skip to content
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

Merged

Conversation

tzujenchanmbd
Copy link
Collaborator

Potential confusions to solve:

  1. The current file description of fare_products.txt is:

To describe the different types of tickets or fares that can be purchased by riders.

However, some fare products represent virtual products that can't be purchased (by themselves) by riders, such as a transfer cost.

  1. Although the current primary key [fare_product_id, fare_media_id] already implies multiple records can have the same fare_product_id, it's unclear in the description that several Fare Products can be grouped under the same fare_product_id. (As mentioned/suggested in issue#367)

  2. 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.

@tzujenchanmbd tzujenchanmbd linked an issue Jan 10, 2024 that may be closed by this pull request
@tzujenchanmbd tzujenchanmbd added Extension: GTFS-Fares Issues and Pull Requests that focus on GTFS-Fares Extension Change: Clarification Revisions of the current specification to improve understanding. Support: Needs Review Needs support to review proposal. labels Jan 10, 2024
@eliasmbd eliasmbd added the GTFS Schedule Issues and Pull Requests that focus on GTFS Schedule label Jan 11, 2024

| 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. |
Copy link
Collaborator

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.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, thanks for this suggestion @bdferris-v2!

Change made - f0a12b8

Does it look clearer now?

| `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.|
Copy link
Collaborator

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?

Copy link
Collaborator Author

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
Copy link
Collaborator

@isabelle-dr isabelle-dr left a 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 🚀.

gtfs/spec/en/reference.md Outdated Show resolved Hide resolved
gtfs/spec/en/reference.md Outdated Show resolved Hide resolved
@tzujenchanmbd tzujenchanmbd merged commit 7e37e0a into google:master Apr 9, 2024
2 checks passed
isabelle-dr added a commit to MobilityData/transit that referenced this pull request Apr 11, 2024
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Change: Clarification Revisions of the current specification to improve understanding. Extension: GTFS-Fares Issues and Pull Requests that focus on GTFS-Fares Extension GTFS Schedule Issues and Pull Requests that focus on GTFS Schedule Support: Needs Review Needs support to review proposal.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Improve definition of Fare Products
4 participants