Module: Ksef::FA3::Generated::Types

Defined in:
lib/ksef/fa3/generated/types.rb

Overview

Element ordering, occurrence rules and attributes per complexType.

Keys are XSD type names for named types, and element paths for anonymous ones (e.g. "Faktura/Podmiot1/DaneKontaktowe"), because leaf names collide.

content is a single root particle, not a flat list: :sequence preserves the order KSeF requires, and :choice records that exactly one branch applies. Four types have a top-level choice, so unwrapping the root would lose that distinction. nil for simpleContent types. max of nil means unbounded.

Constant Summary collapse

ALL =
{
  "Faktura" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Naglowek",
          :type => "tns:TNaglowek",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Podmiot1",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Podmiot2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Podmiot3",
          :min => 0,
          :max => 100
        },
        {
          :kind => :element,
          :name => "PodmiotUpowazniony",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Fa",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Stopka",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Zalacznik",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "KodWaluty",
          :type => "tns:TKodWaluty",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_1",
          :type => "tns:TDataT",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_1M",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_2",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "WZ",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1000
        },
        {
          :kind => :choice,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_6",
              :type => "tns:TDataT",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "OkresFa",
              :min => 1,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_13_1",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_1",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_1W",
              :type => "tns:TKwotowy",
              :min => 0,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_13_2",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_2",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_2W",
              :type => "tns:TKwotowy",
              :min => 0,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_13_3",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_3",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_3W",
              :type => "tns:TKwotowy",
              :min => 0,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_13_4",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_4",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_4W",
              :type => "tns:TKwotowy",
              :min => 0,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_13_5",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_14_5",
              :type => "tns:TKwotowy",
              :min => 0,
              :max => 1
            }
          ]
        },
        {
          :kind => :element,
          :name => "P_13_6_1",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_13_6_2",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_13_6_3",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_13_7",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_13_8",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_13_9",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_13_10",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_13_11",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_15",
          :type => "tns:TKwotowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "KursWalutyZ",
          :type => "tns:TIlosci",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Adnotacje",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "RodzajFaktury",
          :type => "tns:TRodzajFaktury",
          :min => 1,
          :max => 1
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "PrzyczynaKorekty",
              :type => "tns:TZnakowy",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "TypKorekty",
              :type => "tns:TTypKorekty",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "DaneFaKorygowanej",
              :min => 1,
              :max => 50000
            },
            {
              :kind => :element,
              :name => "OkresFaKorygowanej",
              :type => "tns:TZnakowy",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "NrFaKorygowany",
              :type => "tns:TZnakowy",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "Podmiot1K",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "Podmiot2K",
              :min => 0,
              :max => 101
            },
            {
              :kind => :sequence,
              :min => 0,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "P_15ZK",
                  :type => "tns:TKwotowy",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "KursWalutyZK",
                  :type => "tns:TIlosci",
                  :min => 0,
                  :max => 1
                }
              ]
            }
          ]
        },
        {
          :kind => :element,
          :name => "ZaliczkaCzesciowa",
          :min => 0,
          :max => 31
        },
        {
          :kind => :element,
          :name => "FP",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "TP",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DodatkowyOpis",
          :type => "tns:TKluczWartosc",
          :min => 0,
          :max => 10000
        },
        {
          :kind => :element,
          :name => "FakturaZaliczkowa",
          :min => 0,
          :max => 100
        },
        {
          :kind => :element,
          :name => "ZwrotAkcyzy",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "FaWiersz",
          :min => 0,
          :max => 10000
        },
        {
          :kind => :element,
          :name => "Rozliczenie",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Platnosc",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "WarunkiTransakcji",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Zamowienie",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Adnotacje" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "P_16",
          :type => "etd:TWybor1_2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_17",
          :type => "etd:TWybor1_2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_18",
          :type => "etd:TWybor1_2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_18A",
          :type => "etd:TWybor1_2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Zwolnienie",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NoweSrodkiTransportu",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_23",
          :type => "etd:TWybor1_2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "PMarzy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Adnotacje/NoweSrodkiTransportu" => {
    :content => {
      :kind => :choice,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :sequence,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_22",
              :type => "etd:TWybor1",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "P_42_5",
              :type => "etd:TWybor1_2",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "NowySrodekTransportu",
              :min => 1,
              :max => 10000
            }
          ]
        },
        {
          :kind => :element,
          :name => "P_22N",
          :type => "etd:TWybor1",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Adnotacje/NoweSrodkiTransportu/NowySrodekTransportu" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "P_22A",
          :type => "tns:TDataT",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_NrWierszaNST",
          :type => "tns:TNaturalny",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_22BMK",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_22BMD",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_22BK",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_22BNR",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_22BRP",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :choice,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "P_22B",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :choice,
                  :min => 0,
                  :max => 1,
                  :particles => [
                    {
                      :kind => :element,
                      :name => "P_22B1",
                      :type => "tns:TZnakowy",
                      :min => 0,
                      :max => 1
                    },
                    {
                      :kind => :element,
                      :name => "P_22B2",
                      :type => "tns:TZnakowy",
                      :min => 0,
                      :max => 1
                    },
                    {
                      :kind => :element,
                      :name => "P_22B3",
                      :type => "tns:TZnakowy",
                      :min => 0,
                      :max => 1
                    },
                    {
                      :kind => :element,
                      :name => "P_22B4",
                      :type => "tns:TZnakowy",
                      :min => 0,
                      :max => 1
                    }
                  ]
                },
                {
                  :kind => :element,
                  :name => "P_22BT",
                  :type => "tns:TZnakowy",
                  :min => 0,
                  :max => 1
                }
              ]
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "P_22C",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "P_22C1",
                  :type => "tns:TZnakowy",
                  :min => 0,
                  :max => 1
                }
              ]
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "P_22D",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "P_22D1",
                  :type => "tns:TZnakowy",
                  :min => 0,
                  :max => 1
                }
              ]
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Adnotacje/PMarzy" => {
    :content => {
      :kind => :choice,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :sequence,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_PMarzy",
              :type => "etd:TWybor1",
              :min => 1,
              :max => 1
            },
            {
              :kind => :choice,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "P_PMarzy_2",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "P_PMarzy_3_1",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "P_PMarzy_3_2",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "P_PMarzy_3_3",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                }
              ]
            }
          ]
        },
        {
          :kind => :element,
          :name => "P_PMarzyN",
          :type => "etd:TWybor1",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Adnotacje/Zwolnienie" => {
    :content => {
      :kind => :choice,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :sequence,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "P_19",
              :type => "etd:TWybor1",
              :min => 1,
              :max => 1
            },
            {
              :kind => :choice,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "P_19A",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "P_19B",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "P_19C",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                }
              ]
            }
          ]
        },
        {
          :kind => :element,
          :name => "P_19N",
          :type => "etd:TWybor1",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/DaneFaKorygowanej" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "DataWystFaKorygowanej",
          :type => "tns:TDataT",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NrFaKorygowanej",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :choice,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "NrKSeF",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "NrKSeFFaKorygowanej",
                  :type => "tns:TNumerKSeF",
                  :min => 1,
                  :max => 1
                }
              ]
            },
            {
              :kind => :element,
              :name => "NrKSeFN",
              :type => "etd:TWybor1",
              :min => 1,
              :max => 1
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/FaWiersz" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "NrWierszaFa",
          :type => "tns:TNaturalny",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "UU_ID",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_6A",
          :type => "tns:TDataT",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_7",
          :type => "tns:TZnakowy512",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Indeks",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "GTIN",
          :type => "tns:TZnakowy20",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "PKWiU",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "CN",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "PKOB",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_8A",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_8B",
          :type => "tns:TIlosci",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_9A",
          :type => "tns:TKwotowy2",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_9B",
          :type => "tns:TKwotowy2",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_10",
          :type => "tns:TKwotowy2",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_11",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_11A",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_11Vat",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_12",
          :type => "tns:TStawkaPodatku",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_12_XII",
          :type => "tns:TProcentowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_12_Zal_15",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "KwotaAkcyzy",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "GTU",
          :type => "tns:TGTU",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Procedura",
          :type => "tns:TOznaczenieProcedury",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "KursWaluty",
          :type => "tns:TIlosci",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "StanPrzed",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/FakturaZaliczkowa" => {
    :content => {
      :kind => :choice,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :sequence,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "NrKSeFZN",
              :type => "etd:TWybor1",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "NrFaZaliczkowej",
              :type => "tns:TZnakowy",
              :min => 1,
              :max => 1
            }
          ]
        },
        {
          :kind => :element,
          :name => "NrKSeFFaZaliczkowej",
          :type => "tns:TNumerKSeF",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/OkresFa" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "P_6_Od",
          :type => "tns:TDataT",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_6_Do",
          :type => "tns:TDataT",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Platnosc" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :choice,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "Zaplacono",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "DataZaplaty",
                  :type => "tns:TData",
                  :min => 1,
                  :max => 1
                }
              ]
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "ZnacznikZaplatyCzesciowej",
                  :type => "etd:TWybor1_2",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "ZaplataCzesciowa",
                  :min => 1,
                  :max => 100
                }
              ]
            }
          ]
        },
        {
          :kind => :element,
          :name => "TerminPlatnosci",
          :min => 0,
          :max => 100
        },
        {
          :kind => :choice,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "FormaPlatnosci",
              :type => "tns:TFormaPlatnosci",
              :min => 1,
              :max => 1
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "PlatnoscInna",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "OpisPlatnosci",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                }
              ]
            }
          ]
        },
        {
          :kind => :element,
          :name => "RachunekBankowy",
          :type => "tns:TRachunekBankowy",
          :min => 0,
          :max => 100
        },
        {
          :kind => :element,
          :name => "RachunekBankowyFaktora",
          :type => "tns:TRachunekBankowy",
          :min => 0,
          :max => 20
        },
        {
          :kind => :element,
          :name => "Skonto",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "LinkDoPlatnosci",
          :base => "tns:TZnakowy512",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "IPKSeF",
          :base => "tns:TZnakowy20",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Platnosc/Skonto" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "WarunkiSkonta",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "WysokoscSkonta",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Platnosc/TerminPlatnosci" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Termin",
          :type => "tns:TData",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "TerminOpis",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Platnosc/TerminPlatnosci/TerminOpis" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Ilosc",
          :type => "xsd:integer",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Jednostka",
          :type => "tns:TZnakowy50",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "ZdarzeniePoczatkowe",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Platnosc/ZaplataCzesciowa" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "KwotaZaplatyCzesciowej",
          :type => "tns:TKwotowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DataZaplatyCzesciowej",
          :type => "tns:TData",
          :min => 1,
          :max => 1
        },
        {
          :kind => :choice,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "FormaPlatnosci",
              :type => "tns:TFormaPlatnosci",
              :min => 1,
              :max => 1
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "PlatnoscInna",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "OpisPlatnosci",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                }
              ]
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Podmiot1K" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "PrefiksPodatnika",
          :type => "tns:TKodyKrajowUE",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneIdentyfikacyjne",
          :type => "tns:TPodmiot1",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Adres",
          :type => "tns:TAdres",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Podmiot2K" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "DaneIdentyfikacyjne",
          :type => "tns:TPodmiot2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Adres",
          :type => "tns:TAdres",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "IDNabywcy",
          :base => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Rozliczenie" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Obciazenia",
          :min => 0,
          :max => 100
        },
        {
          :kind => :element,
          :name => "SumaObciazen",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Odliczenia",
          :min => 0,
          :max => 100
        },
        {
          :kind => :element,
          :name => "SumaOdliczen",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :choice,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "DoZaplaty",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "DoRozliczenia",
              :type => "tns:TKwotowy",
              :min => 1,
              :max => 1
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Rozliczenie/Obciazenia" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Kwota",
          :type => "tns:TKwotowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Powod",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Rozliczenie/Odliczenia" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Kwota",
          :type => "tns:TKwotowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Powod",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/WarunkiTransakcji" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Umowy",
          :min => 0,
          :max => 100
        },
        {
          :kind => :element,
          :name => "Zamowienia",
          :min => 0,
          :max => 100
        },
        {
          :kind => :element,
          :name => "NrPartiiTowaru",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1000
        },
        {
          :kind => :element,
          :name => "WarunkiDostawy",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "KursUmowny",
              :type => "tns:TIlosci",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "WalutaUmowna",
              :type => "tns:TKodWaluty",
              :min => 1,
              :max => 1
            }
          ]
        },
        {
          :kind => :element,
          :name => "Transport",
          :min => 0,
          :max => 20
        },
        {
          :kind => :element,
          :name => "PodmiotPosredniczacy",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/WarunkiTransakcji/Transport" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :choice,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "RodzajTransportu",
              :type => "tns:TRodzajTransportu",
              :min => 1,
              :max => 1
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "TransportInny",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "OpisInnegoTransportu",
                  :type => "tns:TZnakowy50",
                  :min => 1,
                  :max => 1
                }
              ]
            }
          ]
        },
        {
          :kind => :element,
          :name => "Przewoznik",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NrZleceniaTransportu",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :sequence,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :choice,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "OpisLadunku",
                  :type => "tns:TLadunek",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :sequence,
                  :min => 1,
                  :max => 1,
                  :particles => [
                    {
                      :kind => :element,
                      :name => "LadunekInny",
                      :type => "etd:TWybor1",
                      :min => 1,
                      :max => 1
                    },
                    {
                      :kind => :element,
                      :name => "OpisInnegoLadunku",
                      :type => "tns:TZnakowy50",
                      :min => 1,
                      :max => 1
                    }
                  ]
                }
              ]
            },
            {
              :kind => :element,
              :name => "JednostkaOpakowania",
              :type => "tns:TZnakowy",
              :min => 0,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "DataGodzRozpTransportu",
              :type => "tns:TDataCzas",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "DataGodzZakTransportu",
              :type => "tns:TDataCzas",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "WysylkaZ",
              :type => "tns:TAdres",
              :min => 0,
              :max => 1
            },
            {
              :kind => :element,
              :name => "WysylkaPrzez",
              :type => "tns:TAdres",
              :min => 0,
              :max => 20
            },
            {
              :kind => :element,
              :name => "WysylkaDo",
              :type => "tns:TAdres",
              :min => 0,
              :max => 1
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/WarunkiTransakcji/Transport/Przewoznik" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "DaneIdentyfikacyjne",
          :type => "tns:TPodmiot2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresPrzewoznika",
          :type => "tns:TAdres",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/WarunkiTransakcji/Umowy" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "DataUmowy",
          :type => "tns:TDataU",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NrUmowy",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/WarunkiTransakcji/Zamowienia" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "DataZamowienia",
          :type => "tns:TDataU",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NrZamowienia",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/ZaliczkaCzesciowa" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "P_6Z",
          :type => "tns:TDataT",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_15Z",
          :type => "tns:TKwotowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "KursWalutyZW",
          :type => "tns:TIlosci",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Zamowienie" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "WartoscZamowienia",
          :type => "tns:TKwotowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "ZamowienieWiersz",
          :min => 1,
          :max => 10000
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Fa/Zamowienie/ZamowienieWiersz" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "NrWierszaZam",
          :type => "tns:TNaturalny",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "UU_IDZ",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_7Z",
          :type => "tns:TZnakowy512",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "IndeksZ",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "GTINZ",
          :type => "tns:TZnakowy20",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "PKWiUZ",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "CNZ",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "PKOBZ",
          :type => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_8AZ",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_8BZ",
          :type => "tns:TIlosci",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_9AZ",
          :type => "tns:TKwotowy2",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_11NettoZ",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_11VatZ",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_12Z",
          :type => "tns:TStawkaPodatku",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_12Z_XII",
          :type => "tns:TProcentowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "P_12Z_Zal_15",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "GTUZ",
          :type => "tns:TGTU",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "ProceduraZ",
          :type => "tns:TOznaczenieProceduryZ",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "KwotaAkcyzyZ",
          :type => "tns:TKwotowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "StanPrzedZ",
          :type => "etd:TWybor1",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Podmiot1" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "PrefiksPodatnika",
          :type => "tns:TKodyKrajowUE",
          :fixed => "PL",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NrEORI",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneIdentyfikacyjne",
          :type => "tns:TPodmiot1",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Adres",
          :type => "tns:TAdres",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresKoresp",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneKontaktowe",
          :min => 0,
          :max => 3
        },
        {
          :kind => :element,
          :name => "StatusInfoPodatnika",
          :type => "tns:TStatusInfoPodatnika",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Podmiot1/AdresKoresp" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "KodKraju",
          :type => "etd:TKodKraju",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresL1",
          :type => "tns:TZnakowy512",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresL2",
          :type => "tns:TZnakowy512",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "GLN",
          :type => "tns:TGLN",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Podmiot1/DaneKontaktowe" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Email",
          :type => "etd:TAdresEmail",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Telefon",
          :type => "tns:TNumerTelefonu",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Podmiot2" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "NrEORI",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneIdentyfikacyjne",
          :type => "tns:TPodmiot2",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Adres",
          :type => "tns:TAdres",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresKoresp",
          :type => "tns:TAdres",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneKontaktowe",
          :min => 0,
          :max => 3
        },
        {
          :kind => :element,
          :name => "NrKlienta",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "IDNabywcy",
          :base => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "JST",
          :base => "xsd:integer",
          :values => [
            "1",
            "2"
          ],
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "GV",
          :base => "xsd:integer",
          :values => [
            "1",
            "2"
          ],
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Podmiot2/DaneKontaktowe" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Email",
          :type => "etd:TAdresEmail",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Telefon",
          :type => "tns:TNumerTelefonu",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Podmiot3" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "IDNabywcy",
          :base => "tns:TZnakowy50",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NrEORI",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneIdentyfikacyjne",
          :type => "tns:TPodmiot3",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Adres",
          :type => "tns:TAdres",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresKoresp",
          :type => "tns:TAdres",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneKontaktowe",
          :min => 0,
          :max => 3
        },
        {
          :kind => :choice,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "Rola",
              :type => "tns:TRolaPodmiotu3",
              :min => 1,
              :max => 1
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "RolaInna",
                  :type => "etd:TWybor1",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "OpisRoli",
                  :type => "tns:TZnakowy",
                  :min => 1,
                  :max => 1
                }
              ]
            }
          ]
        },
        {
          :kind => :element,
          :name => "Udzial",
          :type => "tns:TProcentowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NrKlienta",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Podmiot3/DaneKontaktowe" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Email",
          :type => "etd:TAdresEmail",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Telefon",
          :type => "tns:TNumerTelefonu",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/PodmiotUpowazniony" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "NrEORI",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneIdentyfikacyjne",
          :type => "tns:TPodmiot1",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Adres",
          :type => "tns:TAdres",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresKoresp",
          :type => "tns:TAdres",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DaneKontaktowe",
          :min => 0,
          :max => 3
        },
        {
          :kind => :element,
          :name => "RolaPU",
          :type => "tns:TRolaPodmiotuUpowaznionego",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/PodmiotUpowazniony/DaneKontaktowe" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "EmailPU",
          :type => "etd:TAdresEmail",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "TelefonPU",
          :type => "tns:TNumerTelefonu",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Stopka" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Informacje",
          :min => 0,
          :max => 3
        },
        {
          :kind => :element,
          :name => "Rejestry",
          :min => 0,
          :max => 100
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Stopka/Informacje" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "StopkaFaktury",
          :type => "etd:TTekstowy",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Stopka/Rejestry" => {
    :content => {
      :kind => :sequence,
      :min => 0,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "PelnaNazwa",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "KRS",
          :type => "etd:TNrKRS",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "REGON",
          :type => "etd:TNrREGON",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "BDO",
          :base => "tns:TZnakowy",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "BlokDanych",
          :min => 1,
          :max => 1000
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "ZNaglowek",
          :type => "tns:TZnakowy512",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "MetaDane",
          :min => 1,
          :max => 1000
        },
        {
          :kind => :element,
          :name => "Tekst",
          :min => 0,
          :max => 1
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "Tabela",
              :min => 0,
              :max => 1000
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/MetaDane" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "ZKlucz",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "ZWartosc",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/Tabela" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "TMetaDane",
          :min => 0,
          :max => 1000
        },
        {
          :kind => :element,
          :name => "Opis",
          :type => "tns:TZnakowy512",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "TNaglowek",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Wiersz",
          :min => 1,
          :max => 1000
        },
        {
          :kind => :element,
          :name => "Suma",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/Tabela/Suma" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "SKom",
          :type => "tns:TZnakowy2",
          :min => 1,
          :max => 20
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/Tabela/TMetaDane" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "TKlucz",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "TWartosc",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/Tabela/TNaglowek" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Kol",
          :min => 1,
          :max => 20
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/Tabela/TNaglowek/Kol" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "NKom",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => [
      {
        :name => "Typ",
        :use => "required",
        :values => [
          "date",
          "datetime",
          "dec",
          "int",
          "time",
          "txt"
        ]
      }
    ]
  },
  "Faktura/Zalacznik/BlokDanych/Tabela/TNaglowek/Kol/NKom" => {
    :content => nil,
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/Tabela/Wiersz" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "WKom",
          :type => "tns:TZnakowy2",
          :min => 1,
          :max => 20
        }
      ]
    },
    :attributes => []
  },
  "Faktura/Zalacznik/BlokDanych/Tekst" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "Akapit",
          :type => "tns:TZnakowy512",
          :min => 1,
          :max => 10
        }
      ]
    },
    :attributes => []
  },
  "TAdres" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "KodKraju",
          :type => "etd:TKodKraju",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresL1",
          :type => "tns:TZnakowy512",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "AdresL2",
          :type => "tns:TZnakowy512",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "GLN",
          :type => "tns:TGLN",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "TKluczWartosc" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "NrWiersza",
          :type => "tns:TNaturalny",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Klucz",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Wartosc",
          :type => "tns:TZnakowy",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "TNaglowek" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "KodFormularza",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "WariantFormularza",
          :base => "xsd:byte",
          :values => [
            "3"
          ],
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "DataWytworzeniaFa",
          :base => "etd:TDataCzas",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "SystemInfo",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "TNaglowek/KodFormularza" => {
    :content => nil,
    :attributes => [
      {
        :name => "kodSystemowy",
        :type => "xsd:string",
        :use => "required",
        :fixed => "FA (3)"
      },
      {
        :name => "wersjaSchemy",
        :type => "xsd:string",
        :use => "required",
        :fixed => "1-0E"
      }
    ]
  },
  "TPodmiot1" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :element,
          :name => "NIP",
          :type => "etd:TNrNIP",
          :min => 1,
          :max => 1
        },
        {
          :kind => :element,
          :name => "Nazwa",
          :type => "tns:TZnakowy512",
          :min => 1,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
  "TPodmiot2" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :choice,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "NIP",
              :type => "etd:TNrNIP",
              :min => 1,
              :max => 1
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "KodUE",
                  :type => "tns:TKodyKrajowUE",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "NrVatUE",
                  :type => "tns:TNrVatUE",
                  :min => 1,
                  :max => 1
                }
              ]
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "KodKraju",
                  :type => "etd:TKodKraju",
                  :min => 0,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "NrID",
                  :base => "etd:TNrIdentyfikacjiPodatkowej",
                  :min => 1,
                  :max => 1
                }
              ]
            },
            {
              :kind => :element,
              :name => "BrakID",
              :type => "etd:TWybor1",
              :min => 1,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "Nazwa",
              :type => "tns:TZnakowy512",
              :min => 1,
              :max => 1
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "TPodmiot3" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :choice,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "NIP",
              :type => "etd:TNrNIP",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "IDWew",
              :type => "tns:TNIPIdWew",
              :min => 1,
              :max => 1
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "KodUE",
                  :type => "tns:TKodyKrajowUE",
                  :min => 1,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "NrVatUE",
                  :type => "tns:TNrVatUE",
                  :min => 1,
                  :max => 1
                }
              ]
            },
            {
              :kind => :sequence,
              :min => 1,
              :max => 1,
              :particles => [
                {
                  :kind => :element,
                  :name => "KodKraju",
                  :type => "etd:TKodKraju",
                  :min => 0,
                  :max => 1
                },
                {
                  :kind => :element,
                  :name => "NrID",
                  :base => "etd:TNrIdentyfikacjiPodatkowej",
                  :min => 1,
                  :max => 1
                }
              ]
            },
            {
              :kind => :element,
              :name => "BrakID",
              :type => "etd:TWybor1",
              :min => 1,
              :max => 1
            }
          ]
        },
        {
          :kind => :sequence,
          :min => 0,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "Nazwa",
              :type => "tns:TZnakowy512",
              :min => 1,
              :max => 1
            }
          ]
        }
      ]
    },
    :attributes => []
  },
  "TRachunekBankowy" => {
    :content => {
      :kind => :sequence,
      :min => 1,
      :max => 1,
      :particles => [
        {
          :kind => :sequence,
          :min => 1,
          :max => 1,
          :particles => [
            {
              :kind => :element,
              :name => "NrRB",
              :type => "tns:TNrRB",
              :min => 1,
              :max => 1
            },
            {
              :kind => :element,
              :name => "SWIFT",
              :type => "tns:SWIFT_Type",
              :min => 0,
              :max => 1
            }
          ]
        },
        {
          :kind => :element,
          :name => "RachunekWlasnyBanku",
          :type => "tns:TRachunekWlasnyBanku",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "NazwaBanku",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        },
        {
          :kind => :element,
          :name => "OpisRachunku",
          :type => "tns:TZnakowy",
          :min => 0,
          :max => 1
        }
      ]
    },
    :attributes => []
  },
}.freeze

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Hash?

Returns:

  • (Hash, nil)


3280
# File 'lib/ksef/fa3/generated/types.rb', line 3280

def self.[](key) = ALL[key]

.ordered_elements(key) ⇒ Array<Hash>

Element particles in schema order, flattened through compositors.

Note this deliberately discards choice semantics — use it for ordering only. Anything enforcing "exactly one of" must walk content itself.

Returns:

  • (Array<Hash>)


3288
3289
3290
3291
# File 'lib/ksef/fa3/generated/types.rb', line 3288

def self.ordered_elements(key)
  root = ALL.fetch(key, {})[:content]
  root ? flatten([root]) : []
end

.root_choice?(key) ⇒ Boolean

Whether this type's root compositor is a choice, i.e. its top-level particles are mutually exclusive alternatives.

Returns:

  • (Boolean)


3295
3296
3297
# File 'lib/ksef/fa3/generated/types.rb', line 3295

def self.root_choice?(key)
  ALL.fetch(key, {}).dig(:content, :kind) == :choice
end