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
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions gtfs/spec/en/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -407,14 +407,14 @@ File: **Optional**

Primary Key (`fare_product_id`, `fare_media_id`)

To describe the different types of tickets or fares that can be purchased by riders.
To describe the different types of tickets or fares, including those directly purchasable by riders and integral virtual entities like transfer costs.
tzujenchanmbd marked this conversation as resolved.
Show resolved Hide resolved

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

| `currency` | Currency code | **Required** | The currency of the cost of the fare product. |


Expand Down
Loading