Skip to content

Commit

Permalink
Merge pull request #665 from openmobilityfoundation/ms-vehicles-beta
Browse files Browse the repository at this point in the history
Move Provider Vehicles Out of Beta
  • Loading branch information
schnuerle authored Sep 1, 2021
2 parents 0fb8a9e + e53e576 commit e08ffc0
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
1 change: 1 addition & 0 deletions general-information.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ Defining terminology and abbreviations used throughout MDS.
* **API** - Application Programming Interface - A function or set of functions that allow one software application to access or communicate with features of a different software application or service.
* **API Endpoint** - A point at which an API connects with a software application or service.
* **DOT** - Department of Transportation, usually a city-run agency.
* **Jurisdiction** - An agency’s area of legal authority to manage and regulate a mobility program in the real world. Note there is also an MDS API called [Jurisdiction](/jurisdiction/, which is a way to digitally represent this.
* **PROW** - Public Right of Way - the physical infrastructure reserved for transportation purposes, examples include sidewalks, curbs, bike lanes, transit lanes and stations, traffic lanes and signals, and public parking.

[Top][toc]
Expand Down
8 changes: 5 additions & 3 deletions provider/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -539,9 +539,11 @@ In the case that a `stop_id` query parameter is specified, the `stops` array ret

### Vehicles

The `/vehicles` endpoint returns the current status of vehicles on the [PROW](/general-information.md#definitions). Only vehicles that are currently in available, unavailable, or reserved states should be returned in this payload. Data in this endpoint should reconcile with data from the `/status_changes` enpdoint.
The `/vehicles` endpoint returns the current status of vehicles in an agency's [Jurisdiction](/general-information.md#definitions) and/or area of agency responsibility. All vehicles that are currently in any [`vehicle_state`](/general-information.md#vehicle-states) should be returned in this payload. Since all states are returned, care should be taken to filter out states not in the [PROW](/general-information.md#definitions) if doing vehicle counts. For the states `elsewhere` and `removed` which include vehicles not in the [PROW](/general-information.md#definitions) but provide some operational clarity for agencies, these must only persist in the feed for 90 minutes before being removed.

As with other MDS APIs, `/vehicles` is intended for use by regulators, not by the general public. `/vehicles` can be deployed by providers as a standalone MDS endpoint for agencies without requiring the use of other endpoints, due to the [modularity](/README.md#modularity) of MDS. See our [MDS Vehicles Guide](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Vehicles) for how this compares to GBFS `/free_bike_status`. Note that using authenticated `/vehicles` does not replace the role of a public [GBFS][gbfs] feed in enabling consumer-facing applications.
Data in this endpoint should reconcile with data from the historic [`/status_changes`](/provider#status-changes) enpdoint, though `/status_changes` is the source of truth if there are discrepancies.

As with other MDS APIs, `/vehicles` is intended for use by regulators, not by the general public. `/vehicles` can be deployed by providers as a standalone MDS endpoint for agencies without requiring the use of other endpoints, due to the [modularity](/README.md#modularity) of MDS. See our [MDS Vehicles Guide](https://github.com/openmobilityfoundation/mobility-data-specification/wiki/MDS-Vehicles) for how this compares to GBFS `/free_bike_status`. Note that using authenticated `/vehicles` does not replace the role of a public [GBFS][gbfs] feed in enabling consumer-facing applications. If a provider is using both `/vehicles` and GBFS endpoints, the `/vehicles` endpoint should be considered source of truth regarding an agency's compliance checks.

In addition to the standard [Provider payload wrapper](#response-format), responses from this endpoint should contain the last update timestamp and amount of time until the next update in accordance with the [Data Latency Requirements][data-latency]:

Expand All @@ -558,7 +560,7 @@ In addition to the standard [Provider payload wrapper](#response-format), respon

**Endpoint:** `/vehicles`
**Method:** `GET`
**[Beta feature][beta]:** Yes (as of 0.4.1)
**[Beta feature][beta]:** No (as of 1.2.0)
**Schema:** [`vehicles` schema][vehicles-schema]
**`data` Payload:** `{ "vehicles": [] }`, an array of objects with the following structure

Expand Down
8 changes: 6 additions & 2 deletions provider/vehicles.json
Original file line number Diff line number Diff line change
Expand Up @@ -394,8 +394,12 @@
"last_vehicle_state": {
"enum": [
"available",
"elsewhere",
"non_operational",
"reserved"
"on_trip",
"removed",
"reserved",
"unknown"
]
}
}
Expand Down Expand Up @@ -562,4 +566,4 @@
}
},
"additionalProperties": false
}
}

0 comments on commit e08ffc0

Please sign in to comment.