From 680874000215770218f2b03d1a90677dfc096ab8 Mon Sep 17 00:00:00 2001 From: Tim Black Date: Mon, 1 Oct 2018 16:31:00 -0700 Subject: [PATCH 1/8] Elevating Status of Realtime Feed Suggesting moving the real-time feed from a subsection of the Trips endpoint to its own section to clarify that it is a separate requirement and should be its own endpoint. --- provider/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/provider/README.md b/provider/README.md index 3327e7a5..80bdaf9d 100644 --- a/provider/README.md +++ b/provider/README.md @@ -7,6 +7,7 @@ This specification contains a data standard for *mobility as a service* provider * [General Information](#general-information) * [Trips](#trips) * [Status Changes](#status-changes) +* [Realtime Data](#realtime-data) ## General Information @@ -267,7 +268,7 @@ Gets all status changes with an `event_location` within that bounding-box. The o | | | `rebalance_pick_up` | Device removed from street and will be placed at another location to rebalance service | | | | `maintenance_pick_up` | Device removed from street so it can be worked on | -### Realtime Data +## Realtime Data All MDS compatible `provider` APIs must expose a [GBFS](https://github.com/NABSA/gbfs) feed as well. For historical data, a `time` parameter should be provided to access what the GBFS feed showed at a given time. From e5c69b9b8cfd4609f348575cf0a477949e8d1aea Mon Sep 17 00:00:00 2001 From: Hunter Owens Date: Sat, 6 Oct 2018 13:35:22 -0700 Subject: [PATCH 2/8] clarification on how we extend GBFS --- provider/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/provider/README.md b/provider/README.md index 80bdaf9d..05416443 100644 --- a/provider/README.md +++ b/provider/README.md @@ -270,7 +270,13 @@ Gets all status changes with an `event_location` within that bounding-box. The o ## Realtime Data -All MDS compatible `provider` APIs must expose a [GBFS](https://github.com/NABSA/gbfs) feed as well. For historical data, a `time` parameter should be provided to access what the GBFS feed showed at a given time. +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. + + - `system_information.json` is always required + - `free_bike_status.json` is required for MDS + - `station_information.json` and `station_status.json` don't apply for MDS + + [Top][toc] From 244a7d81c44a1cab9602fc390b3b365c5f4753f4 Mon Sep 17 00:00:00 2001 From: hunterowens Date: Sat, 6 Oct 2018 13:02:58 -0700 Subject: [PATCH 3/8] update update_vehicle_status to use standard post --- agency/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agency/README.md b/agency/README.md index a199f9ea..c4674efd 100644 --- a/agency/README.md +++ b/agency/README.md @@ -72,7 +72,7 @@ Response: This API is used by providers when a vehicle is either removed or returned to service. Endpoint: `/update_vehicle_status`\ -Method: `PUT`\ +Method: `POST`\ API Key: `Required` Body: From 342be49770efe8d3a1524fd9f79bca0fc3496c7e Mon Sep 17 00:00:00 2001 From: Darren Osadchuk Date: Wed, 10 Oct 2018 14:43:24 -0500 Subject: [PATCH 4/8] Add Razor to providers.csv --- providers.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/providers.csv b/providers.csv index 5416d967..781b112c 100644 --- a/providers.csv +++ b/providers.csv @@ -2,3 +2,4 @@ provider_name,provider_id,url,mds_api_url JUMP,c20e08cf-8488-46a6-a66c-5d8fb827f7e0,https://jump.com,https://api.uber.com/v0.1/emobility/mds Lime,63f13c48-34ff-49d2-aca7-cf6a5b6171c3,https://li.me,https://data.lime.bike/api/partners/v1/mds Bird,2411d395-04f2-47c9-ab66-d09e9e3c3251,https://www.bird.co,https://mds.bird.co +Razor,6ddcc0ad-1d66-4046-bba4-d1d96bb8ca4d,https://www.razor.com/share,https://razor-200806.appspot.com/api/v2/mds \ No newline at end of file From 82bad70d92836eb5d7ac7ef1e134651c31a61d52 Mon Sep 17 00:00:00 2001 From: Brady Law Date: Wed, 10 Oct 2018 19:08:18 -0700 Subject: [PATCH 5/8] Add Lyft --- providers.csv | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/providers.csv b/providers.csv index 781b112c..a03e07aa 100644 --- a/providers.csv +++ b/providers.csv @@ -2,4 +2,5 @@ provider_name,provider_id,url,mds_api_url JUMP,c20e08cf-8488-46a6-a66c-5d8fb827f7e0,https://jump.com,https://api.uber.com/v0.1/emobility/mds Lime,63f13c48-34ff-49d2-aca7-cf6a5b6171c3,https://li.me,https://data.lime.bike/api/partners/v1/mds Bird,2411d395-04f2-47c9-ab66-d09e9e3c3251,https://www.bird.co,https://mds.bird.co -Razor,6ddcc0ad-1d66-4046-bba4-d1d96bb8ca4d,https://www.razor.com/share,https://razor-200806.appspot.com/api/v2/mds \ No newline at end of file +Razor,6ddcc0ad-1d66-4046-bba4-d1d96bb8ca4d,https://www.razor.com/share,https://razor-200806.appspot.com/api/v2/mds +Lyft,e714f168-ce56-4b41-81b7-0b6a4bd26128,https://www.lyft.com,https://api.lyft.com/v1/last-mile/mds From 84293a0fc128616c19ad1b2c73d0e360241489f4 Mon Sep 17 00:00:00 2001 From: Hunter Owens Date: Thu, 11 Oct 2018 12:17:58 -0700 Subject: [PATCH 6/8] Update README to show associated python libraries (#132) * Update README to show associated python libraries * structural and wording updates --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 9d122d8c..67c8dc15 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,21 @@ The City of Los Angeles is currently looking for feedback and comments on the dr *10/1/2018 Update*: Applications for the Conditional Permit are now open for submission on the [LADOT Website](http://ladot.lacity.org/ladot-begins-conditional-permit-program-dockless-mobility) +## Related Projects + +### City of Los Angeles +* [`mds-dev`](https://github.com/cityoflosangeles/mds-dev) - Code to do cap checking, fake data generation and more with provider data. +* [`mds-validator`](https://github.com/cityoflosangeles/mds-validator) - Code to validate MDS APIs using JSONSchema. +* [`Aqueduct`](https://github.com/cityoflosangeles/aqueduct) - ETL, Data Warehousing, and Machine Learning Platform for LA City Data Science team. Handles extracting MDS provider APIs and storing in data warehouse. + +### City of Santa Monica +* [`mds-provider`](https://github.com/cityofsantamonica/mds-provider) - Python package implementing the provider API, validation using JSONSchema, data loading to multiple targets, and fake provider data generation. +* [`mds-provider-services`](https://github.com/cityofsantamonica/mds-provider-services) - Python scripts wrapped in Docker containers implementing an MDS provider data ingestion flow, using `mds-provider` and handling the various dependencies. + +### Others + +Please open a pull request if you create open source or private MDS tooling. + ## Contact Questions can be directed to jose.elias@lacity.org. From 8f2b0a16a0c8b89b82194d0ebc7227d520d01ce0 Mon Sep 17 00:00:00 2001 From: Hunter Owens Date: Thu, 11 Oct 2018 13:14:17 -0700 Subject: [PATCH 7/8] typo fix. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 67c8dc15..a7beb835 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The City of Los Angeles is currently looking for feedback and comments on the dr ### City of Los Angeles * [`mds-dev`](https://github.com/cityoflosangeles/mds-dev) - Code to do cap checking, fake data generation and more with provider data. * [`mds-validator`](https://github.com/cityoflosangeles/mds-validator) - Code to validate MDS APIs using JSONSchema. -* [`Aqueduct`](https://github.com/cityoflosangeles/aqueduct) - ETL, Data Warehousing, and Machine Learning Platform for LA City Data Science team. Handles extracting MDS provider APIs and storing in data warehouse. +* [`aqueduct`](https://github.com/cityoflosangeles/aqueduct) - ETL, Data Warehousing, and Machine Learning Platform for LA City Data Science team. Handles extracting MDS provider APIs and storing in data warehouse. ### City of Santa Monica * [`mds-provider`](https://github.com/cityofsantamonica/mds-provider) - Python package implementing the provider API, validation using JSONSchema, data loading to multiple targets, and fake provider data generation. From ecebf75140a0c47e06299098e89afe4c1d16b393 Mon Sep 17 00:00:00 2001 From: Kegan Maher Date: Thu, 11 Oct 2018 13:38:24 -0700 Subject: [PATCH 8/8] Fixing newlines again (#135) And removing a duplicate line of text. And some wording cleanup while I'm at it. --- provider/README.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/provider/README.md b/provider/README.md index 71ab3d74..16e19cde 100644 --- a/provider/README.md +++ b/provider/README.md @@ -110,13 +110,11 @@ A trip represents a journey taken by a *mobility as a service* customer with a g The trips API allows a user to query historical trip data. -Endpoint: `/trips`\ -Method: `GET` +Endpoint: `/trips` +Method: `GET` +Schema: [`trips` schema][trips-schema] +`data` Payload: `{ "trips": [] }`, an array of objects with the following structure -Response: See the [`trips` schema][trips-schema] for the expected format._ -Data: `{ "trips": [] }`, an array of objects with the following structure - -Data: `{ "trips": [] }`, an array of objects with the following structure | Field | Type | Required/Optional | Comments | | ----- | -------- | ----------------- | ----- | @@ -219,12 +217,10 @@ The status of the inventory of vehicles available for customer use. This API allows a user to query the historical availability for a system within a time range. -Endpoint: `/status_changes`\ -Method: `GET` - -Response: See the [`status_changes` schema][sc-schema] for the expected format. - -Data: `{ "status_changes": [] }`, an array of objects with the following structure +Endpoint: `/status_changes` +Method: `GET` +Schema: [`status_changes` schema][sc-schema] +`data` Payload: `{ "status_changes": [] }`, an array of objects with the following structure | Field | Type | Required/Optional | Comments | | ----- | ---- | ----------------- | ----- |