{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://example.com/schemas/DRAFT_monitorovaci_vyhlaska_G_v4.json", "title": "Monitorovací vyhláška - Plyn (MV-G)", "description": "JSON schéma pro sběr dat dle monitorovací vyhlášky pro plyn. Verze 4.0 - sjednocené označení výkazů MV-G5 až MV-G8.", "version": "0.0", "definitions": { "dateFormat": { "type": "string", "pattern": "^(?:(?:31(.)(?:0?[13578]|1[02]))\\1|(?:(?:29|30)(.)(?:0?[13-9]|1[0-2])\\2))(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$|^(?:29(.)0?2\\3(?:(?:(?:1[6-9]|[2-9]\\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\\d|2[0-8])(.)(?:(?:0?[1-9])|(?:1[0-2]))\\4(?:(?:1[6-9]|[2-9]\\d)?\\d{2})$", "description": "Datový typ pro datum ve formátu dd.mm.yyyy", "examples": [ "1.1.2021", "01.01.2021" ] }, "anoNeEnum": { "type": "string", "enum": [ "ano", "ne" ], "description": "Standardní ano/ne hodnota" }, "typZakaznikaPlynEnum": { "type": "string", "enum": [ "maloodberatel", "domacnost" ], "description": "Kategorie zákazníka plynu podle vyhlášky" }, "typSmlouvyEnum": { "type": "string", "enum": [ "A", "B", "C", "E", "F", "D1", "D2", "D3" ], "description": "Typ smlouvy dle vyhlášky (A–F, případně D1/D2/D3)" }, "spotrebniPasmoPlynEnum": { "type": "string", "enum": [ "do 1,89", "od 1,89 do 5,55", "od 5,56 do 7,56", "od 7,57 do 15", "od 15,01 do 25", "od 25,01 do 45", "od 45,01 do 63", "nad 63" ], "description": "Spotřební pásma plynu dle vyhlášky [MWh/rok]" } }, "type": "object", "properties": { "typVykazu": { "type": "string", "enum": [ "MV_G" ], "description": "Identifikátor typu výkazu - Monitorovací Vyhláška Plyn" }, "vykazy": { "type": "array", "description": "Pole výkazů (typicky jeden výkaz za pololetí)", "items": { "type": "object", "required": [ "identifikacniUdajeVykazu", "obchodniTajemstvi", "mvG5", "mvG6", "mvG7", "mvG8" ], "properties": { "identifikacniUdajeVykazu": { "type": "object", "title": "Identifikační údaje výkazu", "description": "Metadata a identifikace subjektu odevzdávajícího výkaz. Povinná pole: ico, typVykazu, typPeriody, cisloLicence, vykazovanyRok, datovaSchranka, drzitelLicence, vykazovanaPerioda.", "required": [ "ico", "typVykazu", "typPeriody", "cisloLicence", "vykazovanyRok", "datovaSchranka", "drzitelLicence", "vykazovanaPerioda" ], "properties": { "ico": { "type": "string", "pattern": "^([0-9]{8}|[Mm][Ii][Mm][Oo][Čč][Rr]|)$", "title": "IČO", "description": "Identifikační číslo osoby (8 číslic), 'MIMOČR' pro zahraniční subjekty (case-insensitive), nebo prázdný řetězec", "examples": [ "12345678", "MIMOČR", "mimočr", "" ] }, "typVykazu": { "type": "string", "enum": [ "MV_G" ], "title": "Typ výkazu", "description": "Identifikátor typu výkazu" }, "typPeriody": { "type": "string", "enum": [ "HALF_YEAR" ], "title": "Typ periody", "description": "Periodicita výkazu - pololetní" }, "cisloLicence": { "type": "array", "items": { "type": "string" }, "title": "Čísla licencí", "description": "Pole čísel licencí subjektu" }, "vykazovanyRok": { "type": "integer", "minimum": 2024, "title": "Vykazovaný rok", "description": "Rok, za který je výkaz podáván" }, "vykazovanaPerioda": { "type": "integer", "enum": [ 1, 2 ], "title": "Vykazovaná perioda", "description": "Pololetí (1 = první pololetí, 2 = druhé pololetí)" }, "datovaSchranka": { "type": "string", "title": "Datová schránka", "description": "ID datové schránky subjektu" }, "drzitelLicence": { "type": "string", "title": "Držitel licence", "description": "Název držitele licence" }, "kontaktniTelefon": { "type": "string", "title": "Kontaktní telefon", "description": "Telefonní kontakt na odpovědnou osobu" }, "odpovednyPracovnik": { "type": "string", "title": "Odpovědný pracovník", "description": "Jméno a příjmení odpovědného pracovníka" }, "datumVytvoreniVykazu": { "type": "string", "format": "date-time", "title": "Datum vytvoření výkazu", "description": "Datum a čas vytvoření výkazu ve formátu ISO 8601" } } }, "obchodniTajemstvi": { "$ref": "#/definitions/anoNeEnum", "title": "Obchodní tajemství [ano/ne]", "description": "Indikace, zda výkaz obsahuje obchodní tajemství" }, "mvG5": { "type": "array", "title": "MV-G5: Portfolio zákazníků", "description": "Přehled portfolia odběrných míst dle typu zákazníka, spotřebního pásma a typu smlouvy.", "items": { "type": "object", "properties": { "obdobi": { "title": "obdobi", "description": "Společné", "allOf": [ { "$ref": "#/definitions/dateFormat" } ] }, "typ_zakaznika": { "type": "string", "title": "typZakaznika", "description": "Společné" }, "spotrebni_pasmo": { "type": "string", "title": "spotrebniPasmo", "description": "Společné" }, "typ_smlouvy": { "type": "string", "title": "typSmlouvy", "description": "Společné" }, "pocet_om": { "type": "integer", "minimum": 0, "title": "pocetOm", "description": "Společné" }, "planovana_spotreba_mwh": { "type": [ "number", "null" ], "minimum": 0, "title": "planovanaSpotrebaMwh", "description": "Společné" }, "id_produktu": { "type": "string", "title": "idProduktu", "description": "Pouze A" }, "platnost_ceniku_od": { "title": "platnostCenikuOd", "description": "Pouze A", "allOf": [ { "$ref": "#/definitions/dateFormat" } ] }, "kratkodoby_trh": { "type": "string", "title": "kratkodobyTrh", "description": "Pouze A" }, "prirazka_procenta": { "type": [ "number", "null" ], "minimum": 0, "title": "prirazkaProcenta", "description": "Pouze A" }, "prirazka_absolutni": { "type": [ "number", "null" ], "minimum": 0, "title": "prirazkaAbsolutni", "description": "Pouze A" }, "prirazka_minimalni": { "type": [ "number", "null" ], "minimum": 0, "title": "prirazkaMinimalni", "description": "Pouze A" }, "staly_plat": { "type": [ "number", "null" ], "minimum": 0, "title": "stalyPlat", "description": "Pouze A" }, "staly_plat_prumer": { "type": [ "number", "null" ], "minimum": 0, "title": "stalyPlatPrumer", "description": "Pouze B–F" }, "staly_plat_median": { "type": [ "number", "null" ], "minimum": 0, "title": "stalyPlatMedian", "description": "Pouze B–F" }, "obchodni_slozka_ceny_prumer": { "type": [ "number", "null" ], "minimum": 0, "title": "obchodniSlozkaCenyPrumer", "description": "Pouze B–F" }, "obchodni_slozka_ceny_median": { "type": [ "number", "null" ], "minimum": 0, "title": "obchodniSlozkaCenyMedian", "description": "Pouze B–F" }, "obchodni_slozka_ceny_soucet_mocnin": { "type": [ "number", "null" ], "minimum": 0, "title": "obchodniSlozkaCenySoucetMocnin", "description": "Pouze B–F" }, "obchodni_slozka_ceny_pocet_jedinecnych": { "type": "integer", "minimum": 0, "title": "obchodniSlozkaCenyPocetJedinecnych", "description": "Pouze B–F" } }, "required": [ "typZakaznika", "spotrebniPasmo", "typSmlouvy", "pocetOm", "planovanaSpotrebaMwh" ], "if": { "properties": { "typSmlouvy": { "const": "A" } }, "required": [ "typSmlouvy" ] }, "then": { "required": [ "idProduktu", "platnostCenikuOd", "kratkodobyTrh", "prirazkaProcenta", "prirazkaAbsolutni", "prirazkaMinimalni", "stalyPlat" ] }, "else": { "required": [ "stalyPlatPrumer", "stalyPlatMedian", "obchodniSlozkaCenyPrumer", "obchodniSlozkaCenyMedian", "obchodniSlozkaCenySoucetMocnin", "obchodniSlozkaCenyPocetJedinecnych" ] }, "additionalProperties": false } }, "mvG6": { "type": "array", "title": "MV-G6: Tržby", "description": "Tržby za dodávku plynu v pololetí.", "items": { "type": "object", "properties": { "obdobi": { "title": "obdobi", "description": "", "allOf": [ { "$ref": "#/definitions/dateFormat" } ] }, "typ_zakaznika": { "type": "string", "title": "typZakaznika", "description": "" }, "spotrebni_pasmo": { "type": "string", "title": "spotrebniPasmo", "description": "" }, "pocet_om": { "type": "integer", "minimum": 0, "title": "pocetOm", "description": "" }, "dodavka_mwh": { "type": [ "number", "null" ], "minimum": 0, "title": "dodavkaMwh", "description": "" }, "trzby_obchodni_slozka": { "type": [ "number", "null" ], "minimum": 0, "title": "trzbyObchodniSlozka", "description": "" }, "trzby_regulovana_slozka": { "type": [ "number", "null" ], "minimum": 0, "title": "trzbyRegulovanaSlozka", "description": "" }, "trzby_dph": { "type": [ "number", "null" ], "minimum": 0, "title": "trzbyDph", "description": "" }, "trzby_dan_plyn": { "type": [ "number", "null" ], "minimum": 0, "title": "trzbyDanPlyn", "description": "" }, "trzby_ostatni_poplatky": { "type": [ "number", "null" ], "minimum": 0, "title": "trzbyOstatniPoplatky", "description": "" } }, "required": [ "typZakaznika", "spotrebniPasmo", "pocetOm", "dodavkaMwh", "trzbyObchodniSlozka", "trzbyRegulovanaSlozka", "trzbyDph", "trzbyDanPlyn", "trzbyOstatniPoplatky" ], "additionalProperties": false } }, "mvG7": { "type": "array", "title": "MV-G7: Přírůstky", "description": "Nově uzavřené smlouvy a prodloužení závazků v pololetí.", "items": { "type": "object", "properties": { "obdobi": { "type": "string", "title": "obdobi", "description": "Společné" }, "typ_zakaznika": { "type": "string", "title": "typZakaznika", "description": "Společné" }, "spotrebni_pasmo": { "type": "string", "title": "spotrebniPasmo", "description": "Společné" }, "typ_smlouvy": { "type": "string", "title": "typSmlouvy", "description": "Společné" }, "ruzne_ceny_v_dilcich_usecich": { "type": "string", "title": "ruzneCenyVDilcichUsecich", "description": "Společné" }, "pocet_om": { "type": "integer", "minimum": 0, "title": "pocetOm", "description": "Společné" }, "id_produktu": { "type": "string", "title": "idProduktu", "description": "Pouze A" }, "platnost_ceniku_od": { "title": "platnostCenikuOd", "description": "Pouze A", "allOf": [ { "$ref": "#/definitions/dateFormat" } ] }, "kratkodoby_trh": { "type": "string", "title": "kratkodobyTrh", "description": "Pouze A" }, "prirazka_procenta": { "type": [ "number", "null" ], "minimum": 0, "title": "prirazkaProcenta", "description": "Pouze A" }, "prirazka_absolutni": { "type": [ "number", "null" ], "minimum": 0, "title": "prirazkaAbsolutni", "description": "Pouze A" }, "prirazka_minimalni": { "type": [ "number", "null" ], "minimum": 0, "title": "prirazkaMinimalni", "description": "Pouze A" }, "staly_plat": { "type": [ "number", "null" ], "minimum": 0, "title": "stalyPlat", "description": "Pouze A" }, "staly_plat_prumer": { "type": [ "number", "null" ], "minimum": 0, "title": "stalyPlatPrumer", "description": "Pouze B–F" }, "staly_plat_median": { "type": [ "number", "null" ], "minimum": 0, "title": "stalyPlatMedian", "description": "Pouze B–F" }, "obchodni_slozka_ceny_prumer": { "type": [ "number", "null" ], "minimum": 0, "title": "obchodniSlozkaCenyPrumer", "description": "Pouze B–F" }, "obchodni_slozka_ceny_median": { "type": [ "number", "null" ], "minimum": 0, "title": "obchodniSlozkaCenyMedian", "description": "Pouze B–F" }, "obchodni_slozka_ceny_soucet_mocnin": { "type": [ "number", "null" ], "minimum": 0, "title": "obchodniSlozkaCenySoucetMocnin", "description": "Pouze B–F" }, "obchodni_slozka_ceny_pocet_jedinecnych": { "type": "integer", "minimum": 0, "title": "obchodniSlozkaCenyPocetJedinecnych", "description": "Pouze B–F" } }, "required": [ "typZakaznika", "spotrebniPasmo", "typSmlouvy", "ruzneCenyVDilcichUsecich", "pocetOm" ], "if": { "properties": { "typSmlouvy": { "const": "A" } } }, "then": { "required": [ "idProduktu", "platnostCenikuOd", "kratkodobyTrh", "prirazkaProcenta", "prirazkaAbsolutni", "prirazkaMinimalni", "stalyPlat" ] }, "else": { "required": [ "stalyPlatPrumer", "stalyPlatMedian", "obchodniSlozkaCenyPrumer", "obchodniSlozkaCenyMedian", "obchodniSlozkaCenySoucetMocnin", "obchodniSlozkaCenyPocetJedinecnych" ] }, "additionalProperties": false } }, "mvG8": { "type": "array", "title": "MV-G8: Smluvní podmínky", "description": "Události spojené se smluvními podmínkami a dodávkami v pololetí.", "items": { "type": "object", "properties": { "obdobi": { "title": "obdobi", "description": "", "allOf": [ { "$ref": "#/definitions/dateFormat" } ] }, "typ_zakaznika": { "type": "string", "title": "typZakaznika", "description": "" }, "pocet_zakazniku_pokuta": { "type": "integer", "minimum": 0, "title": "pocetZakaznikuPokuta", "description": "" }, "prumerna_pokuta_kc": { "type": [ "number", "null" ], "minimum": 0, "title": "prumernaPokutaKc", "description": "" }, "pocet_om_prvni_upozorneni": { "type": "integer", "minimum": 0, "title": "pocetOmPrvniUpozorneni", "description": "" }, "pocet_om_preruseni_omez_ukonceni": { "type": "integer", "minimum": 0, "title": "pocetOmPreruseniOmezUkonceni", "description": "" }, "pocet_om_preruseni_neplneni_plateb": { "type": "integer", "minimum": 0, "title": "pocetOmPreruseniNeplneniPlateb", "description": "" }, "pocet_om_zahajena_dodavka": { "type": "integer", "minimum": 0, "title": "pocetOmZahajenaDodavka", "description": "" }, "pocet_om_zahajena_distan_mimo_prostory": { "type": "integer", "minimum": 0, "title": "pocetOmZahajenaDistanMimoProstory", "description": "" }, "pocet_om_jen_oze": { "type": "integer", "minimum": 0, "title": "pocetOmJenOze", "description": "" }, "mnozstvi_mwh_jen_oze": { "type": [ "number", "null" ], "minimum": 0, "title": "mnozstviMwhJenOze", "description": "" }, "pocet_om_zmena_produktu_nebo_prodlouzeni": { "type": "integer", "minimum": 0, "title": "pocetOmZmenaProduktuNeboProdlouzeni", "description": "" } }, "required": [ "typZakaznika", "pocetZakaznikuPokuta", "prumernaPokutaKc", "pocetOmPrvniUpozorneni", "pocetOmPreruseniOmezUkonceni", "pocetOmPreruseniNeplneniPlateb", "pocetOmZahajenaDodavka", "pocetOmZahajenaDistanMimoProstory", "pocetOmJenOze", "mnozstviMwhJenOze", "pocetOmZmenaProduktuNeboProdlouzeni" ], "additionalProperties": false } } } } } }, "required": [ "typVykazu", "vykazy" ], "additionalProperties": false }