Skip to content

Commit 5f9430e

Browse files
committed
General Info formatting and patch release versioning
1 parent 0818c71 commit 5f9430e

1 file changed

Lines changed: 23 additions & 20 deletions

File tree

general-information.md

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,19 @@ This document contains specifications that are shared between the various MDS [A
1010
- [Data Types](#data-types)
1111
- [Definitions](#definitions)
1212
- [Devices](#devices)
13+
- [GBFS Compatibility](#gbfs-compatibility)
1314
- [Geographic Data](#geographic-data)
14-
- [Geographic Telemetry Data](#geographic-telemetry-data)
15-
- [Stop-based Geographic Data](#stop-based-geographic-data)
1615
- [Intersection Operation](#intersection-operation)
1716
- [Geography-Driven Events](#geography-driven-events)
1817
- [Responses](#responses)
1918
- [Error Messages](#error-messages)
19+
- [Bulk Responses](#bulk-responses)
20+
- [Failure Details](#failure-details)
2021
- [Strings](#strings)
2122
- [Timestamps](#timestamps)
23+
- [Trips](#trips)
2224
- [UUIDs](#uuids)
25+
- [Vehicle States](#vehicle-states)
2326
- [Versioning](#versioning)
2427

2528
## Authentication
@@ -42,7 +45,7 @@ Working Groups and their Steering Committees are expected to review beta designa
4245

4346
[Top][toc]
4447

45-
## Costs and currencies
48+
## Costs and Currencies
4649

4750
Fields specifying a monetary cost use a currency as specified in [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes). All costs should be given as integers in the currency's smallest unit. As an example, to represent $1 USD, specify an amount of `100` (100 cents).
4851

@@ -76,6 +79,12 @@ Additionally, `device_id` must remain constant for the device's lifetime of serv
7679

7780
[Top][toc]
7881

82+
## GBFS Compatibility
83+
84+
Some of the fields in the `Stops` definition are using notions which are currently not in MDS, such as `rental_methods`. These fields are included for compatibility with GBFS.
85+
86+
[Top][toc]
87+
7988
## Geographic Data
8089

8190
References to geographic datatypes (Point, MultiPolygon, etc.) imply coordinates encoded in the [WGS 84 (EPSG:4326)][wgs84] standard GPS or GNSS projection expressed as [Decimal Degrees][decimal-degrees]. When points are used, you may assume a 20 meter buffer around the point when needed.
@@ -169,7 +178,7 @@ For multi-record POST and PUT calls, e.g. sending Events using the Agency API, t
169178
| `total` | Integer | Total number of provided points |
170179
| `failures` | [Trip](#trip-data)[] | Array of failed trip records (empty if all successful) |
171180

172-
### Failure Details:
181+
### Failure Details
173182

174183
| Field | Type | Field Description |
175184
| ----- | ---- | ----------------- |
@@ -186,26 +195,12 @@ All String fields, such as `vehicle_id`, are limited to a maximum of 255 charact
186195

187196
[Top][toc]
188197

189-
### GBFS Compatibility
190-
191-
Some of the fields in the `Stops` definition are using notions which are currently not in MDS, such as `rental_methods`. These fields are included for compatibility with GBFS.
192-
193-
[Top][toc]
194-
195198
## Timestamps
196199

197200
A `timestamp` refers to integer milliseconds since Unix epoch.
198201

199202
[Top][toc]
200203

201-
## UUIDs
202-
203-
Object identifiers are described via Universally Unique Identifiers [(UUIDs)](https://en.wikipedia.org/wiki/Universally_unique_identifier). For example, the `device_id` field used to uniquely identify a vehicle is a UUID.
204-
205-
MDS uses Version 1 UUIDs by default. Version 4 UUIDs may be used where noted.
206-
207-
[Top][toc]
208-
209204
## Trips
210205

211206
Counting trips is a common analysis with MDS data, but in some instances when
@@ -223,6 +218,14 @@ at the recommendation of the MDS community when analyzing trips.
223218

224219
[Top][toc]
225220

221+
## UUIDs
222+
223+
Object identifiers are described via Universally Unique Identifiers [(UUIDs)](https://en.wikipedia.org/wiki/Universally_unique_identifier). For example, the `device_id` field used to uniquely identify a vehicle is a UUID.
224+
225+
MDS uses Version 1 UUIDs by default. Version 4 UUIDs may be used where noted.
226+
227+
[Top][toc]
228+
226229
## Vehicle States
227230

228231
See new location within [vehicle states](/modes/vehicle_states.md) in [modes](/modes#vehicle-states).
@@ -253,12 +256,12 @@ MDS APIs must handle requests for specific versions of the specification from cl
253256

254257
Versioning must be implemented through the use of a custom media-type, `application/vnd.mds+json`, combined with a required `version` parameter. The one exception is the `/reports` endpoint, which returns CSV files instead of JSON, and so uses `text/vnd.mds+csv` as its media-type.
255258

256-
The version parameter specifies the dot-separated combination of major and minor versions from a published version of the specification. For example, the media-type for version `1.0.1` would be specified as `application/vnd.mds+json;version=1.0`
259+
The version parameter specifies the dot-separated combination of major and minor versions from a published version of the specification. For example, the media-type for version `1.0.1` would be specified as `application/vnd.mds+json;version=1.0`. Only major and minor versions are allowed and required in the media-type version string (not [patch](https://github.com/openmobilityfoundation/governance/blob/main/technical/ReleaseGuidelines.md#versioning) releases).
257260

258261
Clients must specify the version they are targeting through the `Accept` header. For example:
259262

260263
```http
261-
Accept: application/vnd.mds+json;version=1.2.0
264+
Accept: application/vnd.mds+json;version=2.0
262265
```
263266

264267
Since versioning was not available from the start, the following APIs provide a fallback version if the `Accept` header is not set as specified above:

0 commit comments

Comments
 (0)