openmobilityfoundation/mobility-data-specification

Real-time improvements for MDS Policy

Opened this issue · 0 comments

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

While MDS Policy can be real-time if required by the city 1) the spec doesn't explicitly say this and 2) there is not a good way to get the latest policy because the entire policy has to be downloaded to be checked for an update.

Describe the solution you'd like

Language Update

Update the frequency language to state that real-time is possible, and set a recommended minimum threshold (eg, every 1 minute at most).

Last Updated Check

Add a new last_updated boolean query parameter to the /policies endpoint that returns only the version, last_updated, end_date fields, like so:

{
  "version": "2.0.0",
  "last_updated": 1570035222868,
  "end_date": 1570035222868
}

This creates a quick check option and small file size to allow an operator to check for any update in the file easily and regularly.

Only Active Policies

Add a new active_only boolean query parameter to the /policies endpoint that returns only the current active and future policies, not the retired/previous policies.

This would reduce the file size for many use cases where you do not always need to know the previous policies. Any policy that is a prev_policies would not be returned. However, the array of prev_policies still will be returned for reference as part of any relevant active policy.

Examples and Diagram

To help with clarity, examples for emergency response should be added to the spec as well, possibly from Seattle's data feeds as covered in our June 6 working group meeting.

Would also like to add a diagram on the Policy page that shows the hierarchy of policy to rules to rates, and to previous policies. Maybe using something like Mermaid which is built into GitHub now.

Is this a breaking change

  • No, not breaking

Impacted Spec

  • policy

Describe alternatives you've considered

There has also been talk of making this endpoint a push endpoint option, in addition to the existing pull option, like we do with Agency and Provider for operator data. But this complexity may not be needed if the recommended solution above is adequate. May be a consideration for a breaking change in 3.0.

Additional context

This was discussed a few times at OMF member steering committee meetings, and at public working groups, in the context of supporting real-time emergency response using Policy for AV robotaxis to support #905