<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="WeitergabeHauptzollamt" type="WeiterleitungTRATyp">
    <xs:annotation>
      <xs:documentation>Version 003 - Release 001</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:simpleType name="an..10">
    <xs:restriction base="xs:string">
      <xs:maxLength value="10"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..100">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..120">
    <xs:restriction base="xs:string">
      <xs:maxLength value="120"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..20">
    <xs:restriction base="xs:string">
      <xs:maxLength value="20"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..21">
    <xs:restriction base="xs:string">
      <xs:maxLength value="21"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..30">
    <xs:restriction base="xs:string">
      <xs:maxLength value="30"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..35">
    <xs:restriction base="xs:string">
      <xs:maxLength value="35"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..4000">
    <xs:restriction base="xs:string">
      <xs:maxLength value="4000"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..6">
    <xs:restriction base="xs:string">
      <xs:maxLength value="6"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsDataType">
    <xs:sequence>
      <xs:element name="Key" type="an..35" minOccurs="0"/>
      <xs:element name="Value" type="an..100" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataAdditionalDetailsType">
    <xs:sequence>
      <xs:element name="Data" type="ApplicationInternalDataAdditionalDetailsDataType" minOccurs="0" maxOccurs="999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationInternalDataType">
    <xs:sequence>
      <xs:element name="AdditionalDetails" type="ApplicationInternalDataAdditionalDetailsType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DatenaustauschFreierVerkehrTyp">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionFreierVerkehrTyp"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EinzelWeiterleitungTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungTRATyp" minOccurs="0"/>
      <xs:element name="KopfDaten" type="KopfDatenWeiterleitungTyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="KopfDatenWeiterleitungTyp">
    <xs:sequence>
      <xs:element name="ZollBearbeiter" type="an..30" minOccurs="0"/>
      <xs:element name="WeiterleitungBegruendung" type="an..4000" minOccurs="0"/>
      <xs:element name="WeitergeleiteteZollanmeldungRegistrierNr" type="an..21" minOccurs="0"/>
      <xs:element name="VeralteteWeitereRegistriernummer" type="an..21" minOccurs="0"/>
      <xs:element name="WeiterleitungDatum" type="xs:date" minOccurs="0"/>
      <xs:element name="Dienststellenschluessel" type="n4" minOccurs="0"/>
      <xs:element name="HZABezeichnung" type="an..120" minOccurs="0"/>
      <xs:element name="HZAOrtS" type="an..35" minOccurs="0"/>
      <xs:element name="HZAPLZS" type="an..6" minOccurs="0"/>
      <xs:element name="HZAStrasseHausNr" type="an..30" minOccurs="0"/>
      <xs:element name="HZAOrtP" type="an..35" minOccurs="0"/>
      <xs:element name="HZAPLZP" type="an..6" minOccurs="0"/>
      <xs:element name="HZAPostfach" type="an..20" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n3">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{3}"/>
      <xs:totalDigits value="3"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n4">
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:pattern value="\d{4}"/>
      <xs:totalDigits value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ObjektIdentifizierungTRATyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..35"/>
      <xs:element name="ObjektAlias" type="an..35" minOccurs="0"/>
      <xs:element name="EDIFACTNachrichtenNr" type="an..35"/>
      <xs:element name="ZeitpunktEingang" type="xs:dateTime"/>
      <xs:element name="ShipmentReferenz" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransaktionFreierVerkehrTyp">
    <xs:sequence>
      <xs:element name="IOPartner" type="an..100"/>
      <xs:element name="IODivision1" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision2" type="an..10" minOccurs="0"/>
      <xs:element name="IODivision3" type="an..10" minOccurs="0"/>
      <xs:element name="IOReferenz" type="an..35"/>
      <xs:element name="IODatumZeit" type="xs:dateTime"/>
      <xs:element name="Version" type="n3" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="WeiterleitungTRATyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschFreierVerkehrTyp">
        <xs:sequence>
          <xs:element name="EinzelWeiterleitung" type="EinzelWeiterleitungTyp" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>
