-
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
Align provider and agency APIs #271
Comments
@lionel-panhaleux Agreed that they should be as similar as possible. Agency has more requirements than Provider, which is the source of the differences. While we ("we" meaning all of us with a stake in MDS) learn how the expanded list of status-changes plays out in the real-world, E&A decided it would be (in some ways) more expedient to be a superset of Provider rather than forcing Provider to be exactly the same. |
I would say that we should keep this issue warm until, say, mid-May, and revisit. That will give us a solid month of production experience with the permitted providers. Would like to hear from other stakeholders e.g. @hunterowens, @thekaveman, etc. |
It might make sense to treat this as two separate requests:
It makes sense to take a wait-and-see approach with the second one, but it doesn't seem like there's much reason for something like a user dropoff event or a maintenance pickup to be represented differently in Agency vs. Provider. |
@rf- smart |
hey so what's the traction on this? we should get this added in provider asap specifically, the problem with the nomenclature of event type "reserved" for provider being different from the event type "reserved" in agency also, agency's "service_end" puts the bird in an unavailable state, which is in the PROW, while provider's "service_end" is an event_type_reason for making it in a removed state, which is off the PROW we need to align these. and we need to get provider what do you guys think? |
There's definitely traction. It's on me and @hunterowens (mostly me) to make the canonical list of discrepancies and start knocking them down. Once we have the canonical list we can go one-by-one and adjudicate which approach to take (e.g. change provider, change agency, change both, agree to leave different until a later rev). |
@Karcass yeah they're essentially the same threads can we see a roadmap of what's being decided so that we can better plan for these when designing more robust engineering systems to handle these requirements? |
@yoimnik The roadmap for Provider, for Agency, or all of MDS? Much of the roadmap is provisional, awaiting the contribution to OMF, and having the OMF member cities lay out their priorities. |
I am happy to follow up on this, list the incoherences + overlaps |
@TonioGarcia07 I have a list as well. I can add you to the Google doc, or we can port it to a wiki, or something. What is your preference? |
@Karcass I've created a doc as well (I can allow to edit if someone need). Please tell me if you find any discrepancies with yours. See below: Here are the current discrepancies between the Agency and Provider "events". Given that the definitions of the Agency Here's a link to the Google sheet.
Noticeable ProblemsIf we go past the fact that:
We notice that:
ThoughtsFor each of the points above:
|
#421 could propose a reconciliation as far as trip and reservations are concerned. |
I put some thought into this in preparation for the meeting tomorrow. It's important to fully address what @TonioGarcia07 pointed out: there's a mismatch in naming and in specificity. Any fix should clarify exactly what level of detail each field represents, and be aligned across agency/provider I put together a proposal that attempts to do this, as well as fixes and clarifies some other event edge cases that I see from my perspective as an implementer. Note that this is a very large proposal; it is definitely breaking, it may be too large to accept in whole, but hopefully some of the ideas are helpful for the discussion. Proposal:
I've also adjusted the naming of various events to be more consistent throughout agency/provider. And started to address a few other related issues such as #421. I wrote up the full proposed mapping and definitions in this spreadsheet: https://docs.google.com/spreadsheets/d/1rs6pGI3LudXIFQfZLkqE5sJ4A6_WfM1439hG4IK6B0Y/edit#gid=0. |
Hi Adam, thank you very much ! This looks great, I am looking forward to discuss this tomorrow. |
@thekidder thank you for working on this and putting together your highlights above and the spreadsheet, very helpful! Speaking to the Provider side specifically:
If I am understanding this example correctly and based on the spreadsheet, it sounds like the proposal would remove/flatten the hierarchical relationship between |
@thekaveman Yes, that's exactly correct. There's some more work to do here; I still think it's useful to formalize which I think this particular piece of the proposal can be discussed independently: the new states and definitions could be implemented in the existing, hierarchal world. But as long as we're re-working events, I think it's useful to look for other opportunities for simplicity. |
We here at Populus were just talking about how the |
This would also be a way to resolve #274 |
I've started to formalize my proposal and have updated the Provider README with the new event types and definitions. You can take a look here: https://github.com/thekidder/mobility-data-specification/tree/align-provider-and-agency/provider. I haven't started working on the agency README yet, nor any JSON schema changes. |
We've set up a mailing list for ongoing coordination around this issue, including regular meetings: https://groups.google.com/a/groups.openmobilityfoundation.org/forum/#!forum/mds-reconciliation Please subscribe if you're interested in the outcome of this work. |
@Karcass and @thekidder - I have two new suggested event_type_reasons to add from SDOT and I'm not sure if this is the best place to bring them up:
Should I submit separate issues or pull requests for these? |
HI @margodawes, You will want to fold these requests into the reconciliation proposal described in these documents: |
I have a question about the state diagram. The state diagram shows the only ways to exit the trip state is to the available or elsewhere state. What should the appropriate transition be if a trip ends and the vehicle doesn't go elsewhere but it also doesn't become available again? Examples could include:
|
Hi @billdirks, from what I understand, the reconciliation outcome would enable you to solve this issue by sending the following event: @Karcass is that correct? |
@Retzoh @billdirks yes, that's correct. (I think |
Resolved now in #506! |
Hello,
The Provider and Agency APIs list different
event_type
andevent_type_reason
values.This is cumbersome (and error-prone) on the provider side and the agency side alike. We could maintain a single list of
event_type
and share it between the two APIs ? I could submit a PR if you are interested.AFAICT the agency side has a more elaborate list of events, so it makes sense to use this list as a first version. However this would be a breaking change for the Provider API. Another approach would be to begin with a non breaking list including all events from the Provider and Agency APIs, then indicate some values to be deprecated in the next major version.
What do you think ?
The text was updated successfully, but these errors were encountered: