Skip to content

Commit 6690ac7

Browse files
authored
Merge pull request #5 from openmobilityfoundation/dev
Dev update for RC 1.0.0
2 parents 48bd397 + 233d181 commit 6690ac7

29 files changed

Lines changed: 3415 additions & 2524 deletions

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
.venv/
1+
.venv/
2+
.vscode
3+
__pycache__

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ More than 90 cities and public agencies around the world use MDS, and it has bee
5252

5353
* **Arlington, VA**: [Shared Micro-Mobility Devices](https://transportation.arlingtonva.us/scooters-and-dockless-bikeshare/) page and [permit application](https://arlingtonva.s3.amazonaws.com/wp-content/uploads/sites/19/2019/12/Micro-Mobility_Permit_Final_191203.pdf).
5454
* **Atlanta, GA**: [Administrative Regulations
55-
for Shareable Dockless Mobility Device Permit Holders](https://www.atlantaga.gov/home/showdocument?id=44650) from [Department of City Planning](https://www.atlantaga.gov/government/departments/city-planning).
55+
for Shareable Dockless Mobility Device Permit Holders](https://www.atlantaga.gov/home/showdocument?id=46315) from [Department of City Planning](https://www.atlantaga.gov/government/departments/city-planning).
5656
* **Austin, TX**: The rules and guidelines for Austin's Micromobility Program can be found on Austin's [Shared Mobility Program](https://austintexas.gov/department/shared-mobility-services) website.
5757
* **Calgary, Canada**: Programs for a [Dockless Bike Share Pilot](https://www.calgary.ca/transportation/tp/cycling/cycling-strategy/bike-share-system.html?redirect=/bikeshare) and a [hared electric scooter pilot](https://www.calgary.ca/transportation/tp/cycling/cycling-strategy/shared-electric-scooter-pilot.html) that require [MDS in the application](https://www.calgary.ca/content/dam/www/transportation/tp/documents/cycling/cycling_strategy/framework-for-dockless-bike-share-permit-phase-2.pdf) and programs.
5858
* **Chicago, IL**: [E-Scooter Share Pilot Program](https://www.chicago.gov/city/en/depts/cdot/supp_info/escooter-share-pilot-project.html) information.

ReleaseNotes.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
1+
## 1.0.0
2+
3+
> Release Date: TBD
4+
5+
> Release Candidate Date: week of June 29, 2020
6+
7+
The 1.0.0 release reconciles many parts of the MDS specifiction and adds features and updates requested by the community, including support for Stops (for docked vehicles, dockless corrals, parking areas) and adding rates to Policy.
8+
9+
### CHANGES
10+
11+
See the PRs tagged with [Milestone 1.0.0](https://github.com/openmobilityfoundation/mobility-data-specification/milestone/9) for a full list of changes.
12+
13+
_Here is some of what was added or changed._
14+
15+
*_MDS_*
16+
17+
* [Reconcile the Provider and Agency language differences](https://github.com/openmobilityfoundation/mobility-data-specification/pull/506)
18+
* [New State Machine Diagram](https://github.com/openmobilityfoundation/mobility-data-specification/pull/530)
19+
* [JSON Schema updates](https://github.com/openmobilityfoundation/mobility-data-specification/pull/534)
20+
* [Adding Stops](https://github.com/openmobilityfoundation/mobility-data-specification/pull/427) - Beta
21+
22+
* Minor Updates
23+
* [Update cities using MDS](https://github.com/openmobilityfoundation/mobility-data-specification/pull/520)
24+
* Update [Austin](https://github.com/openmobilityfoundation/mobility-data-specification/pull/488), [Louisville](https://github.com/openmobilityfoundation/mobility-data-specification/pull/515) links
25+
* [Add link to State of Practice](https://github.com/openmobilityfoundation/mobility-data-specification/pull/477)
26+
* [Update GBFS references and links](https://github.com/openmobilityfoundation/mobility-data-specification/pull/508)
27+
* Move [Code of Conduct](https://github.com/openmobilityfoundation/mobility-data-specification/pull/514), [Contributing Guide](https://github.com/openmobilityfoundation/mobility-data-specification/pull/513), and [Release Guidelines](https://github.com/openmobilityfoundation/mobility-data-specification/pull/512) to new [Governace repo](https://github.com/openmobilityfoundation/governance)
28+
* [Updating 'master' to 'main' as default branch name](https://github.com/openmobilityfoundation/mobility-data-specification/pull/522)
29+
* [Update providers.csv to add Superpedestrian](https://github.com/openmobilityfoundation/mobility-data-specification/pull/535)
30+
* [Removed Options version negotiation](https://github.com/openmobilityfoundation/mobility-data-specification/pull/536#pullrequestreview-439364663)
31+
* [Added 'other' vechicle type](https://github.com/openmobilityfoundation/mobility-data-specification/issues/518)
32+
33+
*_Provider_*
34+
35+
* [Events out of beta](https://github.com/openmobilityfoundation/mobility-data-specification/issues/528)
36+
37+
*_Agency_*
38+
39+
* [Vehicle register: add provider_id field](https://github.com/openmobilityfoundation/mobility-data-specification/pull/469)
40+
* [Clarify vehicle endpoint requirements](https://github.com/openmobilityfoundation/mobility-data-specification/pull/465)
41+
* [Vehicle response code should be 200](https://github.com/openmobilityfoundation/mobility-data-specification/pull/467)
42+
* [Clarify telemetry success response](https://github.com/openmobilityfoundation/mobility-data-specification/pull/461)
43+
44+
*_Policy_*
45+
46+
* [Add Rates (fees + subsidies)](https://github.com/openmobilityfoundation/mobility-data-specification/pull/484)
47+
* [Rearrange Speed Limit Example](https://github.com/openmobilityfoundation/mobility-data-specification/pull/482)
48+
* [Added Geography schema](https://github.com/openmobilityfoundation/mobility-data-specification/pull/533)
49+
150
## 0.4.1
251

352
> Released 2020-05-15

agency/README.md

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ This specification contains a collection of RESTful APIs used to specify the dig
1414
* [Vehicle Events](#vehicle---event)
1515
* [Vehicles Telemetry](#vehicles---telemetry)
1616
* [Telemetry Data](#telemetry-data)
17+
* [Stops](#stops)
1718

1819
## General information
1920

@@ -31,11 +32,11 @@ See the [Responses][responses] and [Error Messages][error-messages] sections.
3132

3233
### Authorization
3334

34-
When making requests, the Agency API expects `provider_id` to be part of the claims in a [JWT](https://jwt.io/) `access_token` in the `Authorization` header, in the form `Authorization: Bearer <access_token>`. The token issuance, expiration and revocation policies are at the discretion of the Agency.
35+
When making requests, the Agency API expects `provider_id` to be part of the claims in a [JWT](https://jwt.io/) `access_token` in the `Authorization` header, in the form `Authorization: Bearer <access_token>`. The token issuance, expiration and revocation policies are at the discretion of the Agency.
3536

3637
## Vehicles
3738

38-
The `/vehicles` endpoint returns the specified vehicle (if a device_id is provided) or a list of known vehicles. Providers can only retrieve data for vehicles in their registered fleet.
39+
The `/vehicles` endpoint returns the specified vehicle (if a device_id is provided) or a list of known vehicles. Providers can only retrieve data for vehicles in their registered fleet.
3940

4041
Endpoint: `/vehicles/{device_id}`
4142
Method: `GET`
@@ -69,13 +70,13 @@ A vehicle record is as follows:
6970
| `device_id` | UUID | Provided by Operator to uniquely identify a vehicle |
7071
| `provider_id` | UUID | Issued by Agency and [tracked](../providers.csv) |
7172
| `vehicle_id` | String | Vehicle Identification Number (vehicle_id) visible on vehicle |
72-
| `type` | Enum | [Vehicle Type][vehicle-types] |
73-
| `propulsion` | Enum[] | Array of [Propulsion Type][propulsion-types]; allows multiple values |
73+
| `vehicle_type` | Enum | [Vehicle Type][vehicle-types] |
74+
| `propulsion_types` | Enum[] | Array of [Propulsion Type][propulsion-types]; allows multiple values |
7475
| `year` | Integer | Year Manufactured |
7576
| `mfgr` | String | Vehicle Manufacturer |
7677
| `model` | String | Vehicle Model |
7778
| `state` | Enum | Current vehicle state. See [Vehicle State][vehicle-states] |
78-
| `prev_event` | Enum | Last [Vehicle Event][vehicle-event] |
79+
| `prev_events` | Enum[] | Last [Vehicle Event][vehicle-event] |
7980
| `updated` | [timestamp][ts] | Date of last event update |
8081

8182
404 Failure Response:
@@ -95,8 +96,8 @@ Body Params:
9596
| ------------ | ------- | ----------------- | -------------------------------------------------------------------- |
9697
| `device_id` | UUID | Required | Provided by Operator to uniquely identify a vehicle |
9798
| `vehicle_id` | String | Required | Vehicle Identification Number (vehicle_id) visible on vehicle |
98-
| `type` | Enum | Required | [Vehicle Type][vehicle-types] |
99-
| `propulsion` | Enum[] | Required | Array of [Propulsion Type][propulsion-types]; allows multiple values |
99+
| `vehicle_type` | Enum | Required | [Vehicle Type][vehicle-types] |
100+
| `propulsion_types` | Enum[] | Required | Array of [Propulsion Type][propulsion-types]; allows multiple values |
100101
| `provider_id`| UUID | Optional | Provider to which the vehicle belongs if different from the authenticated provider |
101102
| `year` | Integer | Optional | Year Manufactured |
102103
| `mfgr` | String | Optional | Vehicle Manufacturer |
@@ -121,7 +122,7 @@ _No content returned on success._
121122

122123
## Vehicle - Update
123124

124-
The `/vehicles` update endpoint is used to update some mutable aspect of a vehicle. For now, only `vehicle_id`.
125+
The `/vehicles` update endpoint is used to update some mutable aspect of a vehicle. For now, only `vehicle_id`.
125126

126127
Endpoint: `/vehicles/{device_id}`
127128
Method: `PUT`
@@ -168,7 +169,7 @@ Body Params:
168169
| `event_types` | Enum[] | Required | see [Vehicle Events][vehicle-events] |
169170
| `timestamp` | [timestamp][ts] | Required | Date of last event update |
170171
| `telemetry` | [Telemetry](#telemetry-data) | Required | Single point of telemetry |
171-
| `trip_id` | UUID | Optional | UUID provided by Operator to uniquely identify the trip. Required for `trip_start`, `trip_end`, `trip_enter`, and `trip_leave` event types |
172+
| `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` |
172173

173174
201 Success Response:
174175

@@ -231,17 +232,47 @@ A standard point of vehicle telemetry. References to latitude and longitude impl
231232
| `gps.hdop` | Float | Required if Available | Horizontal GPS or GNSS accuracy value (see [hdop][hdop]) |
232233
| `gps.satellites` | Integer | Required if Available | Number of GPS or GNSS satellites
233234
| `charge` | Float | Required if Applicable | Percent battery charge of vehicle, expressed between 0 and 1 |
235+
| `stop_id` | UUID | Required if Applicable | Stop that the vehicle is currently located at. Only applicable for _docked_ Micromobility. See [Stops][stops] |
236+
237+
## Stops
238+
239+
The `/stops` endpoint allows an agency to register Stops.
240+
241+
**Endpoint:** `/stops`
242+
**Method:** `POST`
243+
**[Beta feature][beta]:** Yes (as of 1.0.0)
244+
**Request Body**: An array of [Stops][stops]
245+
246+
**Endpoint:** `/stops`
247+
**Method:** `PUT`
248+
**[Beta feature][beta]:** Yes (as of 1.0.0)
249+
**Request Body**: An array of subsets of [Stop][stops] information, where the permitted subset fields are defined as:
250+
251+
| Field | Required/Optional | Description |
252+
|---------------------|-------------------|---------------------------------------------|
253+
| stop_id | Required |See [Stops][stops] |
254+
| status | Optional |See [Stops][stops] |
255+
| num_spots_disabled | Optional |See [Stops][stops] |
256+
257+
**Endpoint:** `/stops/:stop_id`
258+
**Method:** `GET`
259+
**[Beta feature][beta]:** Yes (as of 1.0.0)
260+
**`data` Payload:** `{ "stops": [] }`, an array of [Stops][stops]
261+
262+
In the case that a `stop_id` query parameter is specified, the `stops` array returned will only have one entry. In the case that no `stop_id` query parameter is specified, all stops will be returned.
234263

235264
[Top][toc]
236265

266+
[beta]: /general-information.md#beta-features
237267
[general]: /general-information.md
238268
[error-messages]: /general-information.md#error-messages
239269
[hdop]: https://support.esri.com/en/other-resources/gis-dictionary/term/358112bd-b61c-4081-9679-4fca9e3eb926
240270
[propulsion-types]: /general-information.md#propulsion-types
241271
[responses]: /general-information.md#responses
272+
[stops]: /general-information#stops
242273
[toc]: #table-of-contents
243274
[ts]: /general-information.md#timestamps
244275
[vehicle-types]: /general-information.md#vehicle-types
245276
[vehicle-states]: /general-information.md#vehicle-states
246277
[vehicle-events]: /general-information.md#vehicle-state-events
247-
[versioning]: /general-information.md#versioning
278+
[versioning]: /general-information.md#versioning

0 commit comments

Comments
 (0)