Bird · Schema

Bird Geofencing Zone

A single feature in Bird's GBFS geofencing_zones FeatureCollection, describing a polygon where ride, ride-through, parking, or speed-cap rules apply.

MicromobilityShared MobilityElectric ScootersE-ScootersE-BikesBikeshareTransportationUrban MobilityGBFSGeneral Bikeshare Feed SpecificationMobility Data SpecificationMDSGeofencingCitiesSmart CitiesFleet ManagementThird Lane Mobility

Properties

Name Type Description
type string
geometry object GeoJSON geometry; typically a Polygon or MultiPolygon defining the zone boundary.
properties object
View JSON Schema on GitHub

JSON Schema

bird-geofencing-zone-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/bird-rides/refs/heads/main/json-schema/bird-geofencing-zone-schema.json",
  "title": "Bird Geofencing Zone",
  "description": "A single feature in Bird's GBFS geofencing_zones FeatureCollection, describing a polygon where ride, ride-through, parking, or speed-cap rules apply.",
  "type": "object",
  "required": ["type", "geometry"],
  "properties": {
    "type": {
      "type": "string",
      "const": "Feature"
    },
    "geometry": {
      "type": "object",
      "description": "GeoJSON geometry; typically a Polygon or MultiPolygon defining the zone boundary.",
      "properties": {
        "type": {
          "type": "string",
          "enum": ["Polygon", "MultiPolygon"]
        },
        "coordinates": {
          "type": "array"
        }
      },
      "required": ["type", "coordinates"]
    },
    "properties": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Human-readable zone name (e.g. 'University no-park zone')."
        },
        "start": {
          "type": "integer",
          "description": "POSIX timestamp at which the zone becomes active."
        },
        "end": {
          "type": "integer",
          "description": "POSIX timestamp at which the zone expires; null/absent for permanent zones."
        },
        "rules": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "vehicle_type_id": {
                "type": "array",
                "items": { "type": "string" },
                "description": "Vehicle types to which this rule applies. Omit/empty means all types."
              },
              "ride_allowed": {
                "type": "boolean",
                "description": "Whether a rider may start or be inside an active ride within the zone."
              },
              "ride_through_allowed": {
                "type": "boolean",
                "description": "Whether riders may pass through the zone without stopping."
              },
              "maximum_speed_kph": {
                "type": "number",
                "minimum": 0,
                "description": "Maximum speed cap enforced by the vehicle inside the zone."
              }
            }
          }
        }
      }
    }
  },
  "additionalProperties": true
}