{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "JSON Schema generated by XMLSpy v2017 sp2 (x64) (http://www.altova.com), version 0.6.1 2017/10/17 na podstawie projektu Rozporządzenia Ministra Rozwoju, Pracy i Technologii w sprawie wymagań technicznych dla kas rejestrujacych z dnia 23 kwietnia 2021 r. Weryfikacja schematu i walidacja struktury JSON wykonane przy użyciu narzędzia XMLSpy v2017 oraz biblioteki org.everit.json w wersji 1.5.1 środowiska JAVA dostępnej w repozytorium Maven pod adresem https://mvnrepository.com/artifact/org.everit.json/org.everit.json.schema/1.5.1",
    "type": "object",
    "minProperties": 1,
    "maxProperties": 1,
    "properties": {
        "dokument": {
            "$ref": "#/definitions/TDokument"
        }
    },
    "required": [
        "dokument"
    ],
    "additionalProperties": false,
    "definitions": {
        "TDokument": {
            "description": "Dokument elektroniczny dla kas rejestrujących",
            "type": "object",
            "minProperties": 3,
            "maxProperties": 3,
            "properties": {
                "naglowek": {
                    "description": "Nagłówek dokumentu",
                    "type": "object",
                    "properties": {
                        "wersja": {
                            "$ref": "#/definitions/TWersja",
                            "description": "Nazwa i wersja schematu dokumentu"
                        },
                        "dataJPK": {
                            "$ref": "#/definitions/TDataCzas",
                            "description": "Data i czas wytworzenia dokumentu"
                        }
                    },
                    "required": [
                        "wersja",
                        "dataJPK"
                    ],
                    "additionalProperties": false
                },
                "podmiot1": {
                    "description": "Dane identyfikacyjne podatnika i urządzenia fiskalnego",
                    "type": "object",
                    "properties": {
                        "NIP": {
                            "$ref": "#/definitions/TNip",
                            "description": "Numer identyfikacji podatkowej (NIP) podatnika"
                        },
                        "nazwaPod": {
                            "$ref": "#/definitions/TNazwaPodatnika",
                            "description": "Imię i nazwisko lub nazwa podatnika"
                        },
                        "adresPod": {
                            "$ref": "#/definitions/TAdres",
                            "description": "Aktualny adres punktu sprzedaży, a dla sprzedaży prowadzonej w miejscach niestałych - adres siedziby lub miejsca zamieszkania podatnika"
                        },
                        "nrUnik": {
                            "$ref": "#/definitions/TNumerUnikatowy",
                            "description": "Numer unikatowy kasy"
                        },
                        "nrFabr": {
                            "$ref": "#/definitions/TNumerFabryczny",
                            "description": "Numer fabryczny kasy"
                        },
                        "nrEwid": {
                            "$ref": "#/definitions/TNumerEwidencyjny",
                            "description": "Numer ewidencyjny kasy"
                        }
                    },
                    "required": [
                        "NIP",
                        "nazwaPod",
                        "nrUnik",
                        "nrFabr"
                    ],
                    "additionalProperties": false
                },
                "paragon": {
                    "$ref": "#/definitions/TDaneParagonu",
                    "description": "Dane zawarte w paragonach fiskalnych"
                }
            },
            "required": [
                "naglowek",
                "podmiot1",
                "paragon"
            ],
            "additionalProperties": false
        },
        "TAdres": {
            "description": "Informacje opisujące adres",
            "type": "object",
            "properties": {
                "kodPoczt": {
                    "description": "Kod pocztowy",
                    "$ref": "#/definitions/TKodPocztowy"
                },
                "miejsc": {
                    "description": "Nazwa miejscowości",
                    "$ref": "#/definitions/TNazwa"
                },
                "nrDomu": {
                    "description": "Numer budynku",
                    "$ref": "#/definitions/TNumer"
                },
                "nrLok": {
                    "description": "Numer lokalu",
                    "$ref": "#/definitions/TNumer"
                },
                "poczta": {
                    "description": "Nazwa urzędu pocztowego",
                    "$ref": "#/definitions/TNazwa"
                },
                "ulica": {
                    "description": "Nazwa ulicy",
                    "$ref": "#/definitions/TNazwa"
                }
            },
            "required": [
                "kodPoczt",
                "miejsc"
            ],
            "additionalProperties": false
        },
        "TDaneBiletu": {
            "type": "object",
            "properties": {
                "typ": {
                    "$ref": "#/definitions/TTypBiletu",
                    "description": "§ 22 pkt 7a Oznaczenie biletu: 1 - bilet, 2 - opłata dodatkowa"
                },
                "rodzaj": {
                    "$ref": "#/definitions/TRodzajBiletu",
                    "description": "§ 22 pkt 7b Rodzaj biletu"
                },
                "ulga": {
                    "$ref": "#/definitions/TTytulUlgi",
                    "description": "§ 22 pkt 7c Tytuł ulgi - w przypadku biletu ulgowego"
                },
                "nrKursu": {
                    "$ref": "#/definitions/TNumerKursu",
                    "description": "§ 22 pkt 7d Numer kursu - w przypadku biletu jednorazowego"
                },
                "zakres": {
                    "$ref": "#/definitions/TPrzystankiZakresyOkresy",
                    "description": "§ 22 pkt 7e Nazwy przystanku początkowego i końcowego lub zakres ważności lub okres ważności biletu"
                },
                "imieINazw": {
                    "$ref": "#/definitions/TImieINazwisko",
                    "description": "§ 22 pkt 7f Imię i nazwisko posiadacza biletu - w przypadku biletów okresowych imiennych"
                }
            },
            "required": [
                "typ",
                "rodzaj"
            ],
            "additionalProperties": false
        },
        "TDaneParagonu": {
            "type": "object",
            "properties": {
                "JPKID": {
                    "$ref": "#/definitions/TJPKID",
                    "description": "JPKID to niepowtarzalny w ramach pamięci chronionej numer przypisany w kasie do wytworzonego dokumentu. Para wartości 'JPKID' oraz 'pamiecChr' jednoznacznie identyfikują dokument."
                },
                "pamiecChr": {
                    "$ref": "#/definitions/TPamiecChronionaId",
                    "description": "Numer pamięci chronionej powiązanej z pamięcią fiskalną."
                },
                "grafika": {
                    "$ref": "#/definitions/TWybor1_2",
                    "description": "§ 22 pkt 1 Informacja o występowaniu elementu graficznego: 1 - tak, 2 - nie"
                },
                "nrDok": {
                    "$ref": "#/definitions/TNaturalny",
                    "description": "§ 22 pkt 5 Numer kolejny dokumentu"
                },
                "bilet": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/TDaneBiletu",
                        "description": "§ 22 pkt 7 Blok danych biletowych dla kasy biletowej"
                    }
                },
                "taxi": {
                    "type": "object",
                    "properties": {
                        "kurs": {
                            "description": "§ 22 pkt 8 Blok danych kursu zawirający kolejne pozycje sprzedaży dla kasy, o której mowa w § 5 ust. 1 pkt 2 lit. a",
                            "type": "object",
                            "properties": {
                                "wgImpulsow": {
                                    "type": "object",
                                    "properties": {
                                        "oplataPocz": {
                                            "type": "object",
                                            "properties": {
                                                "idStPTU": {
                                                    "$ref": "#/definitions/TIdStawkiPTUOrND"
                                                },
                                                "wart": {
                                                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                                                    "description": "§ 22 pkt 8d Wartość opłaty początkowej kursu z oznaczeniem literowym stawki podatku, zwolnienia od podatku lub z oznaczeniem NIEPODLEGAJĄCA OPODATKOWANIU"
                                                }
                                            },
                                            "required": [
                                                "idStPTU",
                                                "wart"
                                            ],
                                            "additionalProperties": false
                                        },
                                        "doplata": {
                                            "type": "object",
                                            "properties": {
                                                "cena": {
                                                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                                                    "description": "§ 22 pkt 8l Cena jednostki dopłaty, o ile występuje"
                                                },
                                                "idStPTU": {
                                                    "$ref": "#/definitions/TIdStawkiPTUOrND",
                                                    "description": "§ 22 pkt 8i  Oznaczenie literowe stawki podatku, zwolnienia od podatku lub oznaczenie NIEPODLEGAJĄCA OPODATKOWANIU"
                                                },
                                                "ilosc": {
                                                    "$ref": "#/definitions/TNaturalny",
                                                    "description": "§ 22 pkt 8k Liczba jednostek dopłaty, o ile występuje"
                                                },
                                                "wart": {
                                                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                                                    "description": "§ 22 pkt 8m Wartość sumaryczna dopłaty, o ile występuje, z oznaczeniem literowym stawki podatku albo z oznaczeniem NIEPODLEGAJĄCA OPODATKOWANIU"
                                                }
                                            },
                                            "required": [
                                                "cena",
                                                "idStPTU",
                                                "ilosc",
                                                "wart"
                                            ],
                                            "additionalProperties": false
                                        },
                                        "taryfa": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/definitions/TTaryfa",
                                                "description": "§ 22 pkt 8e Opis kolejnych taryf, na których był rejestrowany kurs, cena danej taryfy za 1 kilometr oraz za 1 godzinę"
                                            }
                                        }
                                    },
                                    "required": [
                                        "oplataPocz"
                                    ],
                                    "additionalProperties": false
                                },
                                "czasR": {
                                    "$ref": "#/definitions/TDataCzas",
                                    "description": "§ 22 pkt 8a Czas rozpoczęcia kursu"
                                },
                                "czasZ": {
                                    "$ref": "#/definitions/TDataCzas",
                                    "description": "§ 22 pkt 8a Czas zakończenia kursu"
                                },
                                "droga": {
                                    "$ref": "#/definitions/TIloscKm",
                                    "description": "§ 22 pkt 8b Przebyta w kursie droga, wartość podawana w kilometrach z dokładnością do 3 miejsc po przecinku"
                                },
                                "cenaUm": {
                                    "description": "§ 22 pkt 8n W przypadku stosowania ceny umownej - zamiast danych, o których mowa w lit. c-m - blok danych zawierający co najmniej: - oznaczenie CENA UMOWNA, - wartość ceny umownej za kurs",
									"type": "object",
                                    "properties": {
                                        "idStPTU": {
                                            "$ref": "#/definitions/TIdStawkiPTUOrND"
                                        },
                                        "wart": {
                                            "$ref": "#/definitions/TKwotaNieujemnaDec",
                                            "description": "§ 22 pkt 8n Wartość ceny umownej za kurs"
                                        }
                                    },
                                    "required": [
                                        "idStPTU",
                                        "wart"
                                    ],
                                    "additionalProperties": false
                                }
                            },
                            "required": [
                                "czasR",
                                "czasZ",
                                "droga"
                            ],
                            "additionalProperties": false
                        },
                        "nrBoczny": {
                            "$ref": "#/definitions/TNumerBoczny",
                            "description": "§ 22 pkt 4 numer boczny taksówki - dla kasy, o której mowa w § 5 ust. 1 pkt 2 lit.a"
                        },
                        "nrRej": {
                            "$ref": "#/definitions/TNumerTaksowki",
                            "description": "§ 22 pkt 4 numer rejestracyjny taksówki albo pojazdu - w przypadku pojazdów innych niż taksówki - dla kasy, o której mowa w § 5 ust. 1 pkt 2 lit.a"
                        }
                    },
                    "required": [
                        "kurs",
                        "nrRej"
                    ],
                    "additionalProperties": false
                },
                "pozycja": {
                    "$ref": "#/definitions/TPozycja",
                    "description": "§ 22 pkt 9 Blok danych z pozycjami transakcji"
                },
                "stPTU": {
                    "$ref": "#/definitions/TPtuList"
                },
                "podsum": {
                    "type": "object",
                    "properties": {
                        "sumaOpust": {
                            "$ref": "#/definitions/TKwotaDec",
                            "description": "§ 22 pkt 10 Łączne wartości udzielonych opustów, narzutów lub obniżki, o ile występują"
                        },
                        "sumaNetto": {
                            "anyOf": [
                                {
                                    "$ref": "#/definitions/TBruttoVatPtu",
                                    "description": "§ 22 pkt 11 Łączne wartości sprzedaży brutto w poszczególnych stawkach podatku oraz zwolnienie od podatku po uwzględnieniu opustów, narzutów, obniżek i rozliczeń zaliczek oraz § 22 pkt 12 wysokość podatku należnego według poszczególnych stawek podatku z oznaczeniem PTU, oznaczeniem literowym stawki podatku po uwzględnieniu opustów, narzutów, obniżek i rozliczeń zaliczek oraz wartością procentową stawki podatku"
                                },
                                {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "$ref": "#/definitions/TBruttoVatPtu",
                                        "description": "§ 22 pkt 11 Łączne wartości sprzedaży brutto w poszczególnych stawkach podatku oraz zwolnienie od podatku po uwzględnieniu opustów, narzutów, obniżek i rozliczeń zaliczek oraz § 22 pkt 12 wysokość podatku należnego według poszczególnych stawek podatku z oznaczeniem PTU, oznaczeniem literowym stawki podatku po uwzględnieniu opustów, narzutów, obniżek i rozliczeń zaliczek oraz wartością procentową stawki podatku"
                                    }
                                }
                            ]
                        },
                        "sumaPod": {
                            "$ref": "#/definitions/TKwotaDec",
                            "description": "§ 22 pkt 13 Łączna wysokość podatku należnego z oznaczeniem SUMA PTU"
                        },
                        "sprzedNO": {
                            "$ref": "#/definitions/TKwotaDec",
                            "description": "§ 22 pkt 14 Łączna wartość sprzedaży niepodlegającej opodatkowaniu, o ile występuje"
                        },
                        "sumaBrutto": {
                            "$ref": "#/definitions/TKwotaDec",
                            "description": "§ 22 pkt 15 Łączna wartość sprzedaży brutto z oznaczeniem SUMA"
                        },
                        "waluta": {
                            "$ref": "#/definitions/TSymbolWaluty",
                            "description": "§ 22 pkt 15 Symbol waluty ewidencyjnej, w której wystawiany jest paragon"
                        }
                    },
                    "required": [
                        "sumaNetto",
                        "sumaBrutto",
                        "waluta"
                    ],
                    "additionalProperties": false
                },
                "opak": {
                    "type": "object",
                    "properties": {
                        "daneOpak": {
                            "$ref": "#/definitions/TOpakowanie",
                            "description": "§ 22 pkt 16 Blok danych dotyczący rozliczenia opakowań zwrotnych"
                        },
                        "wart": {
                            "$ref": "#/definitions/TKwotaDec",
                            "description": "§ 22 pkt 16d Łączna wartość przyjętych i wydanych opakowań zwrotnych"
                        }
                    },
                    "required": [
                        "daneOpak",
                        "wart"
                    ],
                    "additionalProperties": false
                },
                "total": {
                    "type": "object",
                    "properties": {
                        "bezpl": {
                            "$ref": "#/definitions/TWybor1",
                            "description": "§ 22 pkt 17b Dla kasy biletowej, oznaczenie „BILET BEZPŁATNY” lub „BILETY BEZPŁATNE” przy braku płatności przez nabywcę za bilet (1 - bilet/bilety bezpłatne)"
                        },
                        "zaplZwrot": {
                            "$ref": "#/definitions/TKwotaDec",
                            "description": "§ 22 pkt 17a Oznaczenie DO ZAPŁATY, DO ZWROTU lub CENA wraz z wysokością należności po uwzględnieniu: - rozliczenia opakowań zwrotnych, - zniżek i refundacji w przypadku kasy, o której mowa w § 5 ust. 1 pkt 2 lit. b, - częściowej płatności lub braku płatności przez nabywcę za bilet (np. bilet pracowniczy) dla kasy biletowej"
                        }
                    },
                    "additionalProperties": false
                },
                "przelicz": {
                    "$ref": "#/definitions/TPrzelicznikWaluty",
                    "description": "Przeliczenie walut"
                },
                "platnosc": {
                    "$ref": "#/definitions/TFormaPlatnosci"
                },
                "blokWolnocl": {
                    "type": "object",
                    "properties": {
                        "portDoc": {
                            "$ref": "#/definitions/TPort",
                            "description": "§ 22 pkt 20b Identyfikator portu docelowego"
                        },
                        "portPrzesiadk": {
                            "additionalProperties": false,
                            "anyOf": [
                                {
                                    "$ref": "#/definitions/TPort",
                                    "description": "§ 22 pkt 20c Identyfikator portu przesiadkowego"
                                },
                                {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/TPort",
                                        "description": "§ 22 pkt 20c Identyfikator portu przesiadkowego"
                                    }
                                }
                            ]
                        }
                    },
                    "required": [
                        "portDoc"
                    ],
                    "additionalProperties": false
                },
                "nrParag": {
                    "$ref": "#/definitions/TNaturalny",
                    "description": "§ 22 pkt 21 Numer kolejny paragonu"
                },
                "nrKasy": {
                    "$ref": "#/definitions/TNumerKasy",
                    "description": "§ 22 pkt 22 Numer kasy"
                },
                "zakSprzed": {
                    "$ref": "#/definitions/TDataCzas",
                    "description": "§ 22 pkt 25 Data i czas zakończenia sprzedaży"
                },
                "NIP": {
                    "$ref": "#/definitions/TNipNabywcy",
                    "description": "§ 22 pkt 24 Numer identyfikacji podatkowej (NIP) nabywcy, na żądanie nabywcy"
                },
                "kasjer": {
                    "$ref": "#/definitions/TKasjer",
                    "description": "§ 22 pkt 23 Oznaczenie kasjera"
                }
            },
            "required": [
                "JPKID",
                "pamiecChr",
                "nrDok",
                "stPTU",
                "total",
                "nrParag",
                "nrKasy",
                "zakSprzed",
                "kasjer"
            ],
            "additionalProperties": false
        },
        "TDataCzas": {
            "description": "Data i czas strefy czasowej UTC 00:00 w postaci ciągu znaków w formacie: YYYY-MM-DDTHH:MM:SS.SSSZ",
            "type": "string",
            "pattern": "^(([0-9]{4})[-]([0][1-9]|[1][0-2])[-]([0-2][0-9]|[3][0|1])[T]([0|1][0-9]|[2][0-3])([:][0-5][0-9]){2}[.][0-9]{3}Z$)"
        },
        "TData": {
            "description": "Data w postaci ciągu znaków w formacie: YYYY-MM-DD",
            "type": "string",
            "pattern": "^(([0-9]{4})[-]([0][1-9]|[1][0-2])[-]([0-2][0-9]|[3][0|1])$)"
        },
        "TKwotaDec": {
            "description": "Wartość kwotowa wykazana w najmniejszej niepodzielnej części danej waluty",
            "type": "integer"
        },
        "TKwotaNieujemnaDec": {
            "description": "Wartość kwotowa nieujemna wykazana w najmniejszej niepodzielnej części danej waluty",
            "type": "integer",
            "minimum": 0
        },
        "TNaturalny": {
            "description": "Liczby naturalne równe lub większe od zera",
            "type": "integer",
            "minimum": 0
        },
        "TProcentowy": {
            "description": "Wartość procentowa z dokładnością do 2 miejsc po przecinku, przesylana bez przecinka. 1 = 0,01%, 100 = 1%, 10000 = 100%",
            "type": "number",
            "minimum": 0,
            "maximum": 10000
        },
        "TNazwa": {
            "description": "Typ znakowy ograniczony do 70 znaków",
            "type": "string",
            "minLength": 1,
            "maxLength": 70
        },
        "TWybor1": {
            "description": "Pojedyncze pole wyboru",
            "type": "integer",
            "enum": [
                1
            ]
        },
        "TWybor1_2": {
            "description": "Podwójne pole wyboru",
            "type": "integer",
            "enum": [
                1,
                2
            ]
        },
        "TTypBiletu": {
            "description": "Oznaczenie biletu: 1 - bilet, 2 - opłata dodatkowa",
            "type": "integer",
            "enum": [
                1,
                2
            ]
        },
        "TRodzajBiletu": {
            "description": "Rodzaj biletu: 1 - zwykły, 2 - ulgowy",
            "type": "integer",
            "enum": [
                1,
                2
            ]
        },
        "TIdStawkiPTUNotND": {
            "description": "Identyfikator stawki podatkowej",
            "type": "string",
            "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G"
            ]
        },
        "TIdStawkiPTUOrND": {
            "description": "Identyfikator stawki podatkowej. ND - Niepodlegająca opodatkowaniu",
            "type": "string",
            "enum": [
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "ND"
            ]
        },
        "TIloscDF": {
            "description": "Wykorzystywany do określenia ilości. Wartość numeryczna 22 znaki max, w tym 8 po przecinku. Nota:Urządzenia fiskalne obsługują zmienny przecinek (do 8 cyfr po).",
            "type": "string",
            "pattern": "^([\\d]+[,]?[0-9]{0,8})$"
        },
        "TIloscKm": {
            "description": "Wykorzystywany do określenia ilości kilometrów. Wartość numeryczna 22 znaki max, w tym 3 po przecinku.",
            "type": "string",
            "pattern": "^([\\d]+[,]?[0-9]{0,3})$"
        },
        "TImieINazwisko": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
        },
        "TJM": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10
        },
        "TNumer": {
            "type": "string",
            "minLength": 1,
            "maxLength": 15
        },
        "TKodPocztowy": {
            "description": "Kod pocztowy",
            "type": "string",
            "pattern": "^([0-9]{2}[-][0-9]{3})$"
        },
        "TJPKID": {
            "description": "15 cyfr liczone od 1",
            "type": "integer",
            "minimum": 1,
            "maximum": 999999999999999
        },
        "TKasjer": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
        },
        "TKodKreskowy": {
            "description": "Wartość tekstowa kodu kreskowego",
            "type": "string",
            "maxLength": 2000
        },
        "TKodGraficzny": {
            "description": "Wartość tekstowa kodu graficznego",
            "type": "string",
            "maxLength": 4000
        },
        "TKursWaluty": {
            "type": "number"
        },
        "TNazwaPodatnika": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
        },
        "TNazwaFormyPlatnosci": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
        },
        "TNazwaOpakowania": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
        },
        "TNazwaRabatuNarzutu": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40
        },
        "TNazwaTowaru": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
        },
        "TBruttoVatPtu": {
            "type": "object",
            "properties": {
                "idStPTU": {
                    "$ref": "#/definitions/TIdStawkiPTUNotND"
                },
                "brutto": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "Wartość sprzedaży brutto"
                },
                "vat": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "Kwota podatku. W przypadku zwolnionej lub nie dotyczy wartość 0."
                }
            },
            "required": [
                "idStPTU",
                "brutto",
                "vat"
            ],
            "additionalProperties": false
        },
        "TNip": {
            "description": "Numer identyfikacji podatkowej (NIP)",
            "type": "string",
            "pattern": "^([1-9](([0-9][1-9])|([1-9][0-9]))[0-9][0-9][0-9][0-9][0-9][0-9][0-9])$"
        },
        "TNipNabywcy": {
            "description": "Numer identyfikacji podatkowej nabywcy",
            "type": "string",
            "minLength": 1,
            "maxLength": 50
        },
        "TNumerBoczny": {
            "description": "Numer boczny taksówki",
            "type": "string",
            "minLength": 0,
            "maxLength": 20
        },
        "TNumerTaksowki": {
            "description": "Numer rejestracyjny taksówki",
            "type": "string",
            "minLength": 1,
            "maxLength": 20
        },
        "TWersja": {
            "description": "Nazwa i oznaczenie wersji schemy",
            "type": "string",
            "pattern": "^JPK_KASA_PARAGON_v2-0$"
        },
        "TNumerUnikatowy": {
            "description": "Numer unikatowy kasy w postaci: XXXYYYYYYYYYY X-Litery duże, Y cyfry.",
            "type": "string",
            "pattern": "^([A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])$"
        },
        "TNumerEwidencyjny": {
            "description": "Numer ewidencyjny kasy w postaci: XXXX/YYYYYYYYY gdzie XXXX - aktualny rok według daty systemowej, YYYYYYYYY - 9-znakowy rosnący numer.",
            "type": "string",
            "pattern": "^([2][0-9]{3}[/][0-9]{9})$"
        },
        "TNumerFabryczny": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30
        },
        "TNumerKasy": {
            "type": "string",
            "minLength": 1,
            "maxLength": 10
        },
        "TNumerKursu": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240
        },
        "TOper": {
            "description": "false - Wykonanie operacji, true - Storno operacji",
            "type": "boolean"
        },
        "TOpisTaryfy": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240
        },
        "TOpisZaliczki": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240
        },
        "TPamiecChronionaId": {
            "type": "integer",
            "minimum": 1,
            "maximum": 999
        },
        "TPort": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20
        },
        "TPrzystankiZakresyOkresy": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240
        },
        "TPtuList": {
            "type": "array",
            "minItems": 1,
            "maxItems": 7,
            "items": {
                "type": "object",
                "properties": {
                    "id": {
                        "$ref": "#/definitions/TIdStawkiPTUNotND"
                    },
                    "wart": {
                        "additionalProperties": false,
                        "oneOf": [
                            {
                                "type": "string",
                                "enum": [
                                    "ZW"
                                ]
                            },
                            {
                                "$ref": "#/definitions/TProcentowy"
                            }
                        ]
                    }
                },
                "required": [
                    "id",
                    "wart"
                ],
                "additionalProperties": false
            }
        },
        "TRabNarzOpis": {
            "description": "1 - rabat, 2 - obniżka, 3 - narzut, 4 - inny",
            "type": "string",
            "enum": [
                "1",
				"2",
				"3",
				"4"
            ]
        },
        "TSymbolWaluty": {
            "description": "Trzyliterowy kod waluty (ISO-4217)",
            "pattern": "^([A-Z]{3})$"
        },
        "TTextLine": {
            "type": "string",
            "maxLength": 100
        },
        "TTypFormy": {
            "description": "§ 22 pkt 19b Typ formy płatności (1 - gotówka, 2 - karta, 3 - waluta obca, 4 - bon, 5 - czek, 6 - kredyt, 7 - przelew, 8 - voucher, 9 - mobilna, 10 - inna)",
            "type": "string",
            "enum": [
                "1",
				"2",
				"3",
				"4",
				"5",
				"6",
				"7",
				"8",
				"9",
				"10"
            ]
        },
        "TTytulUlgi": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240
        },
        "TZawartoscWydruku": {
            "description": "Zawartość wydruku",
            "type": "object",
            "properties": {
                "tekst": {
                    "additionalProperties": false,
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TTextLine",
                            "description": "Pojedyncza linia tekstowa wydruku"
                        },
                        {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/TTextLine",
                                "description": "Pojedyncza linia tekstowa wydruku"
                            }
                        }
                    ]
                },
                "kodKreskowy": {
                    "additionalProperties": false,
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TKodKreskowy",
                            "description": "Wartość tekstowa kodu kreskowego"
                        },
                        {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/TKodKreskowy",
                                "description": "Wartość tekstowa kodu kreskowego"
                            }
                        }
                    ]
                },
                "kodGraficzny": {
                    "additionalProperties": false,
                    "anyOf": [
                        {
                            "$ref": "#/definitions/TKodGraficzny",
                            "description": "Wartość tekstowa kodu graficznego"
                        },
                        {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/TKodGraficzny",
                                "description": "Wartość tekstowa kodu graficznego"
                            }
                        }
                    ]
                }
            },
            "additionalProperties": false
        },
        "TPozycja": {
            "description": "§ 22 pkt 9 Blok danych z pozycjami transakcji",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "towar": {
                        "$ref": "#/definitions/TParagonTowar",
                        "description": "§ 22 pkt 9a Kolejne pozycje sprzedaży"
                    },
                    "zal": {
                        "$ref": "#/definitions/TParagonZaliczka",
                        "description": "§ 22 pkt 9c Pozycje rozliczenia zaliczki, o ile występują"
                    },
                    "rabat": {
                        "$ref": "#/definitions/TParagonRabatNarzut",
                        "description": "§ 22 pkt 9b Pozycje opustów, narzutów i obniżek, o ile występują"
                    }
                },
                "additionalProperties": false
            }
        },
        "TFormaPlatnosci": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "reszta": {
                        "description": "§ 22 pkt 19f (Czy wpłata, czy reszta, False - wpłata, True - reszta)",
                        "type": "boolean"
                    },
                    "kursWal": {
                        "$ref": "#/definitions/TKursWaluty",
                        "description": "§ 22 pkt 19d tiret 2 Przelicznik wskazany z dokładnością do 4 cyfr po przecinku"
                    },
                    "nazwa": {
                        "$ref": "#/definitions/TNazwaFormyPlatnosci",
                        "additionalProperties": false,
                        "description": "§ 22 pkt 19c Nazwa formy płatności, o ile występuje"
                    },
                    "waluta": {
                        "$ref": "#/definitions/TSymbolWaluty",
                        "additionalProperties": false,
                        "description": "§ 22 pkt 19d tiret 1 Oznaczenie waluty"
                    },
                    "forma": {
                        "$ref": "#/definitions/TTypFormy",
                        "description": "§ 22 pkt 19b Typ formy płatności (np. Gotówka / Karta / Waluta obca / Bon / Czek / Kredyt / Przelew / Voucher / Mobilna lub inna)"
                    },
                    "wart": {
                        "$ref": "#/definitions/TKwotaNieujemnaDec",
                        "description": "§ 22 pkt 19e Wartość wpłacanej należności oraz § 22 pkt 19d tiret 3 Równowartość w walucie ewidencyjnej kasy"
                    },
                    "wartWaluty": {
                        "$ref": "#/definitions/TKwotaNieujemnaDec",
                        "description": "§ 22 pkt 19d tiret 3 Wartość wpłacanej należności w walucie obcej"
                    }
                },
                "required": [
                    "reszta",
                    "forma",
                    "wart"
                ],
                "additionalProperties": false
            }
        },
        "TOpakowanie": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "cena": {
                        "$ref": "#/definitions/TKwotaDec",
                        "description": "§ 22 pkt 16c Cena jednostkowa opakowania"
                    },
                    "ilosc": {
                        "$ref": "#/definitions/TNaturalny",
                        "description": "§ 22 pkt 16c Ilość opakowania"
                    },
                    "nazwa": {
                        "$ref": "#/definitions/TNazwaOpakowania",
                        "description": "§ 22 pkt 16b Nazwa opakowania"
                    }
                },
                "required": [
                    "cena",
                    "ilosc",
                    "nazwa"
                ],
                "additionalProperties": false
            }
        },
        "TParagonRabatNarzut": {
            "type": "object",
            "properties": {
                "nazwa": {
                    "$ref": "#/definitions/TNazwaRabatuNarzutu",
                    "description": "§ 22 pkt 9b tiret 3 Nazwa opustu, narzutu lub obniżki, o ile występuje"
                },
                "oper": {
                    "$ref": "#/definitions/TOper",
                    "description": "False - Udzielenie rabatu/narzutu, True - Storno rabatu/narzutu"
                },
                "opis": {
                    "$ref": "#/definitions/TRabNarzOpis",
                    "description": "§ 22 pkt 9b tiret 1 Oznaczenie Narzut/Opust/Obniżka"
                },
                "wart": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "§ 22 pkt 9b tiret 2 Wartość opustu, narzutu lub obniżki"
                },
                "wartWgPTU": {
                    "description": "§ 22 pkt 9b tiret 4 Oznaczenie stawki podatku, której dotyczy opust, narzut lub obniżka, z wyjątkiem opustu, narzutu lub obniżki udzielanych do pozycji sprzedaży, lub do grupy towarów lub usług, lub do całego paragonu",
					"anyOf": [
                        {
                            "type": "object",
                            "properties": {
                                "idStPTU": {
                                    "$ref": "#/definitions/TIdStawkiPTUOrND"
                                },
                                "wartStPTU": {
                                    "$ref": "#/definitions/TKwotaDec",
                                    "description": "Rabat ujemny, narzut dodatni"
                                }
                            },
                            "required": [
                                "idStPTU",
                                "wartStPTU"
                            ],
                            "additionalProperties": false
                        },
                        {
                            "type": "array",
                            "minItems": 1,
                            "items": {
                                "type": "object",
                                "properties": {
                                    "idStPTU": {
                                        "$ref": "#/definitions/TIdStawkiPTUOrND",
                                        "additionalProperties": false
                                    },
                                    "wartStPTU": {
                                        "$ref": "#/definitions/TKwotaDec",
                                        "description": "Rabat ujemny, narzut dodatni"
                                    }
                                },
                                "required": [
                                    "idStPTU",
                                    "wartStPTU"
                                ],
                                "additionalProperties": false
                            }
                        }
                    ]
                }
            },
            "required": [
                "opis",
                "wart",
                "wartWgPTU"
            ],
            "additionalProperties": false
        },
        "TParagonTowar": {
            "type": "object",
            "properties": {
                "brutto": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "§ 22 pkt 9a tiret 5 Wartość sumaryczna towaru lub usługi (wartość brutto po uwzględnieniu rabatów/narzutów od pozycji)"
                },
                "cena": {
                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                    "description": "§ 22 pkt 9a tiret 4 Cena jednostkowa towaru lub usługi"
                },
                "idStPTU": {
                    "$ref": "#/definitions/TIdStawkiPTUOrND",
                    "description": "§ 22 pkt 9a tiret 6 Oznaczenie literowe stawki podatku, zwolnienie od podatku albo bez oznaczenia w przypadku sprzedaży niepodlegającej opodatkowaniu - dla kasy biletowej oraz kasy, o której mowa w § 5 ust. 1 pkt 2 lit. a"
                },
                "ilosc": {
                    "$ref": "#/definitions/TIloscDF",
                    "description": "Wykorzystywany do określenia ilości. Wartość numeryczna 22 znaki max, w tym 8 po przecinku. Nota:Urządzenia fiskalne obsługują zmienny przecinek (do 8 cyfr po)."
                },
                "jm": {
                    "$ref": "#/definitions/TJM",
                    "description": "§ 22 pkt 9a tiret 3 Jednostka miary, o ile występuje"
                },
                "nazwa": {
                    "$ref": "#/definitions/TNazwaTowaru",
                    "description": "§ 22 pkt 9a tiret 1 Nazwa towaru lub usługi pozwalające na jednoznaczną ich identyfikację"
                },
                "oper": {
                    "$ref": "#/definitions/TOper",
                    "description": "§ 22 pkt 9d Pozycje storna. False - Sprzedaż towatu/usługi, True - Storno towaru/usługi"
                },
                "opis": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/TZawartoscWydruku",
                        "description": "§ 22 pkt 9a tiret 7 Opis towaru lub usługi, mogący zawierać elementy tekstowe, kody kreskowe i kody dwuwymiarowe, o ile występuje"
                    }
                },
                "oplata": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "§ 22 pkt 9a tiret 9 Wartość opłaty po uwzględnieniu zniżek i refundacji, o ile występują - dla kasy, o której mowa w § 5 ust. 1 pkt 2 lit. b"
                },
                "rabat": {
                    "$ref": "#/definitions/TTowarRabatNarzut",
                    "description": "§ 22 pkt 9a tiret 10 Opust, narzut lub obniżka do pozycji sprzedaży, o ile występuje"
                },
                "wartUlgi": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "§ 22 pkt 9a tiret 8 Wartość ulgi w przypadku biletu ulgowego - dla kasy biletowe"
                }
            },
            "required": [
                "brutto",
                "cena",
                "idStPTU",
                "ilosc",
                "nazwa",
                "oper"
            ],
            "additionalProperties": false
        },
        "TParagonZaliczka": {
            "type": "object",
            "properties": {
                "oper": {
                    "$ref": "#/definitions/TOper",
                    "description": "§ 22 pkt 9d Pozycje storna. False - Sprzedaż towatu/usługi, True - Storno towaru/usługi"
                },
                "opis": {
                    "$ref": "#/definitions/TOpisZaliczki",
                    "description": "§ 22 pkt 9c tiret 1 Oznaczenie zaliczki"
                },
                "suma": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "§ 22 pkt 9c tiret 4 Suma do dopłaty po odliczeniu zaliczki, o ile występuje"
                },
                "idStPTU": {
                    "$ref": "#/definitions/TIdStawkiPTUOrND",
                    "description": "§ 22 pkt 9c tiret 3 Oznaczenie literowe stawki podatku lub zwolnienie od podatku"
                },
                "wart": {
                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                    "description": "§ 22 pkt 9c tiret 2 Wartość uwzględnionej zaliczki"
                }
            },
            "required": [
                "opis",
                "idStPTU",
                "wart"
            ],
            "additionalProperties": false
        },
        "TKurs": {
            "description": "Kurs waluty",
            "type": "number"
        },
        "TTaryfa": {
            "type": "object",
            "properties": {
                "cenaH": {
                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                    "description": "§ 22 pkt 8e Cena taryfy za 1 godzinę"
                },
                "cenaImp": {
                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                    "description": "§ 22 pkt 8g Cena jednostki taryfowej"
                },
                "cenaKm": {
                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                    "description": "§ 22 pkt 8e Cena taryfy za 1 kilometr"
                },
                "idStPTU": {
                    "$ref": "#/definitions/TIdStawkiPTUOrND",
                    "description": "§ 22 pkt 8i Oznaczenie literowe stawki podatku, zwolnienie od podatku lub oznaczenie NIEPODLEGAJĄCA OPODATKOWANIU"
                },
                "impulsy": {
                    "$ref": "#/definitions/TNaturalny",
                    "description": "§ 22 pkt 8f Liczba jednostek taryfowych zarejestrowanych w danej taryfie"
                },
                "opis": {
                    "$ref": "#/definitions/TOpisTaryfy",
                    "description": "§ 22 pkt 8e Opis kolejnych taryf, na których był rejestrowany kurs"
                },
                "suma": {
                    "$ref": "#/definitions/TKwotaNieujemnaDec",
                    "description": "§ 22 pkt 8h Wartość sumaryczna jednostek taryfowych"
                }
            },
            "required": [
                "cenaH",
                "cenaImp",
                "cenaKm",
                "idStPTU",
                "impulsy",
                "opis",
                "suma"
            ],
            "additionalProperties": false
        },
        "TTowarRabatNarzut": {
            "type": "object",
            "properties": {
                "nazwa": {
                    "$ref": "#/definitions/TNazwaRabatuNarzutu",
                    "description": "Nazwa opustu, narzutu lub obniżki, o ile występuje (zawiera ew. wartość procentową (np 10%))"
                },
                "opis": {
                    "$ref": "#/definitions/TRabNarzOpis",
                    "description": "Oznaczenie OPUST lub NARZUT, lub OBNIŻKA (1 - Rabat, 2 - Obniżka, 3 - Narzut)"
                },
                "wart": {
                    "$ref": "#/definitions/TKwotaDec",
                    "description": "Wartość opustu, narzutu lub obniżki (Rabat ujemny, narzut dodatni)"
                }
            },
            "required": [
                "opis",
                "wart"
            ],
            "additionalProperties": false
        },
        "TPrzelicznikWaluty": {
            "description": "Przeliczenie walut",
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "properties": {
                    "kurs": {
                        "$ref": "#/definitions/TKurs"
                    },
                    "waluta": {
                        "$ref": "#/definitions/TSymbolWaluty",
                        "description": "Symbol waluty, na którą następuje przeliczenie"
                    },
                    "wart": {
                        "$ref": "#/definitions/TKwotaDec"
                    }
                },
                "required": [
                    "kurs",
                    "waluta",
                    "wart"
                ],
                "additionalProperties": false
            }
        }
    }
}