Skip to content
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

[Policy API] Add multi-modal support to Policy #614

Closed
marie-x opened this issue Jan 21, 2021 · 12 comments
Closed

[Policy API] Add multi-modal support to Policy #614

marie-x opened this issue Jan 21, 2021 · 12 comments
Assignees
Labels
Car Share Car share mode: cars, vehicles, short or long term rentals Delivery Robots Delivery Robots mode: sidewalk, autonomous, remote Modes New modes that MDS can support (carshare, passenger services, delivery robots, etc) Passenger Services Passenger Services mode: taxis, TNC, TNP, PTC, paratransit, etc. Policy Specific to the Policy API
Milestone

Comments

@marie-x
Copy link
Collaborator

marie-x commented Jan 21, 2021

Is your feature request related to a problem? Please describe.

Policy objects are matched with vehicles by their vehicle_type, propulsion_type, vehicle_state, and optionally the event_type that put them into that state. This is sufficient with today's single MDS mode (micromobility). Other modes are on the horizon, including bus, taxi, delivery vehicles, carshare, and so on, and they will have new mode-specific states. Disambiguating based on vehicle_type will not be sufficient, because (for example) a vehicle of type car could be a taxi or it could be a carshare vehicle.

We should be able to start reasoning about how we can expand Policy to encode other transportation modes, even as those other modes are being defined.

Describe the solution you'd like

Adding a mode field at the Policy level would be required, plus some language requiring that the states used in each Rule would have to match the particular mode type.

Is this a breaking change

  • Could go either way, depending on how we treat old Policy objects

Impacted Spec

For which spec is this feature being requested?

  • policy for sure
  • agency maybe
  • provider maybe

Mode information might be fully inferred from the Provider, and in that case modification to Agency and Provider might not be necessary.

Describe alternatives you've considered

I am not yet making a specific proposal, just flagging the issue for consideration.

Additional context

None at present

@schnuerle schnuerle added the Policy Specific to the Policy API label Jan 25, 2021
@schnuerle
Copy link
Member

I like the idea of a new mode field that can handle this clarification.

@schnuerle
Copy link
Member

Could be related to some of the ideas here: #574

@schnuerle schnuerle added this to the Next Release milestone Jan 25, 2021
@schnuerle
Copy link
Member

We will be discussing this topic at tomorrow's Working Group meeting.

@schnuerle
Copy link
Member

Notes from the public working group meeting:

  • Should this be high level, in general information, like vehicle type?
  • Autonomous scooter vehicles are combination of all these?
  • Are these service types?
  • Need to look at the combination of type, mode, operation (human hands on, remote camera, AV)
  • How are agencies considering this?
  • Could end up with multiple state machines
  • Policy should govern the available use cases

@schnuerle schnuerle modified the milestones: Next Release, 1.2.0 Feb 12, 2021
@schnuerle
Copy link
Member

The City and Provider Working Group Steering Committees met last week for the Midway Checkpoint for the 1.2.0 proposed release. The Checkpoint let them review feature proposals, align current work to goals, and ensure the release features and work is on track. 

For this work, we have created a new rubric to help guide the evaluation, looking at feature utility, stakeholder adoption, implementation simplicity, direction consensus, and work completed as part of the evaluation criteria. The outcomes and actions from these discussions are summarized here:

Seems to be useful and relatively simple to implement, but there is no work done on this yet, so the solution is unclear. Need a bit more organization interested and committed to adopting.

Actions: Could be part of new self driving modes “Community Group” discussion, and would need to involve modal operators. Needs more details and a proposal and discussion. Ensure to stay synced with GBFS.

@schnuerle
Copy link
Member

This is part of a larger discussion on how to specify new modes in MDS: #652

@marie-x
Copy link
Collaborator Author

marie-x commented Jul 21, 2021

In addition to Policy:

In Agency we would propose that the optional mode be present in the /vehicles registration endpoint, default to whatever we decide to label micromobility.

For Provider, you'd need mode in /trips and /status_changes, with the same default if not specified.

For the root of the spec, we would need to enumerate the mode values.

Also does anyone prefer a different word, like modality?

@jiffyclub
Copy link
Contributor

I'm not loving the word because it doesn't match up with the concept "mode of transport", which is closer to "vehicle type". It seems like here we are wanting to differentiate types of businesses, or lines of business. Maybe something along those lines?

@schnuerle
Copy link
Member

There is no PR for this yet, correct? I'm unsure how to add this in a way that won't conflict with the larger idea of Modes we are planning on working on for 2.0.0. But I'm willing to be convinced otherwise. Will there be an enumerated list of modes, or up to the agency to create?

'modality' might work a bit better here as the word to use, instead of 'mode'. But I agree with @jiffyclub it's not clear to me what to call this, since it's more like an agency's set of rules that apply to an operating program, permit program, policy, service type, etc.

@schnuerle
Copy link
Member

Can you get a PR made for this before Thursday's WG meeting, @marie-x? We are at the end of the 1.2 release now.

@marie-x
Copy link
Collaborator Author

marie-x commented Sep 3, 2021

I think that this should be paused while we go through @jfh01's multi-modal review.

@schnuerle schnuerle modified the milestones: 1.2.0, 2.0.0 Sep 3, 2021
@schnuerle schnuerle added the Modes New modes that MDS can support (carshare, passenger services, delivery robots, etc) label Sep 24, 2021
@schnuerle schnuerle added the Car Share Car share mode: cars, vehicles, short or long term rentals label Jul 1, 2022
@schnuerle schnuerle added Passenger Services Passenger Services mode: taxis, TNC, TNP, PTC, paratransit, etc. Delivery Robots Delivery Robots mode: sidewalk, autonomous, remote labels Oct 31, 2022
@schnuerle
Copy link
Member

We do now have an 'mode' field in Policy to specify which mode the rule applies to. Also been added to multiple endpoints as part of the modes work. I don't think there is more to do on this for 2.0 but let me know if I am wrong about that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Car Share Car share mode: cars, vehicles, short or long term rentals Delivery Robots Delivery Robots mode: sidewalk, autonomous, remote Modes New modes that MDS can support (carshare, passenger services, delivery robots, etc) Passenger Services Passenger Services mode: taxis, TNC, TNP, PTC, paratransit, etc. Policy Specific to the Policy API
Projects
None yet
Development

No branches or pull requests

3 participants