GTFS-Flex¶
GTFS Flex is a GTFS Schedule extension project that aims to facilitate the discoverability of Demand Responsive Transportation Services.
For the major part, it has been adopted in GTFS in Match 2024. Some examples can be found on this page showing what can be modeled using the officially adopted part of GTFS Flex.
🤔 Services like dial-a-ride are often brushed over by riders, who sometimes have no clue they even exist. This lack of accessibility is an issue for transit agencies, trip planners, and riders. Imagine a group of tourists arriving at your local airport who would like to reach a rural area that only offers an on-demand bus service. The tourists check their preferred trip planner app and do not find a viable public transportation option. They end up renting a car. Being tourists, they miss all of your paper flyers posted along the hallway announcing the on-demand service. Not only is your service underused, but it lacks the discoverability to meet current and future rider demand. This is where GTFS-Flex comes in. GTFS-Flex helps riders discover your service, so they enjoy the services you worked hard to promote.
🔮 MobilityData expects GTFS-Flex to open the door to deeper standardization of demand responsive transportation, including expansion into transactional and real-time components using GTFS-OnDemand. We are preparing a suggested strategy to best handle the growing number of modes of transportation and complexity of concepts in this area.
Latest Pull Request¶
This extension describes services that operate according to a schedule, but also include one or more flexible features, such as:
- Dial-a-ride service: the vehicle serves a zone where pickups and drop offs are allowed during certain service hours.
- Route deviation services: the vehicle serves a fixed route and ordered set of stops, and may detour to pick up or drop off a passenger between stops.
- Point-to-zone service: the rider can board at a fixed stop such as a train station, and then alight anywhere within an area, or vice versa. Departures from some locations are scheduled or timed with other services.
- Point deviation or checkpoint service: the rider can board at a fixed stop, and then alight anywhere among an unordered list of stops, or the opposite. The driver only serves stops at which a request is made.
For more information please see original proposal and issue#382(closed since we changed the scope).
In the working meeting on June 28th, there was an agreement among the group community to pursue an iteration that covers all fields currently produced and consumed. Therefore, all fields that appear as “in discussion” in the adoption tracker are included in this PR.
The changes in this PR are:
- Modify file:
- Modify
stop_areas.txt
to allow grouping of GeoJSON locations and/or stops which allow predetermined groups of these features to be specified on individual rows ofstop_times.txt
. - Modify
stop_times.txt
to clarify elements of the current specification necessary to inform data consumers of how to interpret the added and extended files and fields
- Modify
- Extend file:
- Extend
stop_times.txt
withstart_pickup_drop_off_window
andend_pickup_drop_off_window
to define the time that demand responsive transportation service becomes available/ends in a GeoJSON location, stop area or stop. - Extend
stop_times.txt
withpickup_booking_rule_id
anddrop_off_booking_rule_id
to define links to booking rules
- Extend
- Add new file:
locations.geojson
, to define zones (Polygon
orMultipolygon
) where riders can request either pickup or drop off.booking_rules.txt
, to define the booking rules that provide riders information about how to request service.
Here is a data example for RufBus in Angermünde and Gartzer, Germany. The image below is an example illustrating how the data could be presented in a trip planner:
Visit the Pull Request page to read the full post and contribute to the conversation.
Early Implementations¶
- MNDoT Flex Pilot Project: Trillium, IBI, Transit, MNDoT, Cambridge Systematics, and Token Transit
- Open Trip Planner
- Mobility on Demand Sandbox in Vermont
- Tulare County Area Transit
- Northwest Oregon Transit Alliance (NW Connector)
- Vamos Mobility App
- RTD Denver Flexride
- Nebraska Public Transit DRT OTP Project: Trillium, Olsson, Cambridge Systematics, and TransitPlus
- One-Call/One-Click project: Find a Ride's Trip planner
Contact us to add your GTFS-Flex implementation to this page
Adoption tracker¶
Current¶
Request a change Add your organization (consumers) Add your organization (producers)
History¶
- 2013: Original proposal written by Brian Ferris (Google)
- 2016: GTFS-Flex GitHub discussions begin
- 2017: Mobility on Demand (MOD) sandbox program (FTA, Vermont DOT, OTP)
- 2018: MobilityData becomes GTFS-Flex steward and proposes GTFS-Flex v2
- November 2020: Repository up-to-date version of GTFS-Flex and OTP2 ingests GTFS-Flex v2 data
- May 2022: Start of MnDoT pilot (Cambridge Systematics, MNDoT, Token Transit, Transit, Trillium (OptiBus)).
- May 2023: Work on GTFS-Flex: Service Discovery Begins
- June 2023: Held Conceptual Working Meeting on GTFS-Flex
- July 2023: Published Pull Request #388
- August and September 2023: Held "GeoJSON in GTFS?" discussions
- March 2024: GTFS Flex was officially adopted