Released April 11, 2024
Modified April 11, 2024
MAJOR Release - not backwards compatible.
What's Changed
For all files
Timestamps MUST now be strings in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
IDs MUST now be in the ASCII printable character range, space excluded, and SHOULD be restricted to A-Z, a-z, 0-9 and .@:/_- (eg: D9:N_c) (#545).
Enum values MUST now be lowercase (eg: bicycle) (#474).
gbfs.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
manifest.json (new)
This new endpoint is an index, required for publishers of feeds for multiple cities (#462).
gbfs_versions.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
system_information.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
languages (new) allows to list the languages used in Localized Strings (required) (#460).
name (updated) is now an Array of Localized Strings (#460).
opening_hours (new) allows to specify the hours and dates of operation for the system (required). It replaces system_hours.json and system_calendar.json (#328).
short_name (updated) is now an Array of Localized Strings (#460).
operator (updated) is now an Array of Localized Strings (#460).
termination_date (new) allows to notify data consumers of a permanent (non-seasonal) shutdown of the feeds (#497).
phone_number (updated) is now in E.164 format (#351).
feed_contact_email (updated) is now required (#454).
manifest_url (new) allows pointing to the manifest.json file (#462).
license_id (new) allows to specify if the dataset is provided under a standard license (#182).
license_url (updated) is now required if the dataset is provided under a customized license (#182).
attribution_organization_name (new) and attribution_url (new) allow to specify if the feed license requires attribution (#182).
terms_url (updated) is now an Array of Localized Strings (#460).
privacy_url (updated) is now an Array of Localized Strings (#460).
vehicle_types.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
form_factor (updated) enum no longer allows the value scooter. It was replaced by scooter_standing and scooter_seated (#370).
eco_labels (updated) replaces eco_label (#559).
name (updated) is now an Array of Localized Strings (#460).
make (updated) is now an Array of Localized Strings (#460).
model (updated) is now an Array of Localized Strings (#460).
description (new) allows to add a description of the vehicle type outlining special features or how-tos (#470).
station_information.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
name (updated) is now an Array of Localized Strings (#460).
short_name (updated) is now an Array of Localized Strings (#460).
station_opening_hours (new) allows to specify the hours of operation for the station (#328).
vehicle_types_capacity (updated) is now an Array of Objects to model the parking capacity of virtual stations for each vehicle type. It replaces vehicle_capacity (#547).
vehicle_docks_capacity (updated) is now an Array of Objects to model the docking capacity of a station for each vehicle type. It replaces vehicle_type_capacity (#547).
station_status.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
num_vehicles_available (updated) replaces num_bikes_available (#354).
num_vehicles_disabled (updated) replaces num_bikes_disabled (#354).
vehicle_status.json (updated) (formerly free_bike_status.json)
This endpoint replaces free_bike_status.json (#354).
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
vehicles (updated) replaces bikes (#354).
vehicle_id (updated) replaces bike_id (#354).
rental_uris.[android,ios,web] (updated) vehicle identifiers within deep links MUST now be rotated after each rental to avoid unintentionally exposing private vehicle trip origins and destinations (#247).
system_hours.json (removed)
This endpoint was replaced by the field opening_hours in system_information.json.
system_calendar.json (removed)
This endpoint was replaced by the field opening_hours in system_information.json.
system_regions.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
name (updated) is now an Array of Localized Strings (#460).
system_pricing_plans.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
name (updated) is now an Array of Localized Strings (#460).
price (updated) may now only be a Non-Negative Float (eg: 1.50) (#352).
description (updated) is now an Array of Localized Strings (#460).
system_alerts.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
url (updated) is now an Array of Localized Strings (#460).
summary (updated) is now an Array of Localized Strings (#460).
description (updated) is now an Array of Localized Strings (#460).
geofencing_zones.json (updated)
last_updated (updated) is now a string in RFC3339 format (eg: 2024-01-24T12:52:40+01:00) (#522).
geometry (updated) is now agnostic of the rotation direction of polygon points. Rules may now only apply to the interior of a polygon (#481).
name (updated) is now an Array of Localized Strings (#460).
global_rules (new) allows to define restrictions that apply everywhere (#481).
vehicle_type_ids (updated) replaces vehicle_type_id (#542).
Full Changelog: v2.3...v3.0
Contributors
- @AntoineAugusti
- @bdferris-v2
- @cmonagle
- @futuretap
- @HannesOlszewski
- @j0kan
- @josee-sabourin
- @leonardehrenfried
- @mplsmitch
- @tdelmas
- @testower
Full Changelog: v2.3...v3.0