You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: provider/README.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,8 +8,8 @@ This specification contains a data standard for *mobility as a service* provider
8
8
*[Trips](#trips)
9
9
*[Status Changes](#status-changes)
10
10
*[Realtime Data](#realtime-data)
11
-
-[GBFS](#GBFS)
12
-
-[Events](#events)
11
+
*[GBFS](#GBFS)
12
+
*[Events](#events)
13
13
14
14
## General Information
15
15
@@ -125,7 +125,7 @@ The following keys must be used for pagination links:
125
125
*`prev`: url to the previous page of data
126
126
*`next`: url to the next page of data
127
127
128
-
At a minimum, paginated payloads must include a `next` key, which must be set to `null` to indicate the last page of data.
128
+
At a minimum, paginated payloads must include a `next` key, which must be set to `null` to indicate the last page of data.
129
129
130
130
```json
131
131
{
@@ -178,7 +178,8 @@ represented as a GeoJSON [`Feature`](https://tools.ietf.org/html/rfc7946#section
178
178
179
179
For the purposes of this specification, the intersection of two geographic datatypes is defined according to the [`ST_Intersects` PostGIS operation](https://postgis.net/docs/ST_Intersects.html)
180
180
181
-
> If a geometry or geography shares any portion of space then they intersect. For geography -- tolerance is 0.00001 meters (so any points that are close are considered to intersect).<br>
181
+
> If a geometry or geography shares any portion of space then they intersect. For geography -- tolerance is 0.00001 meters (so any points that are close are considered to intersect).
182
+
>
182
183
> Overlaps, Touches, Within all imply spatial intersection. If any of the aforementioned returns true, then the geometries also spatially intersect. Disjoint implies false for spatial intersection.
183
184
184
185
[Top][toc]
@@ -242,7 +243,6 @@ Method: `GET`
242
243
Schema: [`trips` schema][trips-schema]
243
244
`data` Payload: `{ "trips": [] }`, an array of objects with the following structure
244
245
245
-
246
246
| Field | Type | Required/Optional | Comments |
247
247
| ----- | -------- | ----------------- | ----- |
248
248
|`provider_id`| UUID | Required | A UUID for the Provider, unique within MDS |
@@ -276,7 +276,7 @@ If the data does not exist or the hour has not completed, `/trips` shall return
276
276
277
277
Without an `end_time` query parameter, `/trips` shall return a `400 Bad Request` error.
278
278
279
-
For the near-ish real time use cases, please use the [events](#events) endpoint.
279
+
For the near-ish real time use cases, please use the [events](#events) endpoint.
|`battery_pct`| Float | Required if Applicable | Percent battery charge of device, expressed between 0 and 1 |
350
350
|`associated_trip`| UUID | Required if Applicable | Trip UUID (foreign key to Trips API), required if `event_type_reason` is `user_pick_up` or `user_drop_off`, or for any other status change event that marks the end of a trip. |
351
-
|`associated_ticket`| String | Optional | Identifier for an associated ticket inside an Agency-maintained 311 or CRM system. |
351
+
|`associated_ticket`| String | Optional | Identifier for an associated ticket inside an Agency-maintained 311 or CRM system. |
352
352
353
353
### Event Times
354
354
@@ -389,12 +389,12 @@ Without an `event_time` query parameter, `/status_changes` shall return a `400 B
389
389
390
390
### GBFS
391
391
392
-
All MDS compatible `provider` APIs must expose a public [GBFS](https://github.com/NABSA/gbfs) feed as well. Given that GBFS hasn't fully [evolved to support dockless mobility](https://github.com/NABSA/gbfs/pull/92) yet, we follow the current guidelines in making bike information avaliable to the public.
392
+
All MDS compatible `provider` APIs must expose a public [GBFS](https://github.com/NABSA/gbfs) feed as well. Given that GBFS hasn't fully [evolved to support dockless mobility](https://github.com/NABSA/gbfs/pull/92) yet, we follow the current guidelines in making bike information avaliable to the public.
393
393
394
-
-`gbfs.json` is always required and must contain a `feeds` property that lists all published feeds
395
-
-`system_information.json` is always required
396
-
-`free_bike_status.json` is required for MDS
397
-
-`station_information.json` and `station_status.json` don't apply for MDS
394
+
*`gbfs.json` is always required and must contain a `feeds` property that lists all published feeds
395
+
*`system_information.json` is always required
396
+
*`free_bike_status.json` is required for MDS
397
+
*`station_information.json` and `station_status.json` don't apply for MDS
398
398
399
399
### Events
400
400
@@ -413,11 +413,11 @@ Method: `GET`
413
413
Schema: [`status_changes` schema][sc-schema]
414
414
`data` Payload: `{ "status_changes": [] }`, an array of objects with the same structure as in [`/status_changes`][status]
415
415
416
-
### Event Times
416
+
####Event Times
417
417
418
418
Because of the unreliability of device clocks, the Provider is unlikely to know with total confidence what time an event occurred at. However, they are responsible for constructing as accurate a timeline as possible. Most importantly, the order of the timestamps for a particular device's events must reflect the Provider's best understanding of the order in which those events occurred.
419
419
420
-
### Events Query Parameters
420
+
####Events Query Parameters
421
421
422
422
The events API should allow querying with a combination of query parameters:
0 commit comments