-
Notifications
You must be signed in to change notification settings - Fork 214
Description
👋 Introduction
Hello everyone, I am Elias, the new community manager for transit specifications at MobilityData. I am excited to share that MobilityData intends to facilitate the adoption of the GTFS-Flex extension into the official spec. It is great to see that some of you have already started using GTFS-Flex.
- Flex Pilot project a collaboration between MNDoT, Trillium, Transit, Cambridge Systematics, and Token Transit.
- Consumers, IBI , OTP, and Transit, have implemented some forms of GTFS-Flex on their platforms.
- Visit the original GTFS-Flex repo to access older versions of the extension.
🤔 Problem
As many of you know, 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 producers, consumers, and riders. Imagine a group of tourists arriving at your local airport and would like to reach a rural area that does not offer scheduled bus routes but only 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 missed all of your paper flyers posted along the hallway announcing the on-demand service. Not only is your service underutilized, but it lacks the discoverability to meet current and future rider demand. This is where GTFS-Flex comes in by providing that information to the rider allowing them to enjoy the services you worked hard to promote.
🔭 Scope
Based on what has already been tested in the field, we see GTFS-Flex solving the following key use cases:
Display available demand responsive transportation services for rider discovery
Deviated bus routes
Dial-a-ride
Displaying contact information (phone number and/or website URL) for booking
🧑💻 File and field names
To cover the base implementation of GTFS-Flex, MobilityData kindly asks you to review this adoption tracker. All of the fields in Green are what we considered essential for a base implementation. Those same fields are described below. Once reviewed we kindly ask you to fill in your organization's name and add a checkmark ✔️ to the fields you are currently using.
locations.geojson
(Optional file) Adds GeoJSON locations, which are Polygon and MultiPolygon features that indicate groups of lat/lon coordinates defining zones where riders can request either pickup or drop off.
| Field Name | Description |
|---|---|
| type | "FeatureCollection" of locations. |
| features | Collection of "Feature" objects describing the locations. |
| features.type | "Feature" |
| features.id | Location ID belonging to the same namespace as stops.stop_id. It is forbidden to define an id from locations.geojson with the same value as a stops.stop_id. |
| features.properties | Location property keys. |
| features.geometry | Geometry of the location. |
| features.geometry_type | Must be of type:- "Polygon"- "MultiPolygon" |
| features.geometry_coordinates | Geographic coordinates (latitude and longitude) defining the geometry of the location. |
stop_times.txt
(Optional file) Modifies file to 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.
| Field Name | Description |
|---|---|
| start_pickup_dropoff_window | Time that on-demand service becomes available in a GeoJSON location, stop area or stop.Conditionally Required:- Required if stop_times.stop_id refers to stop_areas.area_id or id from locations.geojson.- Forbidden if stop_times.arrival_time or stop_times.departure_time are defined. |
| end_pickup_dropoff_window | Time that on-demand service ends in a GeoJSON location, stop area or stop.Conditionally Required:- Required if stop_times.stop_id refers to stop_areas.area_id or id from locations.geojson.- Forbidden if stop_times.arrival_time or stop_times.departure_time are defined. |
| pickup_booking_rule_id | Identifies the boarding booking rule at this stop time.Recommended when pickup_type=2. |
| drop_off_booking_rule_id | Identifies the alighting booking rule at this stop time.Recommended when drop_off_type=2. |
Booking_rules.txt
Defines the booking rules.
| Field Name | Description |
|---|---|
| booking_rule_id | Identifies the rule. |
| booking_type | Indicates how far in advance booking can be made. Valid options are:0 - Real time booking.1 - Up to same-day booking with advance notice.2 - Up to prior day(s) booking. |
| phone_number | Phone number to call to make the booking request. |
| info_url | URL providing information about the booking rule. |
📢 Let us know in the comments if there are key use cases missing, and express your interest in producing/consuming in the tracker.
🔮 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 engaging in this area.
🗓️ Timeline
We feel that we can propose the following timeline for this process. We want to provide a general vision for the coming weeks but want to maintain flexibility to extend or shorten the time frame following the first working group meeting.
We kindly ask you to fill out this google form to better help us facilitate the working group meetings.
| Date estimates | Task | Participants |
|---|---|---|
| Ongoing until first meetings | Listening Tour | MobilityData Consumers Producers |
| Week of May 29, 2023 | Confirmation of scope | Consumers Producers |
| Week of May 29, 2023 | Open issue according to base implementation | MobilityData |
| Wed, Jun 28, 2023 at 11 am | First working group meeting -Base implementation -Set 1-2 subsequent technical meetings | MobilityData Consumers Producers |
| Week of Jul 3, 2023 | Open PR for chosen iteration -1 GH issue | MobilityData |
| As of Jul 10, 2023 | Implementation of GTFS-Flex base implementation -Resolve outstanding PR items | Consumers Producers |
| As of Aug 1, 2023 | Vote of base implementation | Everyone |
| As of Aug 1, 2023 | Add validation rules | MobilityData |
| As of Aug 1, 2023 | Update documentation | MobilityData |
| As of Aug 1, 2023 | GTFS-Flex release blog post | MobilityData |
🔗 Important Links
GTFS Slack Channel
Join the GTFS-Flex channel to stay in-touch with the community. This is a place to exchange quick messages, and hold informal conversations with the most influential participants in GTFS.
GTFS Changes Google Group
This is an email chain where you can receive major announcements about changes to GTFS-Flex. Currently we communicate GitHub Pull Requests here but we are considering including issue announcements like these.
Original GTFS-Flex Repo
Here you can find current and previous GTFS-Flex versions.
👀 TL:DR: Action Required
- Review Adoption Tracker and fill out Organization field and add checkmark to currently consumed and/or produced fields
- Fill out this google form to better help us facilitate the working group meetings.
Edit:
- Updated google forms link (EC)
- Edited first image to include descriptions (EC)
- Updated Original GTFS-Flex Repo descriptions (EC)
- Updated Flexible timeline (EC)
- Updated terminology (EC)




