Place entity presents information about certain places. It could a bus stop, a train station, an access point, a group of places, a rack with shared bikes, etc.

Description

#1
required
object
Public transit stop, for example, train station, bus stop, etc
#2
required
object
Access point to other places, for example, entrance or exit
#3
required
object
Parking lot for cars, bikes, etc.
#4
required
object
Group of places, for example, the central station containing different places like stops, access points, parking lots.

Examples

#1

{
  "id": "01",
  "name": "Stop 01",
  "description": {
    "en": "Bus stop for interregional trips",
    "de-de": "Bushaltestelle für interregionale Reisen"
  },
  "loc": [
    13.404954,
    52.520008,
    34
  ],
  "stopType": "parent",
  "timezone": "Europe/Berlin",
  "features": [
    "wheelchair_access",
    "elevator",
    "upstairs_escalator"
  ],
  "accessPoints": [
    {
      "id": "01-ap01",
      "name": "West side entrance",
      "loc": [
        12.345678,
        87.654321
      ],
      "features": [
        "downstairs_escalator"
      ]
    }
  ],
  "childStops": [],
  "icon": "",
  "graphics": {
    "format": "geojson",
    "data": {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "coordinates": [
          [
            [
              13.368270255270005,
              52.52573885487206
            ],
            [
              13.36928032987069,
              52.52428739765102
            ],
            [
              13.369625881706838,
              52.52428335452754
            ],
            [
              13.369708947053311,
              52.524160039088116
            ],
            [
              13.37039340549967,
              52.524162060655414
            ],
            [
              13.370293727085027,
              52.52428335452754
            ],
            [
              13.370635956307524,
              52.52427931140406
            ],
            [
              13.369632526935476,
              52.52573885487206
            ],
            [
              13.36928032987069,
              52.52573885487206
            ],
            [
              13.369190619297001,
              52.525866208857366
            ],
            [
              13.368542709603389,
              52.52586823034653
            ],
            [
              13.36862577494847,
              52.525734811882614
            ],
            [
              13.368270255270005,
              52.52573885487206
            ]
          ]
        ],
        "type": "Polygon"
      }
    }
  }
}

#2

{
  "id": "02",
  "name": "Stop 02",
  "loc": [
    13.404954,
    52.520008,
    0
  ],
  "stopType": "parent",
  "timezone": "Europe/Berlin",
  "features": [
    "wheelchair_access",
    "elevator",
    "upstairs_escalator"
  ],
  "accessPoints": [
    {
      "id": "02-ap01",
      "name": "West side entrance",
      "loc": [
        12.345678,
        87.654321
      ],
      "features": {
        "exclude": [
          "upstairs_escalator"
        ],
        "include": [
          "downstairs_escalator"
        ]
      }
    }
  ],
  "childStops": [
    {
      "id": "02-child01",
      "name": "Platform 1",
      "description": "Has no features",
      "loc": {
        "lon": 12.345678,
        "lat": 87.654321
      },
      "features": []
    }
  ]
}

Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/vchezganov/cityvehiclespec/schema/place.json",
  "title": "Place",
  "oneOf": [
    {
      "description": "Public transit stop, for example, train station, bus stop, etc",
      "$ref": "place/transit_stop.json"
    },
    {
      "description": "Access point to other places, for example, entrance or exit",
      "$ref": "place/access_point.json"
    },
    {
      "description": "Parking lot for cars, bikes, etc.",
      "$ref": "place/parking_lot.json"
    },
    {
      "description": "Group of places, for example, the central station containing different places like stops, access points, parking lots.",
      "$ref": "place/place_group.json"
    }
  ]
}