-
Notifications
You must be signed in to change notification settings - Fork 232
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
Create a "Provider Manifest" endpoint for operating dates/down time dates/service suspension #628
Comments
As a provider I have this question. Are you talking about officially operating, since start of the permit program? Or are you talking about certain days where a provider by themselves decides not to operate? Like because of weather conditions, onset of winter, protests, other internal reasons? |
I'm talking about the official operating start date. This would be a good start. |
Hi @tybaltspark we could talk about this on tomorrow's WG call. |
Hello @tybaltspark we didn't get to this last week as you know, but we will talk about it on today's WG call. |
For me at Populus I'm most interested in the range of dates that an API will return 200 responses. For snow days or seasonal hiatuses I think the APIs can return 200 responses with no trips/status changes to indicate there was nothing to report then. But having some official calendar of dates when the API will definitely not return 200 responses saves us from querying for those. On the other hand, I can imagine a city observer also wanting an official record of seasonal hiatuses so they aren't wondering where all the scooters went. |
@jiffyclub I think that's right – there really are two use cases here: exposing richer data to cities, and making the API easier to query. For both use cases, I'd love to see us work closely with GBFS so that city-facing and user-facing data are in lock-step. For the former use case, we discussed using GBFS's system_calendar, making enhancements as mentioned by @mplsmitch on the call. For the latter use case, we discussed potentially adding some kind of top-level |
Per the call today, we came up with a few conclusions and follow-ups.
|
GBFS currently addresses a number of these issues. h/t to @quicklywilliam for pointing this out.
One other thing regarding querying and dates to keep in mind is that generally GBFS is forward looking so if the hope is to use this to explain gaps in MDS data by pointing to times and dates in the past, that would require operators to continue to publish those past dates in their feeds, or for consumers to have captured and stored those data in the moment. |
Agree with @mplsmitch, Actually we need 2 separated things :
Thus, the two different set of date-ranges (A) and (B) would then be used in tandem in the following way:
|
@schnuerle, any plan to further discuss this issue ? |
@robinef This definitely warrants more discussion, which we can continue to do here. More details about a specific provider's operating dates, down time dates, and services suspension dates for a specific mode or program could be provided in the discussed future Provider Manifest endpoint, a complimentary system to the agency policy program Requirements #608 endpoint. This endpoint could also contain other information about the Provider's operations, like operating area geography #639, etc. For now this seems to be solved as good as it can be with the current and future system_information file from GBFS. And since with 1.2.0 agencies and require providers to provide specific GBFS endpoints and optional fields, which can be specified in the Requirements endpoint. If were to add start and end dates to /trips or /status_changes, that would 1) be duplicative of what could be done in GBFS 2) be a breaking change if required and have to wait for 2.0 (or it could be optional in 1.2 but I don't think you'd see much adoption) and 3) not solve for the more complex situations where you'd like multiple date ranges for disruptions and operation holds to be communicated. What does everyone else think about this? |
I like that "provider manifest" idea, I don't think this kind of system metadata belongs in the trips and status changes endpoints. |
From #466: As an MDS-consuming agency, it would be valuable to have the ability to query an endpoint that provides information about system problems with a provider's MDS feed or system in general.
Possibly, the GBFS endpoint 'system_alerts.json' could be used, but seems a bit hacky and not intended for communicating problems provider <---> agency, but rather to the public. |
We can revisit this for MDS 2.1 or 3.0 if people want to chime in about their need for it and suggest details on how it could work. I think it would work differently that the new GBFS manifest.json, and more like Policy Requirements, but coming from and including details from operators to agencies. |
Edit by @schnuerle - turning this issue into a 'Provider Manifest' issue which includes what you'd like to see here, similar to
system_information
in GBFS and complimentary to agency's Policy Requirements. Original issue title was: "Provide the operating date ranges within the Provider API so that we know when to query data"Is your feature request related to a problem? Please describe.
We are struggling to know the collection of date ranges when a provider has been operating in the city.
It makes it difficult to query efficiently the Provider API. It makes it difficult for the city to have a good visibility on this key information.
Describe the solution you'd like
I wonder whether this info could be provided within the Provider API as part of an
info
endpoint. The operating zone could also be provided by the operator this way, as well as the data availability. Operators may indeed have no data historically for certain periods they were operating due to technical issues.Is this a breaking change
No, it's not a breaking change. It's additive
Impacted Spec
provider
Describe alternatives you've considered
Asking directly the city or the provider. Trial & guess day by day in the provider API ingestion.
Additional context
NA
The text was updated successfully, but these errors were encountered: