{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/csu-gov-cz/json-schema/csu-gov-cz-varianta-dimenze-detail-schema.json",
  "title": "VariantaDimenzeDetail",
  "description": "Podrobné informace o variantě dimenze včetně poznámek a atributů",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/csu-gov-cz-datastat-catalog-openapi.yml#/components/schemas/VariantaDimenzeDetail",
  "required": [
    "kod",
    "stav",
    "typDimenzeKod",
    "verze"
  ],
  "type": "object",
  "properties": {
    "kod": {
      "type": "string",
      "description": "Kód"
    },
    "verze": {
      "pattern": "^([0-9])*(?:\\.([0-9])*)*$",
      "type": "string",
      "description": "Číslo verze entity katalogu (sada, výběr, dimenze, ukazatel)"
    },
    "nazev": {
      "type": "string",
      "description": "Název pro zobrazení (ve zvoleném jazyce)"
    },
    "toolTip": {
      "type": "string",
      "description": "Tooltip - pro zobrazení (ve zvoleném jazyce)"
    },
    "typDimenzeKod": {
      "type": "string",
      "description": "Kód typu dimenze. (Odvozeno z primárního TEP)"
    },
    "stav": {
      "type": "string",
      "description": "stav přípravy varianty dimenze",
      "enum": [
        "ROZPRACOVANO",
        "FINALIZOVANO"
      ]
    },
    "popisy": {
      "$ref": "#/$defs/Popisy"
    },
    "lokalizovanePopisy": {
      "$ref": "#/$defs/LokalizovanePopisy"
    },
    "atributy": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Atribut"
      }
    },
    "urovneHierarchie": {
      "type": "array",
      "description": "Výčet kódů úrovní herarchické dimenze",
      "items": {
        "$ref": "#/$defs/UrovenHierarchieDimenzeSouhrn"
      }
    },
    "urovneDimenze": {
      "type": "array",
      "description": "Výčet kódů úrovní položek dimenze v plochém i hierarchickém číselníku podle typu použité úrovně. ",
      "items": {
        "$ref": "#/$defs/UrovenHierarchieDimenzeSouhrn"
      }
    },
    "pouziteCiselniky": {
      "type": "array",
      "description": "Seznam kódů použitých číselníků (unikátní kódy dle položek)",
      "items": {
        "$ref": "#/$defs/ZdrojovyCiselnik"
      }
    },
    "skalaPolozek": {
      "type": "string",
      "enum": [
        "ORDINALNI",
        "KALENDARNI_DNY",
        "KALENDARNI_MESICE",
        "KALENDARNI_ROKY"
      ]
    },
    "mapovaniSDMX": {
      "$ref": "#/$defs/VariantaDimenzeSDMX"
    },
    "subjekty": {
      "$ref": "#/$defs/Subjekty"
    },
    "casZmenyDefinice": {
      "type": "string",
      "description": "Čas poslední změny definice",
      "format": "date-time"
    },
    "specifickaOpravneni": {
      "$ref": "#/$defs/VariantaDimenzeSpecifickaOpravneni"
    }
  },
  "$defs": {
    "Atribut": {
      "required": [
        "akronym",
        "hodnota"
      ],
      "type": "object",
      "properties": {
        "akronym": {
          "type": "string",
          "description": "kód atributu"
        },
        "nazev": {
          "type": "string",
          "description": "Název atributu v aktuálně požadovaném jazyce (cs/en)"
        },
        "lokalizovanyNazev": {
          "type": "array",
          "description": "Vícejazyčný text s kompletním uvedením zdroje textu",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextAdmPolozka"
          }
        },
        "hodnota": {
          "type": "string"
        },
        "mernaJednotka": {
          "type": "string"
        },
        "zdroj": {
          "type": "string",
          "description": "Kód zdrojového systému  (např. SMS, SMS_TEXT)"
        },
        "zdrojKod": {
          "type": "string",
          "description": "kód ve zdrojovém systému"
        }
      },
      "description": "Hodnota atributu s popisnými údaji"
    },
    "LokalizovanePopisy": {
      "required": [
        "nazev"
      ],
      "type": "object",
      "properties": {
        "nazev": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "zkracenyNazev": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "alternativniNazev": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "popis": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "poznamka": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "toolTip": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "definice": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "interniKomentar": {
          "type": "string"
        },
        "klicovaSlova": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/LokalizovanyTextPolozka"
            }
          }
        },
        "souvisejiciOdkazy": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/LokalizovanyOdkazPolozka"
            }
          }
        }
      },
      "description": "Popisy ve všech jazykových mutacích (cs/en)"
    },
    "LokalizovanyOdkazPolozka": {
      "required": [
        "jazyk",
        "uri"
      ],
      "type": "object",
      "properties": {
        "jazyk": {
          "type": "string",
          "description": "jazyk odkazované strany",
          "enum": [
            "cs",
            "en"
          ]
        },
        "text": {
          "type": "string"
        },
        "uri": {
          "type": "string",
          "description": "URI odkazované strany"
        },
        "zdroj": {
          "type": "string",
          "description": "Zdroj odkazu (systémový nebo specifický).",
          "enum": [
            "SYSTEMOVY",
            "SPECIFICKY"
          ]
        }
      },
      "description": "Varianta vícejazyčného odkazu"
    },
    "LokalizovanyTextAdmPolozka": {
      "required": [
        "jazyk",
        "text"
      ],
      "type": "object",
      "properties": {
        "jazyk": {
          "type": "string",
          "enum": [
            "cs",
            "en"
          ]
        },
        "text": {
          "type": "string"
        },
        "zdroj": {
          "type": "string",
          "description": "Zdroj textu (vlastní text systému UDV nebo přejatý text z jiného systému)",
          "enum": [
            "UDV",
            "SMS",
            "SMS_TEXT",
            "SMS_ZKRTEXT"
          ]
        },
        "zdrojTypTextu": {
          "type": "string",
          "description": "Kód typu textu použitý jako zdroj"
        },
        "platnostOd": {
          "type": "string",
          "description": "Čas platnosti převzetí textu ze zdrojového systému.",
          "format": "date-time"
        }
      },
      "description": "Varianta vícejazyčného textu s kompletním uvedením zdroje textu."
    },
    "LokalizovanyTextPolozka": {
      "required": [
        "jazyk",
        "text"
      ],
      "type": "object",
      "properties": {
        "jazyk": {
          "type": "string",
          "description": "Kód jazyka dle ISO (dvoupísmenný)",
          "enum": [
            "cs",
            "en"
          ]
        },
        "text": {
          "type": "string",
          "description": "Text v jazyce."
        }
      },
      "description": "Varianta vícejazyčného textu v jednom z jazyků"
    },
    "OdkazDto": {
      "required": [
        "uri"
      ],
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "uri": {
          "type": "string",
          "description": "URI odkazované strany"
        },
        "zdroj": {
          "type": "string",
          "description": "Zdroj odkazu (systémový nebo specifický).",
          "enum": [
            "SYSTEMOVY",
            "SPECIFICKY"
          ]
        }
      }
    },
    "Osoba": {
      "required": [
        "login"
      ],
      "type": "object",
      "properties": {
        "login": {
          "type": "string"
        },
        "plneJmeno": {
          "type": "string"
        },
        "eMail": {
          "type": "string"
        },
        "nazevOrganizace": {
          "type": "string"
        }
      },
      "description": "Atributy osoby působící v nějaké roli k entitě katalogu (vlastník, kontakt)"
    },
    "Popisy": {
      "required": [
        "nazev"
      ],
      "type": "object",
      "properties": {
        "nazev": {
          "type": "string"
        },
        "zkracenyNazev": {
          "type": "string"
        },
        "alternativniNazev": {
          "type": "string"
        },
        "popis": {
          "type": "string"
        },
        "poznamka": {
          "type": "string"
        },
        "toolTip": {
          "type": "string"
        },
        "interniKomentar": {
          "type": "string"
        },
        "klicovaSlova": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "souvisejiciOdkazy": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/OdkazDto"
          }
        }
      },
      "description": "Popisy v aktuálně požadované lokalizaci (cs/en)"
    },
    "Subjekty": {
      "required": [
        "vlastnik"
      ],
      "type": "object",
      "properties": {
        "vlastnik": {
          "$ref": "#/$defs/Osoba"
        },
        "kontakt": {
          "$ref": "#/$defs/Osoba"
        },
        "skupinaSpravcu": {
          "type": "string"
        },
        "skupinaZobrazeni": {
          "type": "string"
        }
      },
      "description": "Osoby a skupiny spravující a přistupující k datům "
    },
    "UrovenHierarchieDimenzeSouhrn": {
      "required": [
        "kodUrovne"
      ],
      "type": "object",
      "properties": {
        "kodUrovne": {
          "type": "string",
          "description": "Kód úrobně herarchie"
        },
        "nazevUrovne": {
          "type": "string",
          "description": "Unikátní kód položky katalogu v rámci typu položky v požadovaném jazyce"
        },
        "lokalizovanyNazevUrovne": {
          "type": "array",
          "description": "Vícejazyčný text",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextPolozka"
          }
        },
        "poradiUrovne": {
          "type": "integer",
          "description": "Pořadí úrovně (od nejvyšší v rámci typu dimenze).",
          "format": "int32"
        },
        "pocetPolozek": {
          "minimum": 0,
          "type": "integer",
          "description": "Počet položek dané úrovně u varianty dimenze.",
          "format": "int32"
        },
        "kodSystemoveDimenze": {
          "type": "string",
          "description": "Uvedeno pouze pro úrovně systémové diemenze (např. čas)"
        }
      },
      "description": "Popis úrovně hierarchie dimenze - pro zobrazení výčtu a parametrů úrovní pro detail dimenze nebo ve výběru."
    },
    "VariantaDimenzeSDMX": {
      "required": [
        "kodSDMX"
      ],
      "type": "object",
      "properties": {
        "kodSDMX": {
          "type": "string",
          "description": "Výchozí kód SDMX podle Dimension[ID] v DimensionList DSD souboru."
        }
      },
      "description": "Parametry SDMX pro variantu dimenze"
    },
    "VariantaDimenzeSpecifickaOpravneni": {
      "type": "object",
      "properties": {
        "pridatPolozkyFinalizovaneDimenze": {
          "$ref": "#/$defs/VariantaDimenzeSpecifickaOpravneniPridat"
        }
      },
      "description": "Specifická oprávnění pro modifikaci nebo používání dimenze."
    },
    "VariantaDimenzeSpecifickaOpravneniPridat": {
      "required": [
        "povolit"
      ],
      "type": "object",
      "properties": {
        "povolit": {
          "type": "boolean",
          "description": "Povolit přidávat položky do finalizované dimenze"
        },
        "kodyUrovne": {
          "type": "array",
          "description": "Povolené úrovně položek, lze použít i systémovou úroveň \"#DEFAULT\"",
          "items": {
            "type": "string",
            "description": "Povolené úrovně položek, lze použít i systémovou úroveň \"#DEFAULT\""
          }
        }
      },
      "description": "Oprávnění pro dodatečné přidávání položek do dimenze."
    },
    "ZdrojovyCiselnik": {
      "required": [
        "kodCiselniku",
        "typCiselniku",
        "zdroj"
      ],
      "type": "object",
      "properties": {
        "zdroj": {
          "type": "string",
          "description": "Zdrojový systém (SMS, UDV)"
        },
        "typCiselniku": {
          "type": "string",
          "description": "Typ zdrojového číselníku - TEP"
        },
        "kodCiselniku": {
          "type": "string",
          "description": "Kód zdrojového číselníku"
        },
        "pocetPouzitychPolozek": {
          "type": "integer",
          "description": "Počet položek z daného číselníku použitých ve variantě dimenze",
          "format": "int32"
        }
      },
      "description": "Obsahuje definici typu číselníku(TEP)/konkrétního číselníku,  který je použit ve variantě dimenze (alespoň jedna položka z tohoto číselníku)."
    }
  }
}