openmobilityfoundation / openmobilityfoundation/mobility-data-specification

Feature: Limit rules for to a particular duration

Open
#761 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Policy
Dominant language
No language data
Stars
746
Forks
252
Avg merge
3d 16h
Merged PRs (30d)
2

Description

Motivation

There are restrictions to usage of public curb which vary over the year.
E. g. in Germany, there is the famous Oktoberfest (which we'll be assuming to happen in October during the course of this issue, though it's not ;) ).
Currently, the policy features the ability to be limited to a particular duration. However, the rule inside a policy does not.
Therefore, if an agency currently wants to publish special set of rules which will be valid starting and ending within an already known timeframe, the agency needs to

  1. terminate the current policy before start of the additional rules
  2. create a new policy which includes the additional rules at the very top
  3. re-install the original policy after the end of the period

This is error prone, hard to visualize on a UI and tricky for operators.

Solution proposal

The rule could feature a duration property as per ISO_8601. This would not only allow to define a duration, but also recurring intervals.

Adding the duration to the rule of the same policy does not largely increase complexity as it is only respected during auditing.

Is this a breaking change

This is not breaking in the sense of technical breaking changes. However, those new restrictions to a rule would create effort at the provider's end => a major version bump is probably necessary.

Impacted Spec

For which spec is this feature being requested?

  • policy
Describe alternatives you've considered

Another option was to add a relationship between policies (e. g. "this special policy extends the following one"). If a rule from a special policy is applicable, the rules of the extended policy would not be evaluated. However, this idea was discarded as it introduces a new level of complexity.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the policy specification and the existing policy-duration behavior, then review the ISO 8601 duration proposal in this issue. Define how a rule duration, including recurring intervals, should be represented and respected during auditing. Done means the policy specification clearly describes the new rule capability and its compatibility impact.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.