{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/RunwayContract",
  "title": "RunwayContract",
  "required": [
    "isClosed",
    "name",
    "surface",
    "trueHdg"
  ],
  "type": "object",
  "properties": {
    "name": {
      "minLength": 1,
      "type": "string",
      "description": "Name of the runway. E.g.: 27L, 06, 36C, etc."
    },
    "trueHdg": {
      "type": "number",
      "description": "True heading of the runway in degrees",
      "format": "double"
    },
    "length": {
      "$ref": "#/components/schemas/Distance"
    },
    "width": {
      "$ref": "#/components/schemas/Distance"
    },
    "isClosed": {
      "type": "boolean",
      "description": "Marker, if runway is closed"
    },
    "location": {
      "$ref": "#/components/schemas/GeoCoordinatesContract"
    },
    "surface": {
      "$ref": "#/components/schemas/SurfaceType"
    },
    "displacedThreshold": {
      "$ref": "#/components/schemas/Distance"
    },
    "hasLighting": {
      "type": "boolean",
      "description": "Does runway has lights",
      "nullable": true
    }
  },
  "additionalProperties": false,
  "description": "Single runway data"
}