{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/csu-gov-cz/json-schema/csu-gov-cz-varianta-dimenze-schema.json",
  "title": "VariantaDimenze",
  "description": "Varianta dimenze v seznamu všech použitelných variant dimenzí.",
  "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/VariantaDimenze",
  "required": [
    "kod",
    "nazev",
    "stav",
    "typDimenzeKod",
    "verze"
  ],
  "type": "object",
  "properties": {
    "kod": {
      "type": "string"
    },
    "verze": {
      "pattern": "^([0-9])*(?:\\.([0-9])*)*$",
      "type": "string",
      "description": "Číslo verze entity katalogu (sada, výběr, dimenze, ukazatel)"
    },
    "typDimenzeKod": {
      "type": "string",
      "description": "typ dimenze (TEP)"
    },
    "stav": {
      "type": "string",
      "enum": [
        "ROZPRACOVANO",
        "FINALIZOVANO"
      ]
    },
    "nazev": {
      "type": "string",
      "description": "Název pro zobrazení (ve zvoleném jazyce)"
    },
    "toolTip": {
      "type": "string",
      "description": "Tooltip - pro zobrazení (ve zvoleném jazyce)"
    },
    "interniKomentar": {
      "type": "string",
      "description": "Interní komentář - vrací se pouze v interním prostředí"
    },
    "urovneHierarchie": {
      "type": "array",
      "description": "Výčet kódů úrovní dimenze v hierarchickém čísleníku",
      "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"
      }
    },
    "pouziteCiselnikyKody": {
      "type": "array",
      "description": "Seznam kódů použitých číselníků (unikátní kódy dle položek)",
      "items": {
        "type": "string",
        "description": "Seznam kódů použitých číselníků (unikátní kódy dle položek)"
      }
    },
    "specialniPolozky": {
      "type": "array",
      "description": "Speciální položky varianty dimenze z hlediska zobrazení hodnot: položky s definicí formátování hodnot  a agregační položka.",
      "items": {
        "$ref": "#/$defs/PolozkaVariantyDimenze"
      }
    },
    "skalaPolozek": {
      "type": "string",
      "enum": [
        "ORDINALNI",
        "KALENDARNI_DNY",
        "KALENDARNI_MESICE",
        "KALENDARNI_ROKY"
      ]
    },
    "vlastnik": {
      "$ref": "#/$defs/Osoba"
    },
    "casZmenyDefinice": {
      "type": "string",
      "description": "Čas poslední změny definice",
      "format": "date-time"
    },
    "poradi": {
      "type": "integer",
      "description": "Pořadí dimenze v sadě, pokud je nastaveno. Uvedeno pouze u seznamu dimenzí v rámci sady.",
      "format": "int32"
    },
    "vychoziVariantaDimenze": {
      "type": "boolean",
      "description": "Pro variantu dimenze v rámci sady - Výchozí varianta dimenze pro data z celé sady."
    },
    "skrytaVariantaDimenze": {
      "type": "boolean",
      "description": "Pro variantu dimenze v rámci sady - Skrytá varianta dimenze pro uživatele."
    },
    "dalsiVerze": {
      "type": "array",
      "description": "Pro variantu dimenze v rámci sady - další existující verze dimenze",
      "items": {
        "$ref": "#/$defs/DalsiVerze"
      }
    }
  },
  "$defs": {
    "AtributHodnota": {
      "required": [
        "akronym",
        "hodnota"
      ],
      "type": "object",
      "properties": {
        "akronym": {
          "type": "string",
          "description": "kód atributu"
        },
        "hodnota": {
          "type": "string"
        }
      },
      "description": "Hodnota atributu bez popisných údajů"
    },
    "DalsiVerze": {
      "required": [
        "stav",
        "verze"
      ],
      "type": "object",
      "properties": {
        "verze": {
          "pattern": "^([0-9])*(?:\\.([0-9])*)*$",
          "type": "string",
          "description": "Číslo verze entity katalogu (sada, výběr, dimenze, ukazatel)"
        },
        "stav": {
          "type": "string",
          "enum": [
            "ROZPRACOVANO",
            "FINALIZOVANO"
          ]
        },
        "nazev": {
          "type": "string",
          "description": "Název pro zobrazení (ve zvoleném jazyce)"
        }
      },
      "description": "Další existující verze ukazatele nebo varianty dimenze."
    },
    "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ů"
    },
    "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)"
    },
    "PolozkaVariantyDimenze": {
      "required": [
        "kod"
      ],
      "type": "object",
      "properties": {
        "identifikator": {
          "type": "integer",
          "description": "Interní identifikátor položky dimenze. Používá se v tabulce s údaji datové sady a vyhledávání hodnot.",
          "format": "int32"
        },
        "nadrazenaPolozkaId": {
          "type": "integer",
          "description": "Identifikátor nadřazené položky v hierarchickém číselníku",
          "format": "int32"
        },
        "nadrazenaPolozkaKod": {
          "type": "string",
          "description": "Kód nadřazené položky v hierarchickém číselníku"
        },
        "nadrazenaPolozka": {
          "$ref": "#/$defs/PolozkaVariantyDimenze"
        },
        "kod": {
          "type": "string",
          "description": "Unikátní kód položky dimenze v rámci varianty dimenze, odvozený od \"kodPolozkyCiselniku\", pokud je importováno. Standardně je totožný, pokud splňuje podmínku unikátnosti."
        },
        "nazev": {
          "type": "string",
          "description": "Název položky v aktuálně požadovaném jazyce"
        },
        "lokalizovanyNazev": {
          "type": "array",
          "description": "Vícejazyčný text s kompletním uvedením zdroje textu",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextAdmPolozka"
          }
        },
        "zkracenyNazev": {
          "type": "string",
          "description": "Zkrácený název položky v aktuálně požadovaném jazyce"
        },
        "zkracenyLokalizovanyNazev": {
          "type": "array",
          "description": "Vícejazyčný text s kompletním uvedením zdroje textu",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextAdmPolozka"
          }
        },
        "alternativniNazev": {
          "type": "string",
          "description": "Alternativní název položky v aktuálně požadovaném jazyce"
        },
        "alternativniLokalizovanyNazev": {
          "type": "array",
          "description": "Vícejazyčný text s kompletním uvedením zdroje textu",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextAdmPolozka"
          }
        },
        "definice": {
          "type": "string",
          "description": "Definice položky v aktuálně požadovaném jazyce"
        },
        "lokalizovanaDefinice": {
          "type": "array",
          "description": "Vícejazyčný text s kompletním uvedením zdroje textu",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextAdmPolozka"
          }
        },
        "poznamka": {
          "type": "string",
          "description": "Poznámka v aktuálně požadovaném jazyce"
        },
        "lokalizovanaPoznamka": {
          "type": "array",
          "description": "Vícejazyčný text s kompletním uvedením zdroje textu",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextAdmPolozka"
          }
        },
        "rozsirenyNazev": {
          "type": "string",
          "description": "Název hiearchické položky, který nezávisle na úrovni plně identifikuje položku. Může být uveden u hiearchické položky."
        },
        "rozsirenyLokalizovanyNazev": {
          "type": "array",
          "description": "Vícejazyčný text s kompletním uvedením zdroje textu",
          "items": {
            "$ref": "#/$defs/LokalizovanyTextAdmPolozka"
          }
        },
        "souvisejiciLokalizovaneOdkazy": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/LokalizovanyOdkazPolozka"
            }
          }
        },
        "kodUrovne": {
          "type": "string",
          "description": "Kód úrovně hierarchie - pouze u hierarchických číselníků a u typu dimenze s povinnou definicí úrovně  (čas, území)."
        },
        "agregacniPolozka": {
          "type": "boolean",
          "description": "Položka představuje agregaci hodnot pro variantu dimenze, nebo pro danou úroveň varianty dimenze. U nepovinných dimenzí ukazatele speciální položka s kódem \"0\"."
        },
        "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"
        },
        "kodPolozkyCiselniku": {
          "type": "string",
          "description": "Kód položky z původního číselníku"
        },
        "poradi": {
          "minimum": 0,
          "type": "integer",
          "description": "Specifické výchozí pořadí položky, pokud je evidováno",
          "format": "int32"
        },
        "formatZobrazeniHodnoty": {
          "$ref": "#/$defs/UkazatelFormat"
        },
        "lokalizovanyFormatZobrazeniHodnoty": {
          "$ref": "#/$defs/UkazatelLokalizovanyFormat"
        },
        "pocetDesetinnychMist": {
          "minimum": 0,
          "type": "integer",
          "description": "Počet desetinných míst, na které je zaokrouhlena výstupní hodnota. Použije se přednostně před definicí v ukazateli    ",
          "format": "int32"
        },
        "casOd": {
          "type": "string",
          "description": "Položka dimenze reprezentuje časovou dimenzi s časem platnosti OD - pouze pro časové dimenze",
          "format": "date-time"
        },
        "casDo": {
          "type": "string",
          "description": "Položka dimenze reprezentuje časovou dimenzi s časem platnosti DO - pouze pro časové dimenze",
          "format": "date-time"
        },
        "sdmx": {
          "$ref": "#/$defs/PolozkaVariantyDimenzeSDMX"
        },
        "atributy": {
          "type": "array",
          "description": "Hodnoty požadovaných atributů pro seznam. Vrací se jen pokud je požadováno. ",
          "items": {
            "$ref": "#/$defs/AtributHodnota"
          }
        }
      },
      "description": "Položka varianty dimenze. Podle vstupního parametru \"detail\" metody se vrátí tyto položky (pokud jsou vyplněny):  detail=STD (výchozí standardní) - identifikator, nadrazenaPolozkaId, kod, nazev, rozsirenyNazev, kodUrovne, agregacniPolozka, poradi (vše pro aktuální jazyk). detail=STD a vicejazycne=true (všechny lokalizované varianty) - identifikator, nadrazenaPolozkaId, kod, lokalizovanyNazev, rozsirenyLokalizovanyNazev, kodUrovne, agregacniPolozka, poradi (texty pro všechny jazyky bez údajů o zdroji dat) detail=ADMIN (všechny lokalizované varianty a údaje o zdroji dat) - identifikator, nadrazenaPolozka (údaje o první nadřazené položce ve variantě STD), kod, lokalizovanyNazev, rozsirenyLokalizovanyNazev, souvisejiciLokalizovaneOdkazy, kodUrovne, agregacniPolozka, zdroj, typCiselniku, kodCiselniku, kodPolozkyCiselniku, poradi (texty pro všechny jazyky s údaji o zdroji dat). "
    },
    "PolozkaVariantyDimenzeSDMX": {
      "required": [
        "kod"
      ],
      "type": "object",
      "properties": {
        "kod": {
          "type": "string",
          "description": "Mapovaný výstupní kód SDMX"
        },
        "zdrojovyAtribut": {
          "type": "string",
          "description": "Zdrojový atribut kódu SDMX"
        }
      },
      "description": "kód položky číselníku pro export SDMX - naplněný dle definice ve variantě dimenze."
    },
    "UkazatelFormat": {
      "required": [
        "typ"
      ],
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "description": "Indicator datatype.",
          "enum": [
            "DECIMAL",
            "INTEGER",
            "STRING"
          ]
        },
        "sablona": {
          "type": "string",
          "description": "Šablona zobrazení. Pro zobrazení je použit formát kompatibilní se standardním formátováním Java. V prohlížeči lze použít např. tuto implementaci: https://github.com/Mottie/javascript-number-formatter "
        },
        "zarovnani": {
          "type": "string",
          "description": "způsob zarovnání",
          "enum": [
            "VLEVO",
            "VPRAVO",
            "STRED"
          ]
        }
      },
      "description": "Formát zobrazení hodnoty ukazatele"
    },
    "UkazatelLokalizovanyFormat": {
      "required": [
        "typ"
      ],
      "type": "object",
      "properties": {
        "typ": {
          "type": "string",
          "description": "Datový typ hodnoty ukazatele",
          "enum": [
            "DECIMAL",
            "INTEGER",
            "STRING"
          ]
        },
        "nastaveniFormatu": {
          "type": "array",
          "description": "Nastavení zobrazení hodnoty ukazatele pro různé jazyky",
          "items": {
            "$ref": "#/$defs/UkazatelLokalizovanyFormatPolozka"
          }
        }
      },
      "description": "Formát zobrazení hodnoty ukazatele s variantami lokalizace pro různé jazyky"
    },
    "UkazatelLokalizovanyFormatPolozka": {
      "required": [
        "jazyk"
      ],
      "type": "object",
      "properties": {
        "jazyk": {
          "type": "string",
          "description": "Jazyk",
          "enum": [
            "cs",
            "en"
          ]
        },
        "sablona": {
          "type": "string",
          "description": "Šablona zobrazení. Pro zobrazení je použit formát kompatibilní se standardním formátováním Java. V prohlížeči lze použít např. tuto implementaci: https://github.com/Mottie/javascript-number-formatter "
        },
        "zarovnani": {
          "type": "string",
          "description": "Formát zarovnání v buňce",
          "enum": [
            "VLEVO",
            "VPRAVO",
            "STRED"
          ]
        }
      },
      "description": "format settings"
    },
    "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."
    }
  }
}