{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://smart-data-models.github.io/dataModel.GBFS/station_status/schema.json", "description": "Describes the capacity and rental availability of the station According to the Standard GBFS 2.2", "modelTags": "GBFS", "derivedFrom": "https://github.com/NABSA/gbfs/blob/v2.2/gbfs.md", "type": "object", "$schemaVersion": "0.0.1", "title": "Smart Data Models adaptation of GBFS standard data model station_status", "properties": { "id": { "$ref": "https://github.com/smart-data-models/data-models/raw/master/common-schema.json#/definitions/EntityIdentifierType" }, "type": { "type": "string", "description": "Property. NGSI entity type. It has to be station_status", "enum": [ "station_status" ] }, "last_updated": { "description": "Property. Last time the data in the feed was updated in POSIX time.", "type": "integer", "minimum": 1450155600 }, "ttl": { "description": "Property. 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": "Property. GBFS version number to which the feed conforms, according to the versioning framework (added in v1.1).", "type": "string", "enum": [ "2.1-RC2", "2.1", "2.2", "3.0" ] }, "data": { "description": "Property. 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" }, "num_bikes_available": { "description": "Number of vehicles of any type physically available for rental at the station.", "type": "number", "minimum": 0 }, "vehicles_types_available": { "description": "Array of objects displaying the total number of each vehicle type at the station (added in v2.1-RC).", "type": "array", "items": { "type": "object", "properties": { "vehicle_type_id": { "description": "The vehicle_type_id of vehicle at the station (added in v2.1-RC).", "type": "string" }, "count": { "description": "A number representing the total amount of this vehicle type at the station (added in v2.1-RC).", "type": "number", "minimum": 0 } } } }, "num_bikes_disabled": { "description": "Number of disabled vehicles of any type at the station.", "type": "number", "minimum": 0 }, "num_docks_available": { "description": "Number of functional docks physically at the station.", "type": "number", "minimum": 0 }, "num_docks_disabled": { "description": "Number of empty but disabled docks at the station.", "type": "number", "minimum": 0 }, "is_installed": { "description": "Is the station currently on the street?", "type": "boolean" }, "is_renting": { "description": "Is the station currently renting vehicles?", "type": "boolean" }, "is_returning": { "description": "Is the station accepting vehicle returns?", "type": "boolean" }, "last_reported": { "description": "The last time this station reported its status to the operator's backend in POSIX time.", "type": "number", "minimum": 1450155600 }, "vehicle_docks_available": { "description": "Object displaying available docks by vehicle type (added in v2.1-RC).", "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 (added in v2.1-RC).", "type": "array", "items": { "type": "string" } }, "count": { "description": "A number representing the total number of available docks for the defined vehicle type (added in v2.1-RC).", "type": "number", "minimum": 0 } } }, "dependencies": { "vehicle_docks_available": [ "vehicle_type_ids", "count" ] } }, "vehicles": { "description": "Array of objects containing data about a specific vehicle that is present at the docking station (added in v2.1-RC).", "type": "array", "items": { "type": "object", "properties": { "bike_id": { "description": "Rotated identifier of a vehicle (added in v2.1-RC).", "type": "string" }, "is_reserved": { "description": "Is the vehicle currently reserved for someone else? (added in v2.1-RC)", "type": "boolean" }, "is_disabled": { "description": "Is the vehicle currently disabled (broken)? (added in v2.1-RC)", "type": "boolean" }, "vehicle_type_id": { "description": "The vehicle_type_id of this vehicle as described in vehicle_types.json (added in v2.1-RC).", "type": "string" }, "current_range_meters": { "description": "The furthest distance in meters that the vehicle can travel without recharging or refueling with the vehicle's current charge or fuel (added in v2.1-RC).", "type": "number", "minimum": 0 } } }, "required": [ "bike_id", "is_reserved", "is_disabled", "vehicle_type_id" ] } } }, "required": [ "station_id", "num_bikes_available", "is_installed", "is_renting", "is_returning", "last_reported" ] } }, "required": [ "stations" ] } }, "required": [ "data", "id", "last_updated", "ttl", "type", "version" ] }