Skip to content

Latest commit

 

History

History
30 lines (22 loc) · 1.87 KB

Regulation.md

File metadata and controls

30 lines (22 loc) · 1.87 KB

General

A Regulation defines what is allowed or prohibited at a section of curb during a particular TimeSpan. A given Regulation has one more Rules which may apply to different classes of users (UserClasses).

A regulation has three parts:

  • when: When is this regulation in effect (TimeSpan)
  • rules: One or more Rules that may be applied when the regulation is in effect
  • priority: How should this regulation supersede or be superseded by others

Conceptually, Rules have two parts:

  • who: To whom does the regulation apply
  • what: What use policies applies when the rule is in effect

Once a full set of prioritized regulations is resolved, there should be only a single applicable [[Rule]] at a given location on the curb for any particular combination of who and when. In some cases, there will be no applicable Rule.

It is also possible to programmatically identify locations with conflicting or ambiguous regulations.

Definition

field name format description
when object A Timespan object that determines when the regulation applies
rules object or array One or more Rule objects that may apply when the regulation is in effect
priority int (values: 1-4) Determines when this regulation should supersede or be superseded per the list of regulation priorities

Examples

Examples of Simple Regulations Simple regulatory scenarios typically involving one or two basic rules
Examples of Complex Regulations Complex scenarios that address multiple user classes, complicated expressions of time, and overlapping regulations