Skip to content

Commit

Permalink
Change boolean values from 1/0 to true/false (#196)
Browse files Browse the repository at this point in the history
Breaking change -- v2.0-RC

* Change boolean values from 1/0 to true/false
As per discussion on Issue #10 #10
adding new field definition: boolean values to be JSON booleans, not strings

* Add "Beta (v2.0-RC)" note
…before "Boolean values must be JSON booleans"…
  • Loading branch information
heidiguenin authored and antrim committed Jan 27, 2020
1 parent 643d735 commit 642a8f1
Showing 1 changed file with 4 additions and 8 deletions.
12 changes: 4 additions & 8 deletions gbfs.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ This section defines terms that are used throughout this document.
* http://microformats.org/wiki/rel-faq#How_is_rel_used

### Localization

* Each set of data files should be distributed in a single language as defined in system_information.json.
* A system that wants to publish feeds in multiple languages should do so by publishing multiple distributions, such as:
* `https://www.example.com/data/en/system_information.json`
Expand All @@ -102,7 +101,7 @@ This section defines terms that are used throughout this document.

* Array - A JSON element consisting of an ordered sequence of zero or more values.
* Object - A JSON element consisting of key-value pairs (fields).
* Boolean - One of two possible values, 1= true and 0= false. Boolean values must be JSON booleans, not strings (i.e. true or false, not "true" or "false")
* Boolean - One of two possible values, `1`=true and `0`=false. *Beta (v2.0-RC): Boolean values must be JSON booleans, not strings (i.e. true or false, not `"true"` or `"false"`).
* Date - Service day in the YYYY-MM-DD format. Example: `2019-09-13` for September 13th, 2019.
* Email - An email address. Example: `[email protected]`
* Enum (Enumerable values) - An option from a set of predefined constants in the "Defines" column.
Expand Down Expand Up @@ -256,8 +255,6 @@ The following fields are all attributes within the main "data" object for this f
| &emsp;- `store_uri` *(beta)* | Conditionally Required | URI | URI where the rental iOS app can be downloaded from. Typically this will be a URI to an app store such as the Apple App Store. If the URI points to an app store such as the Apple App Store, the URI should follow iOS best practices so the viewing app can directly open the URI to the native app store app instead of a website. <br><br>If a `rental_uris`.`ios` field is populated then this field is required, otherwise it is optional. <br><br>See the [Analytics](#Analytics) section for how viewing apps can report the origin of the deep link to rental apps. <br><br>Example value: `https://apps.apple.com/app/apple-store/id123456789` |
| &emsp;- `discovery_uri` *(beta)* | Conditionally Required | URI | URI that can be used to discover if the rental iOS app is installed on the device (e.g., using [`UIApplication canOpenURL:`](https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl?language=objc)). This intent is used by viewing apps prioritize rental apps for a particular user based on whether they already have a particular rental app installed. <br><br>This field is required if a `rental_uris`.`ios` field is populated, otherwise it is optional. <br><br>Example value: `com.abcrental.ios://` |



### station_information.json
All stations included in station_information.json are considered public (e.g., can be shown on a map for public use). If there are private stations (such as Capital Bikeshare’s White House station), these should not be included here.

Expand Down Expand Up @@ -291,8 +288,8 @@ Describes the capacity and rental availability of a station.
| \-&nbsp;`num_docks_available` | Yes<br/>*(beta v2.0-RC)* Conditionally required | Non-negative integer | *Current version:* Number of docks accepting bike returns. <br/>*Beta v2.0-RC:* Required except for stations that have unlimited docking capacity (e.g. virtual stations). Number of functional docks physically at the station. To know if the docks are accepting bike returns, see `is_returning`. |
| \-&nbsp;`num_docks_disabled` | Optional | Non-negative integer | Number of empty but disabled dock points at the station. |
| \-&nbsp;`is_installed` | Yes | Boolean | Is the station currently on the street? <br /><br />`1` - Station is installed on the street.<br />`0` - Station is not installed on the street. |
| \-&nbsp;`is_renting` | Yes | Boolean | Is the station currently renting bikes? <br /><br />`1` - Station is renting bikes.<br /> `0` - Station is not renting bikes.<br /><br /> Even if the station is empty, if it is set to allow rentals this value should be 1. |
| \-&nbsp;`is_returning` | Yes | Boolean | Is the station accepting bike returns? <br /><br />`1` - Station is accepting bike returns.<br /> `0` - Station is not accepting bike returns.<br /><br /> If a station is full but would allow a return if it was not full, then this value should be 1. |
| \-&nbsp;`is_renting` | Yes | Boolean | Is the station currently renting bikes? <br /><br />`1` - Station is renting bikes. Even if the station is empty, if it is set to allow rentals this value should be 1.<br /> `0` - Station is not renting bikes. |
| \-&nbsp;`is_returning` | Yes | Boolean | Is the station accepting bike returns? <br /><br />`1` - Station is accepting bike returns. If a station is full but would allow a return if it was not full, then this value should be 1.<br /> `0` - Station is not accepting bike returns. |
| \-&nbsp;`last_reported` | Yes | Timestamp | The last time this station reported its status. |

### free_bike_status.json
Expand All @@ -308,7 +305,7 @@ _`bikes`_ | Yes | Array | Array that cont
\-&nbsp;`is_disabled` | Yes | Boolean | Is the bike currently disabled (broken)? <br /><br /> `1` - Bike is currently disabled. <br /> `0` - Bike is not currently disabled.
\-&nbsp;`rental_uris` *(beta)* | Optional | Object | JSON object that contains rental URIs for Android, iOS, and web in the android, ios, and web fields. See [examples](#Examples) of how to use these fields and [supported analytics](#Analytics).
&emsp;\-&nbsp;`android` *(beta)* | Optional | URI | URI that can be passed to an Android app with an android.intent.action.VIEW Android intent to support Android Deep Links (https://developer.android.com/training/app-links/deep-linking). Please use Android App Links (https://developer.android.com/training/app-links) if possible so viewing apps don’t need to manually manage the redirect of the user to the app store if the user doesn’t have the application installed. <br><br>This URI should be a deep link specific to this bike, and should not be a general rental page that includes information for more than one bike. The deep link should take users directly to this bike, without any prompts, interstitial pages, or logins. Make sure that users can see this bike even if they never previously opened the application. <br><br>If this field is empty, it means deep linking isn’t supported in the native Android rental app. <br><br>Note that URIs do not necessarily include the bike_id for this bike - other identifiers can be used by the rental app within the URI to uniquely identify this bike. <br><br>See the [Analytics](#Analytics) section for how viewing apps can report the origin of the deep link to rental apps. <br><br>Android App Links example value: `https://www.abc.com/app?sid=1234567890&platform=android` <br><br>Deep Link (without App Links) example value: `com.abcrental.android://open.abc.app/app?sid=1234567890`
&emsp;\-&nbsp;ios *(beta)* | Optional | URI | URI that can be used on iOS to launch the rental app for this bike. More information on this iOS feature can be found here: https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content/communicating_with_other_apps_using_custom_urls?language=objc. Please use iOS Universal Links (https://developer.apple.com/ios/universal-links/) if possible so viewing apps don’t need to manually manage the redirect of the user to the app store if the user doesn’t have the application installed. <br><br>This URI should be a deep link specific to this bike, and should not be a general rental page that includes information for more than one bike. The deep link should take users directly to this bike, without any prompts, interstitial pages, or logins. Make sure that users can see this bike even if they never previously opened the application. <br><br>If this field is empty, it means deep linking isn’t supported in the native iOS rental app. <br><br>Note that the URI does not necessarily include the bike_id - other identifiers can be used by the rental app within the URL to uniquely identify this bike. <br><br>See the [Analytics](#Analytics) section for how viewing apps can report the origin of the deep link to rental apps. <br><br>iOS Universal Links example value: `https://www.abc.com/app?sid=1234567890&platform=ios` <br><br>Deep Link (without Universal Links) example value: `com.abcrental.ios://open.abc.app/app?sid=1234567890`
&emsp;\-&nbsp;ios *(beta)* | Optional | URI | URI that can be used on iOS to launch the rental app for this bike. More information on this iOS feature can be found here: https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content/communicating_with_other_apps_using_custom_urls?language=objc. Please use iOS Universal Links (https://developer.apple.com/ios/universal-links/) if possible so viewing apps don’t need to manually manage the redirect of the user to the app store if the user doesn’t have the application installed. <br><br>This URI should be a deep link specific to this bike, and should not be a general rental page that includes information for more than one bike. The deep link should take users directly to this bike, without any prompts, interstitial pages, or logins. Make sure that users can see this bike even if they never previously opened the application. <br><br>If this field is empty, it means deep linking isn’t supported in the native iOS rental app. <br><br>Note that the URI does not necessarily include the bike_id - other identifiers can be used by the rental app within the URL to uniquely identify this bike. <br><br>See the [Analytics](#Analytics) section for how viewing apps can report the origin of the deep link to rental apps. <br><br>iOS Universal Links example value: `https://www.abc.com/app?sid=1234567890&platform=ios` <br><br>Deep Link (without Universal Links) example value: `com.abcrental.ios://open.abc.app/app?sid=1234567890`
&emsp;\-&nbsp;`web` *(beta)* | Optional | URL | URL that can be used by a web browser to show more information about renting a vehicle at this bike. <br><br>This URL should be a deep link specific to this bike, and should not be a general rental page that includes information for more than one bike. The deep link should take users directly to this bike, without any prompts, interstitial pages, or logins. Make sure that users can see this bike even if they never previously opened the application. <br><br>If this field is empty, it means deep linking isn’t supported for web browsers. <br><br>Example value: https://www.abc.com/app?sid=1234567890

### system_hours.json
Expand Down Expand Up @@ -394,7 +391,6 @@ _`plans`_ | Yes | Array | Array of objects as d
This feed is intended to inform customers about changes to the system that do not fall within the normal system operations. For example, system closures due to weather would be listed here, but a system that only operated for part of the year would have that schedule listed in the system_calendar.json feed.<br />
Obsolete alerts should be removed so the client application can safely present to the end user everything present in the feed.


Field Name | Required | Type | Defines
----------------------- | ------------| ------------------ | ---------------------------
_`alerts`_ | Yes | Array | Array of objects each indicating a system alert as defined below.
Expand Down

0 comments on commit 642a8f1

Please sign in to comment.