{
  "$id": "https://namespace.lantmateriet.se/distribution/geodatakatalog/sokning/oversiktsplan/v2/oversiktsplan-ref-2.0.json",
  "$schema": "http://json-schema.org/draft/2020-12/schema",
  "title": "Översiktsplan Referens 2.0",
  "oneOf": [
    {
      "$ref": "#/$defs/oversiktsplan"
    },
    {
      "$ref": "#/$defs/beslutOP"
    },
    {
      "$ref": "#/$defs/innehallOP"
    }
  ],
  "$defs": {
    "oversiktsplan": {
      "type": "object",
      "properties": {
        "feature": {
          "$ref": "#/$defs/attributFeatureOversiktsplan"
        },
        "oversiktsplan": {
          "$ref": "#/$defs/attributOversiktsplan"
        }
      },
      "required": [
        "feature",
        "oversiktsplan"
      ]
    },
    "attributFeatureOversiktsplan": {
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "enum": [
            "oversiktsplan"
          ]
        },
        "etikett": {
          "type": "string"
        }
      },
      "required": [
        "typ",
        "etikett"
      ],
      "additionalProperties": false
    },
    "attributOversiktsplan": {
      "type": "object",
      "properties": {
        "objektidentitet": {
          "type": "string",
          "format": "uuid"
        },
        "beslut": {
          "type": "string",
          "format": "uuid"
        },
        "kommunkod": {
          "type": "string"
        },
        "kommunnamn": {
          "type": "string"
        },
        "planhandelse": {
          "$ref": "#/$defs/opKatalogen"
        },
        "underlag_producentensIdentitet": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        },
        "dokument_producentensIdentitet": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        },
        "datumPlanhandelse": {
          "type": "string",
          "format": "date"
        },
        "digitaltUrsprung": {
          "type": "boolean"
        }
      },
      "required": [
        "objektidentitet",
        "kommunkod",
        "kommunnamn",
        "planhandelse",
        "datumPlanhandelse",
        "digitaltUrsprung"
      ],
      "additionalProperties": false
    },
    "beslutOP": {
      "type": "object",
      "properties": {
        "feature": {
          "$ref": "#/$defs/attributFeatureBeslutOP"
        },
        "beslutOP": {
          "$ref": "#/$defs/attributBeslutOP"
        }
      },
      "required": [
        "feature",
        "beslutOP"
      ]
    },
    "attributFeatureBeslutOP": {
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "enum": [
            "beslutOP"
          ]
        },
        "etikett": {
          "type": "string"
        }
      },
      "required": [
        "typ",
        "etikett"
      ],
      "additionalProperties": false
    },
    "attributBeslutOP": {
      "type": "object",
      "properties": {
        "objektidentitet": {
          "type": "string",
          "format": "uuid"
        },
        "beslutandeOrganisation": {
          "$ref": "#/$defs/organisation"
        },
        "handelse": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/beslutshandelse"
          }
        },
        "paverkar": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/paverkarObjekt"
          }
        },
        "beslutsdokument_producentensIdentitet": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        },
        "underlagsmaterial_producentensIdentitet": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "objektidentitet",
        "beslutandeOrganisation",
        "handelse"
      ],
      "unevaluatedProperties": false
    },
    "innehallOP": {
      "type": "object",
      "properties": {
        "feature": {
          "$ref": "#/$defs/attributFeatureInnehallOP"
        },
        "innehallOP": {
          "$ref": "#/$defs/attributInnehallOP"
        }
      },
      "required": [
        "feature",
        "innehallOP"
      ]
    },
    "attributFeatureInnehallOP": {
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "enum": [
            "innehallOP"
          ]
        },
        "etikett": {
          "type": "string"
        }
      },
      "required": [
        "typ",
        "etikett"
      ],
      "additionalProperties": false
    },
    "attributInnehallOP": {
      "type": "object",
      "properties": {
        "objektidentitet": {
          "type": "string",
          "format": "uuid"
        },
        "beslut": {
          "type": "string",
          "format": "uuid"
        },
        "innehallstyp": {
          "$ref": "#/$defs/opKatalogen"
        },
        "kompletterandeInnehallstyp": {
          "$ref": "#/$defs/opKatalogen"
        },
        "planhandelse": {
          "$ref": "#/$defs/opKatalogen"
        },
        "datumPlanhandelse": {
          "type": "string",
          "format": "date"
        },
        "berorAnnatInnehall": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "format": "uuid"
          }
        },
        "externReferens_producentensIdentitet": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        },
        "dokument_producentensIdentitet": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "objektidentitet",
        "innehallstyp",
        "planhandelse",
        "datumPlanhandelse"
      ],
      "additionalProperties": false
    },
    "opKatalogen": {
      "type": "object",
      "properties": {
        "varde": {
          "type": "string"
        },
        "vardereferens": {
          "type": "string",
          "format": "uuid"
        },
        "grupp": {
          "type": "string"
        },
        "gruppreferens": {
          "type": "string",
          "format": "uuid"
        }
      },
      "required": [
        "varde",
        "vardereferens"
      ],
      "additionalProperties": false
    },
    "organisation": {
      "type": "object",
      "properties": {
        "organisationsnamn": {
          "type": "string"
        },
        "organisationsnummer": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "paverkarObjekt": {
      "type": "object",
      "properties": {
        "identitet": {
          "type": "string",
          "format": "uuid"
        },
        "objekttyp": {
          "type": "string"
        }
      },
      "required": [
        "identitet"
      ],
      "additionalProperties": false
    },
    "beslutshandelse": {
      "type": "object",
      "properties": {
        "handelsetyp": {
          "type": "string"
        },
        "datum": {
          "type": "string",
          "format": "date"
        }
      },
      "required": [
        "handelsetyp",
        "datum"
      ],
      "additionalProperties": false
    }
  }
}