-
Notifications
You must be signed in to change notification settings - Fork 220
GTFS-Fares v2 Zone-based fares #344
Copy link
Copy link
Open
Labels
Discussion PeriodThe community engages in conversations to help refine and develop the proposal.The community engages in conversations to help refine and develop the proposal.GTFS ScheduleIssues and Pull Requests that focus on GTFS ScheduleIssues and Pull Requests that focus on GTFS ScheduleGTFS-FaresIssues and Pull Requests that focus on GTFS-Fares ExtensionIssues and Pull Requests that focus on GTFS-Fares Extension
Metadata
Metadata
Assignees
Labels
Discussion PeriodThe community engages in conversations to help refine and develop the proposal.The community engages in conversations to help refine and develop the proposal.GTFS ScheduleIssues and Pull Requests that focus on GTFS ScheduleIssues and Pull Requests that focus on GTFS ScheduleGTFS-FaresIssues and Pull Requests that focus on GTFS-Fares ExtensionIssues and Pull Requests that focus on GTFS-Fares Extension
Type
Fields
Give feedbackNo fields configured for issues without a type.
Hi everyone - we (MobilityData) are looking to add zone-based fares to GTFS as part of GTFS-Fares v2.
This requires the following changes:
contains_area_idtofare_leg_rules.txtgreater_area_idsomewhereBelow is an example of how we envision the files and fields being used to describe zone-based fares.
Step 1: Define Zones
Consider a system with four zones; A, B, C, and D:
Use
areas.txtto create the fare zones:areas.txtStep 2: Group zones
Grouping zones is necessary to describe zone-based fares that cross more than three zones. The origin zone is listed under
from_area_id, the destination zone is listed underto_area_id, and the zones in between are grouped and listed undercontains_area_id. In the original proposal, the filestop_areas.txtis used to to assign stops to areas and to group areas together usinggreater_area_id. However, this would probably get messy with three different layers being present in one file (stops, areas, and greater areas).One option would be to have a new file to assign areas to greater areas:
Another alternative would be to use the file
areas.txtto assign areas to greater areas - the only downside to that is that an area cannot be assigned to more than one greater area.Step 3: Define fare legs
Use
fare_leg_rules.txtto define the cost of travel between the different zones:Any thoughts on how this example models zone-based fares? Is this in line with the expectations of data consumers and data producers? We would also like to hear your suggestions around
greater_area_id.Please share your thoughts here so we can come up with a way to move forward with zone-based fares.