Skip to content

Commit

Permalink
Pricing Plans: replaces integer with float in interval
Browse files Browse the repository at this point in the history
  • Loading branch information
cmonagle committed Sep 27, 2023
1 parent f84d75f commit 27a461b
Showing 1 changed file with 52 additions and 25 deletions.
77 changes: 52 additions & 25 deletions gbfs.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,56 @@ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "S

## Table of Contents

* [Introduction](#introduction)
* [Term Definitions](#term-definitions)
* [Files](#files)
* [Accessibility](#accessibility)
* [File Requirements](#file-requirements)
* [Licensing](#licensing)
* [Field Types](#field-types)
* [Files](#files)
* [gbfs.json](#gbfsjson)
* [manifest.json](#manifestjson) *(added in v3.0-RC)*
* [gbfs_versions.json](#gbfs_versionsjson)
* [system_information.json](#system_informationjson)
* [vehicle_types.json](#vehicle_typesjson) *(added in v2.1)*
* [station_information.json](#station_informationjson)
* [station_status.json](#station_statusjson)
* [vehicle_status.json](#vehicle_statusjson) *(formerly free_bike_status.json)*
* [system_hours.json](#system_hoursjson) *(deprecated in v3.0-RC)*
* [system_calendar.json](#system_calendarjson) *(deprecated in v3.0-RC)*
* [system_regions.json](#system_regionsjson)
* [system_pricing_plans.json](#system_pricing_plansjson)
* [system_alerts.json](#system_alertsjson)
* [geofencing_zones.json](#geofencing_zonesjson) *(added in v2.1)*
* [Deep Links - Analytics and Examples](#deep-links)
- [General Bikeshare Feed Specification (GBFS)](#general-bikeshare-feed-specification-gbfs)
- [Reference version](#reference-version)
- [Terminology](#terminology)
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Term Definitions](#term-definitions)
- [Files](#files)
- [Accessibility](#accessibility)
- [Feed Availability](#feed-availability)
- [Seasonal Shutdowns, Disruptions of Service](#seasonal-shutdowns-disruptions-of-service)
- [Hours and Dates of Operation](#hours-and-dates-of-operation)
- [File Requirements](#file-requirements)
- [File Distribution](#file-distribution)
- [Version Endpoints](#version-endpoints)
- [Auto-Discovery](#auto-discovery)
- [Localization](#localization)
- [Text Fields and Naming](#text-fields-and-naming)
- [Coordinate Precision](#coordinate-precision)
- [Data Latency](#data-latency)
- [Licensing](#licensing)
- [Field Types](#field-types)
- [Extensions Outside of the Specification](#extensions-outside-of-the-specification)
- [JSON Files](#json-files)
- [Output Format](#output-format)
- [gbfs.json](#gbfsjson)
- [manifest.json](#manifestjson)
- [gbfs\_versions.json](#gbfs_versionsjson)
- [system\_information.json](#system_informationjson)
- [vehicle\_types.json](#vehicle_typesjson)
- [station\_information.json](#station_informationjson)
- [station\_status.json](#station_statusjson)
- [vehicle\_status.json](#vehicle_statusjson)
- [system\_hours.json](#system_hoursjson)
- [system\_calendar.json](#system_calendarjson)
- [system\_regions.json](#system_regionsjson)
- [system\_pricing\_plans.json](#system_pricing_plansjson)
- [system\_alerts.json](#system_alertsjson)
- [geofencing\_zones.json](#geofencing_zonesjson)
- [Geofencing Rule Object](#geofencing-rule-object)
- [Geofencing Rule Precedence](#geofencing-rule-precedence)
- [Geofencing Examples](#geofencing-examples)
- [Polygon Overlap Examples](#polygon-overlap-examples)
- [Partially Overlapping Polygons with Same Vehicle Types](#partially-overlapping-polygons-with-same-vehicle-types)
- [Partially Overlapping Polygons with Different Vehicle Types](#partially-overlapping-polygons-with-different-vehicle-types)
- [Partially Overlapping Polygons with Some Overlapping Vehicle Types](#partially-overlapping-polygons-with-some-overlapping-vehicle-types)
- [Deep Links](#deep-links)
- [Analytics](#analytics)
- [Deep links Examples](#deep-links-examples)
- [Disclaimers](#disclaimers)
- [License](#license)

## Introduction

Expand Down Expand Up @@ -1126,12 +1153,12 @@ Field Name | REQUIRED | Type | Defines
\-&nbsp;`per_km_pricing` <br/>*(added in v2.2)* | OPTIONAL | Array | Array of segments when the price is a function of distance traveled, displayed in kilometers.<br /><br />Total cost is the addition of `price` and all segments in `per_km_pricing` and `per_min_pricing`. If this array is not provided, there are no variable costs based on distance.
&emsp;&emsp;\-&nbsp;`start` <br/>*(added in v2.2)* | Conditionally REQUIRED | Non-Negative Integer | REQUIRED if `per_km_pricing` is defined. The kilometer at which this segment rate starts being charged *(inclusive)*.
&emsp;&emsp;\-&nbsp;`rate` <br/>*(added in v2.2)* | Conditionally REQUIRED | Float | REQUIRED if `per_km_pricing` is defined. Rate that is charged for each kilometer `interval` after the `start`. Can be a negative number, which indicates that the traveler will receive a discount.
&emsp;&emsp;\-&nbsp;`interval` <br/>*(added in v2.2)* | Conditionally REQUIRED | Non-Negative Integer | REQUIRED if `per_km_pricing` is defined. Interval in kilometers at which the `rate` of this segment is either reapplied indefinitely, or if defined, up until (but not including) `end` kilometer.<br /><br />An interval of 0 indicates the rate is only charged once.
&emsp;&emsp;\-&nbsp;`interval` <br/>*(added in v2.2)* | Conditionally REQUIRED | Non-Negative Float | REQUIRED if `per_km_pricing` is defined. Interval in kilometers at which the `rate` of this segment is either reapplied indefinitely, or if defined, up until (but not including) `end` kilometer.<br /><br />An interval of 0 indicates the rate is only charged once.
&emsp;&emsp;\-&nbsp; `end` <br/>*(added in v2.2)* | OPTIONAL | Non-Negative Integer | The kilometer at which the rate will no longer apply *(exclusive)* for example, if `end` is `20` the rate no longer applies at 20.00 km.<br /><br /> If this field is empty, the price issued for this segment is charged until the trip ends, in addition to the cost of any subsequent segments.
\-&nbsp;`per_min_pricing` <br/>*(added in v2.2)* | OPTIONAL | Array | Array of segments when the price is a function of time traveled, displayed in minutes.<br /><br />Total cost is the addition of `price` and all segments in `per_km_pricing` and `per_min_pricing`. If this array is not provided, there are no variable costs based on time.
&emsp;&emsp;\-&nbsp;`start` <br/>*(added in v2.2)* | Conditionally REQUIRED | Non-Negative Integer | REQUIRED if `per_min_pricing` is defined. The minute at which this segment rate starts being charged *(inclusive)*.
&emsp;&emsp;\-&nbsp;`rate` <br/>*(added in v2.2)* | Conditionally REQUIRED | Float | REQUIRED if `per_min_pricing` is defined. Rate that is charged for each minute `interval` after the `start`. Can be a negative number, which indicates that the traveler will receive a discount.
&emsp;&emsp;\-&nbsp;`interval` <br/>*(added in v2.2)* | Conditionally REQUIRED | Non-Negative Integer | REQUIRED if `per_min_pricing` is defined. Interval in minutes at which the `rate` of this segment is either reapplied indefinitely, or up until (but not including) the `end` minute, if `end` is defined.<br /><br />An interval of 0 indicates the rate is only charged once.
&emsp;&emsp;\-&nbsp;`interval` <br/>*(added in v2.2)* | Conditionally REQUIRED | Non-Negative Float | REQUIRED if `per_min_pricing` is defined. Interval in minutes at which the `rate` of this segment is either reapplied indefinitely, or up until (but not including) the `end` minute, if `end` is defined.<br /><br />An interval of 0 indicates the rate is only charged once.
&emsp;&emsp;\-&nbsp; `end` <br/>*(added in v2.2)* | OPTIONAL | Non-Negative Integer | The minute at which the rate will no longer apply *(exclusive)* for example, if `end` is `20` the rate no longer applies after 19:59.<br /><br />If this field is empty, the price issued for this segment is charged until the trip ends, in addition to the cost of any subsequent segments.
\-&nbsp;`surge_pricing` <br/>*(added in v2.2)* | OPTIONAL | Boolean | Is there currently an increase in price in response to increased demand in this pricing plan? If this field is empty, it means there is no surge pricing in effect.<br /><br />`true` - Surge pricing is in effect.<br /> `false` - Surge pricing is not in effect.

Expand Down

0 comments on commit 27a461b

Please sign in to comment.