{
  "$id": "https://namespace.lantmateriet.se/distribution/geodatakatalog/sokning/oversiktsplan/v1/oversiktsplan-ref-1.0.json",
  "$schema": "http://json-schema.org/draft/2020-12/schema",
  "title": "Översiktsplan Referens 1.0",
  "oneOf": [
    {
      "$ref": "#/$defs/oversiktsplan"
    },
    {
      "$ref": "#/$defs/omrade"
    },
    {
      "$ref": "#/$defs/information"
    }
  ],
  "$defs": {
    "oversiktsplan": {
      "type": "object",
      "properties": {
        "feature": {
          "$ref": "#/$defs/attributFeatureOversiktsplan"
        },
        "oversiktsplan": {
          "$ref": "#/$defs/attributOversiktsplan"
        }
      },
      "required": [
        "feature",
        "oversiktsplan"
      ]
    },
    "attributFeatureOversiktsplan": {
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "enum": [
            "översiktsplan"
          ]
        },
        "etikett": {
          "type": "string"
        }
      },
      "required": [
        "typ",
        "etikett"
      ],
      "additionalProperties": false
    },
    "attributOversiktsplan": {
      "type": "object",
      "properties": {
        "objektidentitet": {
          "type": "string",
          "format": "uuid"
        },
        "kommun": {
          "type": "string"
        },
        "kommunkod": {
          "type": "string"
        },
        "planensTitel": {
          "type": "string"
        },
        "status": {
          "$ref": "#/$defs/planstatus"
        },
        "datumPaborjat": {
          "type": "string",
          "format": "date"
        }
      },
      "required": [
        "objektidentitet",
        "kommun",
        "kommunkod",
        "status",
        "datumPaborjat"
      ],
      "additionalProperties": false
    },
    "omrade": {
      "type": "object",
      "properties": {
        "feature": {
          "$ref": "#/$defs/attributFeatureOmrade"
        },
        "oversiktsplan": {
          "$ref": "#/$defs/attributOversiktsplan"
        },
        "omrade": {
          "$ref": "#/$defs/attributOmrade"
        }
      },
      "required": [
        "feature",
        "oversiktsplan",
        "omrade"
      ]
    },
    "attributFeatureOmrade": {
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "enum": [
            "område"
          ]
        },
        "etikett": {
          "type": "string"
        }
      },
      "required": [
        "typ",
        "etikett"
      ],
      "additionalProperties": false
    },
    "attributOmrade": {
      "type": "object",
      "properties": {
        "objektidentitet": {
          "type": "string",
          "format": "uuid"
        },
        "namn": {
          "type": "string"
        }
      },
      "required": [
        "objektidentitet"
      ],
      "unevaluatedProperties": false
    },
    "information": {
      "type": "object",
      "properties": {
        "feature": {
          "$ref": "#/$defs/attributFeatureInformation"
        },
        "oversiktsplan": {
          "$ref": "#/$defs/attributOversiktsplan"
        },
        "information": {
          "$ref": "#/$defs/attributInformation"
        }
      },
      "required": [
        "feature",
        "oversiktsplan",
        "information"
      ]
    },
    "attributFeatureInformation": {
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "enum": [
            "utvecklingsinriktning",
            "mark- och vattenanvändning",
            "lis",
            "kommunöverskridande intresse",
            "klimatrelateradRisk risk",
            "mål/plan/program",
            "bostadsförsörjning",
            "konsekvens",
            "avvikelse från regionplan",
            "förhållande av väsentlig betydelse"
          ]
        },
        "etikett": {
          "type": "string"
        }
      },
      "required": [
        "typ",
        "etikett"
      ],
      "additionalProperties": false
    },
    "attributInformation": {
      "type": "object",
      "properties": {
        "omrade": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "format": "uuid"
          }
        },
        "utvecklingsinriktningstyp": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/opKatalogen"
          }
        },
        "precisering": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        },
        "anvandningstyp": {
          "$ref": "#/$defs/opKatalogen"
        },
        "anvandningsstatus": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/opKatalogen"
          }
        },
        "forhallandetyp": {
          "$ref": "#/$defs/opKatalogen"
        }
      },
      "additionalProperties": false
    },
    "opKatalogen": {
      "type": "object",
      "properties": {
        "varde": {
          "type": "string"
        },
        "opKatalogreferens": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    },
    "planstatus": {
      "type": "string",
      "enum": [
        "ersatt av ny plan",
        "samråd",
        "granskning",
        "antagen",
        "överklagad",
        "laga kraft"
      ]
    }
  }
}