-
Notifications
You must be signed in to change notification settings - Fork 21
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
Add Flex example page #301
Conversation
Outline / location_group example / routing behavior example
docs/schedule/examples/flex.md
Outdated
### Define stop_times | ||
- For fixed stops, define fields such as `arrival_time`, `departure_time`, and `stop_id` in a manner similar to normal bus routes. | ||
- Between fixed stops, define the zones where deviation is allowed. | ||
- `pickup_type = 1` and `drop_off_type = 3` indicates that pre-booking is required for boarding in the deviation zone, and riders must coordinate with the driver for alighting in the zone. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For this example service, deviated pickup is actually not allowed (pickup_type = 1
). Riders who are already on board the vehicle may coordinate with the driver for a deviated drop-off only (drop_off_type = 3
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @westontrillium! We've updated the text to reflect this and provided additional clarification on the service characteristics for this example.
- Fixed table formatting. - Modified text to reflect proper description of pickup_type=1 in Deviated route example. - Added section to navigation in mkdocs.yml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've reviewed the content and made some adjustments, overall it looks good to me! changes made in the last commit are as follow:
- Added section to the navigation menu in mkdocs.yml,
- Fixed table and bullet point formatting,
- Made corrections to text for Deviated route section based on @westontrillium feedback.
@isabelle-dr do you mind taking one final look at the changes?
Thanks!
mkdocs.yml
Outdated
@@ -558,6 +558,7 @@ nav: | |||
- Translations: schedule/examples/translations.md | |||
- Feed information: schedule/examples/feed-info.md | |||
- Dataset attributions: schedule/examples/attributions.md | |||
- Flex: schedule/examples/flex.md |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'd rename this to Demand responsive services, I think it's more widely understood.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated title in page and in navigation panel
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Would it be worth it to also rename flex.md
itself to demand-responsive.md
?
docs/schedule/examples/flex.md
Outdated
|
||
### Define zones (GeoJSON location) | ||
|
||
Using locations.geojson to define zones for deviated route. Typically, deviations are limited to keep the service on schedule. Therefore, as the vehicle travels, the deviation area between each fixed stop may vary accordingly. The area for route deviation may look like the image below: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When merged, add the link to the file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added link
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
docs/schedule/examples/flex.md
Outdated
|
||
### Define trips | ||
|
||
Since this type of service still involves a series of fixed stops and a fixed schedule, defining trips is similar to normal fixed-route bus services. It requires defining trips for each service throughout the day. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion to increase clarify:
It requires defining the trips served by each route throughout all relevant service periods.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated text
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for working on this @tzujenchanmbd, @westontrillium and @Sergiodero!
I left a variety of minor comments, overall this looks very good.
I suggest we merge this in gtfs.org when the PR is merged on google/transit.
Hi there! @isabelle-dr's comments have been addresses with the latest commit, @tzujenchanmbd could you do a final review? |
|
||
<hr> | ||
|
||
Flex is a GTFS extension project which was adopted officially into the GTFS specification in March 2024, its aims to facilitate discoverability of Demand Responsive Transportation Services. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: suggestion to link "demand responsive" and "GTFS Flex" together a little more clearly.
Demand-responsive services can be modeled in GTFS using the GTFS Flex spec extension, which was adopted in March 2024.
|
||
## On-demand services across multiple zones | ||
|
||
Some demand-responsive services operate across multiple distinct zones, where riders can book pickups at any location A within one area and drop-offs at any location within another area. For example, [Minnesota River Valley Transit](https://www.saintpetermn.gov/330/Dial-a-Ride) offers on-demand services between Saint Peter and Kasota cities: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: do we need the "A"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the updates. Minor final comments & we're good to merge 🚀. Thank you to everyone who participated in drafting this page!
This might be for another PR, but https://gtfs.org/extensions/flex/ is one of the top 5 pages visited on gtfs.org.
|
docs/schedule/examples/flex.md
Outdated
- 6:15 AM – 5:45 PM (New Ulm zone only) | ||
- Sunday: 8:00 AM - Noon (New Ulm zone only) | ||
|
||
The New Ulm city zone is contained within the Brown County zone. To avoid the ["zone overlap constraint"](/schedule/examples/flex/#zone-overlap-constraint) issue, Heartland Express can be defined with four trips: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This gives a 404; I think the appropriate way to refer to something in the same page is to use (#zone-overlap-constraint)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated! the previous link was working for me when I displayed the changes locally but change it to the suggested link, it should be ok now!
Fix zone overlap constrain link
The current Flex spec proposal contains some aspects that are difficult to fully explain in text. Also, we prefer not to overload the spec with numerous data examples (tables), which could make it difficult to read. Therefore, we have added this data examples page. Some descriptions in the spec will directly link to the corresponding examples on this page.
The Flex specification proposal is about to enter the voting stage. If the vote passes successfully, we plan to release this page after the vote as a reference information for the spec.
This PR represents the initial release of the content, and we plan to continue improving the content and layout in the future. Please review this PR and feel free to share any questions/suggestions/thoughts here.