Flex is a GTFS Schedule extension project that aims to facilitate discoverability of Demand Responsive Transportation Services.
🤔 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.
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:
stop_areas.txtto allow grouping of GeoJSON locations and/or stops which allow predetermined groups of these features to be specified on individual rows of
stop_times.txt. -- Modify
stop_times.txtto clarify elements of the current specification necessary to inform data consumers of how to interpret the added and extended files and fields
- Extend file:
end_pickup_drop_off_windowto define the time that demand responsive transportation service becomes available/ends in a GeoJSON location, stop area or stop. -- Extend
drop_off_booking_rule_idto define links to booking rules
- Add new file:
locations.geojson, to define zones (
Multipolygon) 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.
Visit the Pull Request page to read the full post and contribute to the conversation.
- 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
Contact us to add your GTFS-Flex implementation to this page
Ideas parking lot¶
This area is intended as a community "parking lot". Share something you would like to add to the next increment of GTFS-Flex.
- 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
📲 Dial-a-ride is a variation of multiple terms used across Europe.
🇨🇭 In Switzerland, it would fall under the term Rufbus / On-call bus. There's also the availability of the PubliCar system by PostAuto. Under this proposal, the PubliCar App and service would be discoverable in the user’s preferred trip planner app.
🇦🇹 In Austria, dial-a-ride would also be Rufbus and under the bigger umbrella of Bedarfsverkehr (Demand Responsive Transport) and Mikro-ÖV (Microtransit).
- Wiener Linien
- Rufbus (english: dial-a-bus, formerly Anruf-Sammel-Taxi or ASTAX call-collect-taxi)
- Current GTFS implementation as an year-long service alert
🇩🇰 In Denmark, it can be referred to NT / midttrafik / sydtrafik / FYNBUS / movia (https://flextur.dk/)
- flextur (english: flex trip)
- formerly flextrafik (english: flex transit)
🇫🇷 ⚠️ In France the terms TDA (Transport à la Demande) and PMR (Personnes à Mobilité Réduite) for Paratransit services
- Reseau Mistral
- Appel bus (english: call bus)
🇩🇪 In Germany they refer to it as On-Demand-Angebot, Flexible Fahrt and AST
- Brand: Muva
- On-Demand-Angebot (english: on-demand-service)
- Flexible Fahrt (english: flexible trip)
- Other areas
- Anruf-sammel-taxi or AST (english: call-collect-taxi)
🇬🇧 In the United Kingdom, there is the following service:
- go2 Sevenoaks
- On-demand service
The terminology varies across borders but in general we can assume that dial-a-ride is any demand responsive service that requires some form of contact by the rider to the operator.