All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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"]
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy