Update Passenger Services Mode for new commuter shuttle fields#927
Update Passenger Services Mode for new commuter shuttle fields#927schnuerle merged 14 commits intoopenmobilityfoundation:devfrom
Conversation
adding route_id field to [Events, Trips, Telemetry] adding stop_sequence field to [Events, Trips] Signed-off-by: Matthew Marwedel <[email protected]>
|
Some items to consider, based on OMF staff discussion with SFMTA staff.
|
|
We will be discussing this at this week's MDS Working Group meeting. Please review and leave your comments and use cases and questions ahead of time. |
|
Hi all, Replying to earlier discussion points with my thoughts
|
Added service id and GTFS integration for to events, trips, and telemetry. Added stop_sequence to Telemetry. Signed-off-by: Matthew Marwedel <[email protected]>
Added gtfs_api_url column with blank values for now. Signed-off-by: Matthew Marwedel <[email protected]>
Corrected some comma errors Signed-off-by: Matthew Marwedel <[email protected]>
|
I added a new commit to the pull request finalizing a few changes discussed above.
|
|
Open questions:
|
|
Hi all, After the OMF discussion, I will be reviewing the following updates to the pull request with the SFMTA team:
|
I think call this
The |
Removed stop_sequence from telemetry, trips Added gtfs_api_url to events, trips Added gtfs_stop_id to events Added shape_id to trips Signed-off-by: Matthew Marwedel <[email protected]>
Removed gtfs_api_url column (it is now included in data_types.md) Signed-off-by: Matthew Marwedel <[email protected]>
|
Summary of changes I made from suggestions:
|
|
I have not been involved in the development of MDS over the past few years, but back in 2020 I was collaborating with Ellis & Associates / Lacuna Tech. on a proposal to add fixed-route service to MDS for LADOT (my company manages the fixed route dispatch software and GTFS/GTFS-RT for LADOT). It never really got off the ground, but I'm going to share the notes of where we had progressed to. I'm not proposing or advocating for anything here, simply sharing for your information. Do keep in mind that this was based on the state of the spec in 2020 and may include assumptions that are well out of date today. |
Clarified service_id and route_id definitions; removed gtfs_stop_id from events; added gtfs_trip_id to events, telemetry, trips Signed-off-by: Matthew Marwedel <[email protected]>
|
Summary of changes I made after discussion with SFMTA team on matching MDS to GTFS format:
|
Signed-off-by: Michael Schnuerle <[email protected]>
Signed-off-by: Michael Schnuerle <[email protected]>
Let me see if I can summarize all of this. MDS Events Current:
Proposed:
MDS Telemetry Current:
Proposed:
MDS Trips Current:
Proposed:
I may have to turn the proposed fields into a diagram to show the connections between MDS objects and GTFS too, because this is tricky to follow otherwise! |
|
Hi @schnuerle, We reviewed within SFMTA and agreed with most of your proposal. I will update the pull request with the below. MDS Events
MDS Telemetry
MDS Trips
The remaining issue is |
MDS Events - removed gtfs_route_id, gtfs_trip_id, gtfs_service_id, gtfs_api_url; These can all be found by linking to MDS trips with MDS trip_id. - removed stop_sequence; We can get this information ourselves using the stop_id and timestamp fields for each MDS trip_id so this field doesn't need to be part of the spec MDS Telemetry - removed gtfs_route_id, gtfs_trip_id, gtfs_service_id; These can all be found by linking to MDS trips with MDS trip_id. MDS Trips - remove gtfs_route_id, gtfs_service_id, gtfs_shape_id; These can all be found by linking to GTFS trips with GTFS trip_id and the GTFS API URL. Signed-off-by: Matthew Marwedel <[email protected]>
|
Thank you looks great and is much simpler! For MDS |
|
@schnuerle The plan is for SFMTA to actually put all our stops into MDS Stops endpoint and use those, but I will add back in |
Added gtfs_stop_id back to Events, Telemetry Signed-off-by: Matthew Marwedel <[email protected]>
|
Thank you Matt, that makes sense to both have it there to connect to GTFS data, or use MDS Stops. How are you planning on creating each stop for each route for each operator using MDS Stops? Are all the data fields you need for that in MDS Stops already? Anything else you'd need to support this? |
|
@schnuerle All the operators use the same stops since they are determined by our commuter shuttle stop map so we just made an MDS Stops endpoint that references these stops. We are using the |
|
Ok that makes sense for your use of MDS Stops. And I think it's good to add back gtfs_stop_id. I am not 100% on the reasoning why MDS |
Signed-off-by: Matthew Marwedel <[email protected]>
|
Hi @schnuerle Sorry for the late reply, I have updated the PR one last time by putting MDS |
Signed-off-by: Michael Schnuerle <[email protected]>
|
Hi @schnuerle I wanted to update you that I am planning to leave SFMTA at the end of this week and go to a new position elsewhere. If it's possible to get this pull request merged by the end of the week that would be great. I do feel that it's been thoroughly reviewed and it's ready for merge with the dev branch. If not, the Github handles for the rest of the SFMTA team are: @Mu-yi-Zhou, @monachiu, and @alexdemisch. Please contact them for additional questions on the pull request. |
|
Hi @matthewmarwedel yes, agree it can be pushed to dev. We had a recap at the last working group meeting (see link for slide and recording) about the status of it and gave people another full week to comment. So I will review and push to dev. Thanks for your work and good luck in your new endeavor! |
|
Hi @schnuerle, one issue that's come up with our data providers who manage GTFS files is that MDS gtfs_trip_id requires a UUID while GTFS doesn't. https://github.com/openmobilityfoundation/mobility-data-specification/blob/dev/data-types.md#trips https://github.com/google/transit/blob/master/gtfs/spec/en/reference.md#tripstxt There doesn't seem to be overwhelming support within the GTFS community to update their standard to start restricting their trip_id Unique IDs to UUID: Since this needs to match GTFS trip_id, shouldn't we update MDS gtfs_trip_id type to be a string instead of UUID? |
|
@ericyco You are absolutely right, I can't believe I didn't see that sooner. It should be a string to keep it generic enough. I'll update. |
|
@schnuerle looks great, thanks for the quick update on both gtfs_trip_id and gtfs_stop_id! |
|
Alright, merged to dev now, thanks for the catch! |
name: Matthew Marwedel, SFMTA @matthewmarwedel supported by @Mu-yi-Zhou, @monachiu, and @alexdemisch (SFMTA)
about: Suggest changes to MDS to support commuter shuttles within passenger services mode
title: Adding new fields to Passenger Services mode to support Commuter Shuttles
Explain pull request
SFMTA would like to update the passenger services mode in MDS to include support for commuter shuttles. Most fields in passenger services match the needs of commuter shuttle (such as stop_id, lat, long, etc.) We would like to add three additional fields for commuter shuttle use. These fields would be optional (required for commuter shuttle use case, but optional as an MDS field). When those fields are implemented, we would like to add support to integrate GTFS endpoints to passenger services mode to track shuttle routes.
Initial pull request includes:
adding service_id field to [Events, Trips, Telemetry]
adding route_id field to [Events, Trips, Telemetry]
adding stop_sequence field to [Events, Trips, Telemetry]
Once this is implemented we will build on the pull request for the following:
adding GTFS integration in MDS for route_id and service_id
Is this a breaking change
A breaking change would require consumers or implementors of the API to modify their code for it to continue to function (ex: renaming of a required field or the change in data type of an existing field). A non-breaking change would allow existing code to continue to function (ex: addition of an optional field or the creation of a new optional endpoint).
We would like to add some optional fields fields to passenger services mode along with an optional Schedule endpoint in the future to support commuter shuttles. Existing code will continue to function.
Impacted Spec
Which spec(s) will this pull request impact?
agencyproviderpolicyAdditional context
N/A