Skip to content

Commit

Permalink
Merge pull request #702 from openmobilityfoundation/release-1.2.0
Browse files Browse the repository at this point in the history
Release 1.2.0
  • Loading branch information
schnuerle committed Nov 4, 2021
2 parents 349e9c0 + b687433 commit 2670581
Show file tree
Hide file tree
Showing 66 changed files with 3,191 additions and 1,677 deletions.
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/add-agency-id.md
@@ -0,0 +1,33 @@
---
name: Add Agency ID
about: Create Agency ID for use in MDS
title: 'Add Agency ID: [Agency Name]'
labels: admin
assignees: ''

---

**Note:** See the [Adding an MDS Agency ID](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Adding-an-MDS-Agency-ID) page for more help.

Opening this issue will allow you as a city or governmental agency get an official agency ID for use across MDS globally, and include in your Requirements URL.

**Fields needed from you for the [agencies.csv file](https://github.com/openmobilityfoundation/mobility-data-specification/blob/main/agencies.csv).**

_All fields are required._

1. **agency_country_iso_code** - Two letter ISO country code where your agency is located.
- ...
1. **agency_state** - Geographic abbreviation or name of the state where your agency is located.
- ...
1. **agency_city** - Geographic name of the city where your agency is located.
- ...
1. **agency_name** - Full name of your governmental city/agency.
- ...
1. **agency_id** - A random UUID version 4. There are lots of way to generate a unique UUID, like using this website.
- ...
1. **department_url** - URL to the home page of your agency's department.
- ...
1. **requirement_url** - Full https:// URL where your current Policy Requirements endpoint is located.
- ...

Additionally, please provide your name and role within your agency to help with verification.
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/add-provider-id.md
@@ -0,0 +1,29 @@
---
name: Add Provider ID
about: Create Provider ID for use in MDS
title: 'Add Provider ID: [Provider Name]'
labels: admin
assignees: ''

---

**Note:** See the [Adding an MDS Provider ID](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Adding-an-MDS-Provider-ID) page for more help.

Opening this issue will allow you as a mobility service provider get an official provider ID for use across MDS globally.

**Fields needed from you for the [providers.csv file](https://github.com/openmobilityfoundation/mobility-data-specification/blob/main/providers.csv).**

_All fields are required._

1. **provider_name** - Short name of your company.
- ...
1. **provider_id** - A random UUID version 4. There are lots of way to generate a unique UUID, like using this [website](https://www.uuidgenerator.net/version4).
- ...
1. **url** - URL to the home page of your company.
- ...
1. **mds_api_url** - Full https:// URL where your root MDS feeds are located.
- ...
1. **gbfs_api_url** - Full https:// URL where your public GBFS feeds are located.
- ...

Additionally, please provide your name and role within your agency to help with verification.
11 changes: 2 additions & 9 deletions CODEOWNERS
Validating CODEOWNERS rules …
Expand Up @@ -3,12 +3,5 @@
## All MDS approvals
* @openmobilityfoundation/omf-admin

## Provider Services Working Group
/provider/* @openmobilityfoundation/provider-maintainers @openmobilityfoundation/omf-admin

## City Services Working Group Specific, also JSON Schema
/agency/* @openmobilityfoundation/city-services-maintainers @openmobilityfoundation/omf-admin
/policy/* @openmobilityfoundation/city-services-maintainers @openmobilityfoundation/omf-admin

## schema is changed by provider and city services working group
/schema/* @openmobilityfoundation/provider-maintainers @openmobilityfoundation/city-services-maintainers @openmobilityfoundation/omf-admin
## MDS Working Group
* @openmobilityfoundation/mds-maintainers @openmobilityfoundation/omf-admin
67 changes: 43 additions & 24 deletions README.md

Large diffs are not rendered by default.

42 changes: 42 additions & 0 deletions ReleaseNotes.md
@@ -1,3 +1,45 @@
## 1.2.0

> Released: 2021-11-04
> [Release Plan](https://github.com/openmobilityfoundation/governance/wiki/Release-1.2.0)
The 1.2.0 minor release adds digital program Requirements, new options for policies, better GPS telemetry data, and moves Provider Vehicles out of beta.

### CHANGES

See the closed PRs tagged with [Milestone 1.2.0](https://github.com/openmobilityfoundation/mobility-data-specification/pulls?q=is%3Apr+is%3Aclosed+milestone%3A1.2.0) and [Issues](https://github.com/openmobilityfoundation/mobility-data-specification/issues?q=is%3Aissue+milestone%3A1.2.0+is%3Aclosed) for a full list of changes.

**_General MDS_**

- [Richer telemetry data](https://github.com/openmobilityfoundation/mobility-data-specification/issues/589), including [616](https://github.com/openmobilityfoundation/mobility-data-specification/issues/616), [73](https://github.com/openmobilityfoundation/mobility-data-specification/pull/73), [51](https://github.com/openmobilityfoundation/mobility-data-specification/pull/51)
- [Add cargo_bicycle vehicle type](https://github.com/openmobilityfoundation/mobility-data-specification/pull/698)

**_Policy_**

- [Program Requirements](https://github.com/openmobilityfoundation/mobility-data-specification/issues/646) - For agencies to describe program requirements digitally to allow providers and the public to see what MDS and GBFS versions, APIs, endpoints, and fields are required, and communicate available MDS agency information to providers.
- [Ability to express data sharing requirements in Policy](https://github.com/openmobilityfoundation/mobility-data-specification/issues/608)
- [Method to Exclude some Provider Fields from Response](https://github.com/openmobilityfoundation/mobility-data-specification/issues/507)
- [Retrieve operational zones from operators](https://github.com/openmobilityfoundation/mobility-data-specification/issues/639)
- [Make Trip 'route' field optional for privacy](https://github.com/openmobilityfoundation/mobility-data-specification/issues/504)

- [Multiple options added to Policy](https://github.com/openmobilityfoundation/mobility-data-specification/pull/658)
- [Add rate options to other rules types](https://github.com/openmobilityfoundation/mobility-data-specification/issues/633)
- [Support parking fees by duration](https://github.com/openmobilityfoundation/mobility-data-specification/issues/631)
- [Min and max clarity on Rules](https://github.com/openmobilityfoundation/mobility-data-specification/issues/689)
- [Add a "rate applies when" field to Rules](https://github.com/openmobilityfoundation/mobility-data-specification/issues/666)

**_Provider_**

- [Vehicles out of beta](https://github.com/openmobilityfoundation/mobility-data-specification/issues/637)
- [Clarify use cases between MDS Vehicles and GBFS](https://github.com/openmobilityfoundation/mobility-data-specification/issues/641)

_Minor Updates_

- [Clarify single object response on policy/geography](https://github.com/openmobilityfoundation/mobility-data-specification/issues/599)
- [Schema updates](https://github.com/openmobilityfoundation/mobility-data-specification/issues/693), including [645](https://github.com/openmobilityfoundation/mobility-data-specification/issues/645), [687](https://github.com/openmobilityfoundation/mobility-data-specification/issues/687), [683](https://github.com/openmobilityfoundation/mobility-data-specification/issues/683)
- Add VeoRide, Boaz Bikes, and update Superpedestrian provider IDs

## 1.1.1

> Released: 2021-09-24
Expand Down
21 changes: 21 additions & 0 deletions agencies.csv
@@ -0,0 +1,21 @@
agency_country_iso_code,agency_state,agency_city,agency_name,agency_id,department_url,requirement_url
CA,British Columbia,Kelowna,City of Kelowna,31e836fc-72da-4b2e-b553-8227d77a9b7a,https://www.kelowna.ca/roads-transportation/active-transportation/cycling/bikeshare-permit-program,
CO,Cundinamarca,Bogotá,Bogotá,85eac875-ab70-469f-8a85-cc5ef22e78d0,https://www.movilidadbogota.gov.co/web/,
DE,Baden-Württemberg,Ulm,Stadt Ulm,68f28fb8-d177-43f4-b7e8-a286fe0ddca0,https://www.ulm.de/de-de,
US,CA,Long Beach,City of Long Beach,188ed65d-a81e-40b9-b0b2-aeb85436610a,https://www.longbeach.gov/goactivelb/,
US,CA,Los Angeles,Los Angeles,d82d8584-dfa6-4396-93f0-5a36288b9eb1,https://ladot.lacity.org/projects/transportation-services/shared-mobility/micromobility,
US,CA,San Francisco,San Francisco,8e03693b-0153-446c-8bc0-c31f8a5a7ed8,https://www.sfmta.com/projects/powered-scooter-share-permit-and-pilot-program,
US,CA,San Jose,San Jose,801cb4b8-8725-449c-bdb9-7e9ac0e10b5b,https://www.sanjoseca.gov/your-government/departments-offices/transportation/micro-mobility,
US,CA,Santa Monica,Santa Monica,e4e7c0f6-c6aa-4919-a4de-565e4fe9fa57,https://www.smgov.net/Departments/PCD/Transportation/Shared-Mobility-Services/,
US,CO,Denver,Denver,c3d07b63-f602-4837-9525-7285f5ef286b,https://www.denvergov.org/content/denvergov/en/transportation-infrastructure/programs-services/dockless-mobility.html,
US,DC,Washington,District of Columbia,8aca1cf2-ffa5-46d8-b747-20cf00a7c7f1,https://ddot.dc.gov/page/dockless-vehicle-permits-district,
US,FL,Miami,City of Miami,5b36be11-7d5d-45ab-9c89-105cf6aa8645,https://www.miamigov.com/Services/Transportation/Miami-Scooter-Pilot-Program,
US,IL,Chicago,Chicago,d2ed9de6-2d2d-477c-a843-7d150d2310ed,https://www.chicago.gov/city/en/depts/cdot/supp_info/escooter-share-pilot-project.html,
US,KY,Louisville,Louisville Metro,44bc31a7-464b-4ed9-b52e-8e74630826bd,https://louisvilleky.gov/government/public-works/dockless-find-and-ride-vehicles,
US,MI,Detroit,Detroit,5814742e-78ba-4ac1-a628-c414ecc45448,https://detroitmi.gov/departments/department-public-works/complete-streets/scooters,
US,MN,Minneapolis,Minneapolis,88303227-48d6-4088-a690-65b4dcf381f7,http://www.minneapolismn.gov/publicworks/trans/WCMSP-212816,
US,OR,Portland,Portland,7d600eb6-f967-40ea-a212-33917f9b48ae,https://www.portlandoregon.gov/transportation/,
US,PA,Philadelphia,Philadelphia,fa2d0c5a-a716-473c-808b-be3b23e022ee,http://www.phillyotis.com/portfolio-item/dockless-bike-share-pilot/,
US,PA,Pittsburgh,Pittsburgh,f3c50422-7e3e-4efe-88c7-99da3b36c24d,https://pittsburghpa.gov/domi/bikeplan,
US,TX,Austin,City of Austin,296220ae-c90a-4383-9a97-0bc6cf1adf18,https://austintexas.gov/department/shared-mobility-services,
US,WA,Seattle,City of Seattle,9acf6e41-f145-49ad-be7f-d910e978fc36,https://www.seattle.gov/transportation/projects-and-programs/programs/bike-program/bike-share,
18 changes: 9 additions & 9 deletions agency/README.md
Expand Up @@ -184,9 +184,9 @@ Body Params:
| ----------- | ----------------------------- | -------- | -------------------------------------------------------------------------------- |
| `vehicle_state` | Enum | Required | see [Vehicle States][vehicle-states] |
| `event_types` | Enum[] | Required | see [Vehicle Events][vehicle-events] |
| `timestamp` | [timestamp][ts] | Required | Date of last event update |
| `timestamp` | [timestamp][ts] | Required | Date of last event update |
| `telemetry` | [Telemetry](#telemetry-data) | Required | Single point of telemetry. |
| `event_geographies` | UUID[] | Optional | **[Beta feature](/general-information.md#beta-features):** *Yes (as of 1.1.0)*. Array of Geography UUIDs consisting of every Geography that contains the location of the event. See [Geography Driven Events][geography-driven-events]. Required if `telemetry` is not present. |
| `event_geographies` | UUID[] | Optional | **[Beta feature](/general-information.md#beta-features):** *Yes (as of 1.1.0)*. Array of Geography UUIDs consisting of every Geography that contains the location of the event. See [Geography Driven Events][geography-driven-events]. Required if `telemetry` is not present. |
| `trip_id` | UUID | Optional | UUID provided by Operator to uniquely identify the trip. Required if `event_types` contains `trip_start`, `trip_end`, `trip_cancel`, `trip_enter_jurisdiction`, or `trip_leave_jurisdiction` |

201 Success Response:
Expand Down Expand Up @@ -223,7 +223,7 @@ Body Params:
| Field | Type | Field Description |
| ---------- | ------------------------------ | ------------------------------------------------------------------------------------------------------- |
| `success` | Integer | Number of successfully written telemetry data points. |
| `total` | Integer | Ttotal number of provided points. |
| `total` | Integer | Total number of provided points. |
| `failures` | [Telemetry](#telemetry-data)[] | Array of failed telemetry for zero or more vehicles (empty if all successful). |

400 Failure Response:
Expand All @@ -244,14 +244,14 @@ A standard point of vehicle telemetry. References to latitude and longitude impl
| Field | Type | Required/Optional | Field Description |
| -------------- | -------------- | --------------------- | ------------------------------------------------------------ |
| `device_id` | UUID | Required | ID used in [Register](#vehicle---register) |
| `timestamp` | [timestamp][ts] | Required | Date/time that event occurred. Based on GPS or GNSS clock |
| `timestamp` | [timestamp][ts]| Required | Date/time that event occurred. Based on GPS or GNSS clock |
| `gps` | Object | Required | Telemetry position data |
| `gps.lat` | Double | Required | Latitude of the location |
| `gps.lng` | Double | Required | Longitude of the location |
| `gps.altitude` | Double | Required if Available | Altitude above mean sea level in meters |
| `gps.heading` | Double | Required if Available | Degrees - clockwise starting at 0 degrees at true North |
| `gps.speed` | Float | Required if Available | Speed in meters / sec |
| `gps.accuracy` | Float | Required if Available | Accuracy in meters |
| `gps.speed` | Float | Required if Available | Estimated speed in meters / sec as reported by the GPS chipset |
| `gps.accuracy` | Float | Required if Available | Horizontal accuracy, in meters |
| `gps.hdop` | Float | Required if Available | Horizontal GPS or GNSS accuracy value (see [hdop][hdop]) |
| `gps.satellites` | Integer | Required if Available | Number of GPS or GNSS satellites
| `charge` | Float | Required if Applicable | Percent battery charge of vehicle, expressed between 0 and 1 |
Expand All @@ -265,7 +265,7 @@ The `/stops` endpoint allows an agency to register city-managed Stops, or a prov

**Endpoint:** `/stops`
**Method:** `POST`
**[Beta feature][beta]:** Yes (as of 1.0.0)
**[Beta feature][beta]:** Yes (as of 1.0.0). [Leave feedback](https://github.com/openmobilityfoundation/mobility-data-specification/issues/638)
**Request Body**: An array of [Stops][stops]

201 Success Response:
Expand All @@ -287,7 +287,7 @@ _No content returned on success._

**Endpoint:** `/stops`
**Method:** `PUT`
**[Beta feature][beta]:** Yes (as of 1.0.0)
**[Beta feature][beta]:** Yes (as of 1.0.0). [Leave feedback](https://github.com/openmobilityfoundation/mobility-data-specification/issues/638)
**Request Body**: An array of subsets of [Stop][stops] information, where the permitted subset fields are defined as:

| Field | Required/Optional | Description |
Expand All @@ -313,7 +313,7 @@ _No content returned if no vehicle matching `stop_id` is found._

**Endpoint:** `/stops/:stop_id`
**Method:** `GET`
**[Beta feature][beta]:** Yes (as of 1.0.0)
**[Beta feature][beta]:** Yes (as of 1.0.0). [Leave feedback](https://github.com/openmobilityfoundation/mobility-data-specification/issues/638)
**Payload:** `{ "stops": [] }`, an array of [Stops][stops]

Path Params:
Expand Down
41 changes: 40 additions & 1 deletion agency/get_stops.json
Expand Up @@ -156,7 +156,7 @@
"type": "number",
"description": "Integer milliseconds since Unix epoch",
"multipleOf": 1.0,
"minimum": 0
"minimum": 1514764800000
},
"uuid": {
"$id": "#/definitions/uuid",
Expand Down Expand Up @@ -186,6 +186,11 @@
"type": "integer",
"minimum": 0
},
"cargo_bicycle": {
"$id": "#/definitions/vehicle_type_counts/properties/cargo_bicycle",
"type": "integer",
"minimum": 0
},
"car": {
"$id": "#/definitions/vehicle_type_counts/properties/car",
"type": "integer",
Expand Down Expand Up @@ -225,6 +230,16 @@
"Feature"
]
},
"id": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
]
},
"properties": {
"type": "object",
"required": [
Expand All @@ -236,6 +251,30 @@
},
"stop_id": {
"$ref": "#/definitions/uuid"
},
"altitude": {
"type": "number",
"description": "Altitude above mean sea level in meters"
},
"heading": {
"type": "number",
"description": "Degrees - clockwise starting at 0 degrees at true North"
},
"speed": {
"type": "number",
"description": "Estimated speed in meters / sec as reported by the GPS chipset"
},
"accuracy": {
"type": "number",
"description": "Horizontal accuracy, in meters"
},
"hdop": {
"type": "number",
"description": "Horizontal GPS or GNSS accuracy value"
},
"satellites": {
"type": "integer",
"description": "Number of GPS or GNSS satellites"
}
}
},
Expand Down
4 changes: 3 additions & 1 deletion agency/get_vehicle.json
Expand Up @@ -30,14 +30,15 @@
"type": "number",
"description": "Integer milliseconds since Unix epoch",
"multipleOf": 1.0,
"minimum": 0
"minimum": 1514764800000
},
"vehicle_type": {
"$id": "#/definitions/vehicle_type",
"type": "string",
"description": "The type of vehicle",
"enum": [
"bicycle",
"cargo_bicycle",
"car",
"scooter",
"moped",
Expand Down Expand Up @@ -280,6 +281,7 @@
"contains": {
"enum": [
"agency_pick_up",
"comms_restored",
"compliance_pick_up",
"decommissioned",
"located",
Expand Down

0 comments on commit 2670581

Please sign in to comment.