schema.v3.0.station_information.json Maven / Gradle / Ivy
The newest version!
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id":
"https://github.com/MobilityData/gbfs/blob/v3.0/gbfs.md#station_informationjson",
"description":
"List of all stations, their capacities and locations. REQUIRED of systems utilizing docks.",
"type": "object",
"properties": {
"last_updated": {
"description":
"Last time the data in the feed was updated in RFC3339 format.",
"type": "string",
"format": "date-time"
},
"ttl": {
"description":
"Number of seconds before the data in the feed will be updated again (0 if the data should always be refreshed).",
"type": "integer",
"minimum": 0
},
"version": {
"description":
"GBFS version number to which the feed conforms, according to the versioning framework (added in v1.1).",
"type": "string",
"const": "3.0"
},
"data": {
"description":
"Array that contains one object per station as defined below.",
"type": "object",
"properties": {
"stations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"station_id": {
"description": "Identifier of a station.",
"type": "string"
},
"name": {
"description": "Public name of the station.",
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"description": "The translated text.",
"type": "string"
},
"language": {
"description": "IETF BCP 47 language code.",
"type": "string",
"pattern": "^[a-z]{2,3}(-[A-Z]{2})?$"
}
},
"required": ["text", "language"]
}
},
"short_name": {
"description": "Short name or other type of identifier.",
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"description": "The translated text.",
"type": "string"
},
"language": {
"description": "IETF BCP 47 language code.",
"type": "string",
"pattern": "^[a-z]{2,3}(-[A-Z]{2})?$"
}
},
"required": ["text", "language"]
}
},
"lat": {
"description": "The latitude of the station.",
"type": "number",
"minimum": -90,
"maximum": 90
},
"lon": {
"description": "The longitude fo the station.",
"type": "number",
"minimum": -180,
"maximum": 180
},
"address": {
"description": "Address where station is located.",
"type": "string"
},
"cross_street": {
"description":
"Cross street or landmark where the station is located.",
"type": "string"
},
"region_id": {
"description":
"Identifier of the region where the station is located.",
"type": "string"
},
"post_code": {
"description": "Postal code where station is located.",
"type": "string"
},
"station_opening_hours": {
"description": "Hours of operation for the station in OSM opening_hours format.",
"type": "string"
},
"rental_methods": {
"description": "Payment methods accepted at this station.",
"type": "array",
"items": {
"type": "string",
"enum": [
"key",
"creditcard",
"paypass",
"applepay",
"androidpay",
"transitcard",
"accountnumber",
"phone"
]
},
"minItems": 1
},
"is_virtual_station": {
"description":
"Is this station a location with or without physical infrastructure? (added in v2.1-RC)",
"type": "boolean"
},
"station_area": {
"description":
"A multipolygon that describes the area of a virtual station (added in v2.1-RC).",
"type": "object",
"required": ["type", "coordinates"],
"properties": {
"type": {
"type": "string",
"enum": ["MultiPolygon"]
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"minItems": 4,
"items": {
"type": "array",
"minItems": 2,
"items": {
"type": "number"
}
}
}
}
}
}
},
"parking_type": {
"description": "Type of parking station. Added in v2.3",
"type": "string",
"enum": [
"parking_lot",
"street_parking",
"underground_parking",
"sidewalk_parking",
"other"
]
},
"parking_hoop": {
"description": "Are parking hoops present at this station? Added in v2.3",
"type": "boolean"
},
"contact_phone": {
"description": "Contact phone of the station. Added in v2.3",
"type": "string"
},
"capacity": {
"description":
"Number of total docking points installed at this station, both available and unavailable.",
"type": "integer",
"minimum": 0
},
"vehicle_types_capacity": {
"description": "This field's value is an array of objects containing the keys vehicle_type_ids and count defined below. These objects are used to model the parking capacity of virtual stations (defined using the is_virtual_station field) for each vehicle type that can be returned to this station.",
"type": "array",
"items": {
"type": "object",
"properties": {
"vehicle_type_ids": {
"description": "The vehicle_type_ids, as defined in vehicle_types.json, that may park at the virtual station.",
"type": "array",
"items": {
"type": "string"
}
},
"count": {
"description": "A number representing the total number of vehicles of the specified vehicle_type_ids that can park within the virtual station.",
"type": "integer",
"minimum": 0
}
},
"required": ["vehicle_type_ids","count"]
}
},
"vehicle_docks_capacity": {
"description": "This field's value is an array of objects containing the keys vehicle_type_ids and count defined below. These objects are used to model the total docking capacity of a station, both available and unavailable, for each type of vehicle that may dock at this station.",
"type": "array",
"items": {
"type": "object",
"properties": {
"vehicle_type_ids": {
"description": "An array of strings where each string represents a vehicle_type_id that is able to use a particular type of dock at the station.",
"type": "array",
"items": {
"type": "string"
}
},
"count": {
"description": "A number representing the total number of docks at the station, both available and unavailable, that may accept the vehicle types specified by vehicle_type_ids.",
"type": "integer",
"minimum": 0
}
},
"required": ["vehicle_type_ids","count"]
}
},
"is_valet_station": {
"description":
"Are valet services provided at this station? (added in v2.1-RC)",
"type": "boolean"
},
"is_charging_station": {
"description":
"Does the station support charging of electric vehicles? (added in v2.3-RC)",
"type": "boolean"
},
"rental_uris": {
"description":
"Contains rental uris for Android, iOS, and web in the android, ios, and web fields (added in v1.1).",
"type": "object",
"properties": {
"android": {
"description":
"URI that can be passed to an Android app with an intent (added in v1.1).",
"type": "string",
"format": "uri"
},
"ios": {
"description":
"URI that can be used on iOS to launch the rental app for this station (added in v1.1).",
"type": "string",
"format": "uri"
},
"web": {
"description":
"URL that can be used by a web browser to show more information about renting a vehicle at this station (added in v1.1).",
"type": "string",
"format": "uri"
}
}
}
},
"required": ["station_id", "name", "lat", "lon"]
}
}
},
"required": ["stations"]
}
},
"required": ["last_updated", "ttl", "version", "data"]
}