<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="AnmeldungStatusMeldung" type="AnmeldungStatusMeldungESTyp">
    <xs:annotation>
      <xs:documentation>Version 006 - Release 002</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..17">
    <xs:restriction base="xs:string">
      <xs:maxLength value="17"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..18">
    <xs:restriction base="xs:string">
      <xs:maxLength value="18"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..2">
    <xs:restriction base="xs:string">
      <xs:maxLength value="2"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..22">
    <xs:restriction base="xs:string">
      <xs:maxLength value="22"/>
    </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..350">
    <xs:restriction base="xs:string">
      <xs:maxLength value="350"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..512">
    <xs:restriction base="xs:string">
      <xs:maxLength value="512"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..70">
    <xs:restriction base="xs:string">
      <xs:maxLength value="70"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..8">
    <xs:restriction base="xs:string">
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AnmelderESTyp">
    <xs:sequence>
      <xs:element name="TeilnehmerEORI" type="an..17" minOccurs="0"/>
      <xs:element name="TeilnehmerNLNR" type="n..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AnmelderVertreterESTyp">
    <xs:sequence>
      <xs:element name="TeilnehmerEORI" type="an..17" minOccurs="0"/>
      <xs:element name="TeilnehmerNLNR" type="n..4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AnmeldungStatusMeldungESTyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschExportTyp">
        <xs:sequence>
          <xs:element name="EinzelStatusMeldung" type="EinzelAnmeldungStatusMeldungTyp" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <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="DatenaustauschExportTyp">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionExportTyp"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DeclarantESType">
    <xs:sequence>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="SubsidiaryNumber" type="n4" minOccurs="0"/>
      <xs:element name="Name" type="an..70" minOccurs="0"/>
      <xs:element name="StreetAndNumber" type="an..70" minOccurs="0"/>
      <xs:element name="City" type="an..35" minOccurs="0"/>
      <xs:element name="Postcode" type="an..17" minOccurs="0"/>
      <xs:element name="Country" type="an..2" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EinzelAnmeldungStatusMeldungTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungESTyp"/>
      <xs:element name="KopfDaten" type="KopfDatenStatusMeldungTyp" minOccurs="0"/>
      <xs:element name="FehlerMeldung" type="FehlerMeldungESTyp" minOccurs="0" maxOccurs="99"/>
      <xs:element name="ExportOperation" type="ExportOperationESType" minOccurs="0"/>
      <xs:element name="Error" type="ErrorESType" minOccurs="0" maxOccurs="9999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ErrorESType">
    <xs:sequence>
      <xs:element name="ErrorCode" type="an..8" minOccurs="0"/>
      <xs:element name="ErrorText" type="an..512" minOccurs="0"/>
      <xs:element name="ErrorPointer" type="an..512" minOccurs="0"/>
      <xs:element name="OriginalAttributeValue" type="an..512" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ExportOperationESType">
    <xs:sequence>
      <xs:element name="ExportStatus" type="an..4" minOccurs="0"/>
      <xs:element name="Reason" type="an..512" minOccurs="0"/>
      <xs:element name="MRN" type="an..18" minOccurs="0"/>
      <xs:element name="DeclarationRecordationDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="DeclarationAcceptanceDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="AmendmentAcceptanceDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="SupplementAcceptanceDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="ReleaseDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="LocationRejectionDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="PresentationStartDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="LoadingEndDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="InvalidationAcceptanceDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="CessationDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="RejectionDateAndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="RejectionCode" type="an..2" minOccurs="0"/>
      <xs:element name="CustomsOfficeOfExport" type="an..8" minOccurs="0"/>
      <xs:element name="CustomsOfficeOfSupplement" type="an..8" minOccurs="0"/>
      <xs:element name="Declarant" type="DeclarantESType" minOccurs="0"/>
      <xs:element name="Representative" type="RepresentativeESType" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FehlerMeldungESTyp">
    <xs:sequence>
      <xs:element name="FehlerCode" type="an..8" minOccurs="0"/>
      <xs:element name="FehlerText" type="an..350" minOccurs="0"/>
      <xs:element name="FehlerZeiger" type="an..350" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="KopfDatenStatusMeldungTyp">
    <xs:sequence>
      <xs:element name="MovementReferenceNumber" type="an..18" minOccurs="0"/>
      <xs:element name="EntgegennahmeDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="EntscheidungAnnahmeDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="EnscheidungUeberlassungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="AblehnungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="BeginnVerladungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="EndeVerladungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="EnscheidungStornierungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="VorankuendigungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="AbweisungVorankuendigungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="ErledigungDatumZeit" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="AusfuhrZollstelleID" type="an..8" minOccurs="0"/>
      <xs:element name="AusfuhrzollstelleSachbearbeiter" type="an..35" minOccurs="0"/>
      <xs:element name="AusfuhrzollstelleTelefon" type="an..35" minOccurs="0"/>
      <xs:element name="ZollstelleEAMID" type="an..8" minOccurs="0"/>
      <xs:element name="ZollstelleEAMSachbearbeiter" type="an..35" minOccurs="0"/>
      <xs:element name="ZollstelleEAMTelefon" type="an..35" minOccurs="0"/>
      <xs:element name="Grund" type="an..350" minOccurs="0"/>
      <xs:element name="ErledigungStatusCode" type="an..2" minOccurs="0"/>
      <xs:element name="Anmelder" type="AnmelderESTyp" minOccurs="0"/>
      <xs:element name="AnmelderVertreter" type="AnmelderVertreterESTyp" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n..4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,4}([.,](0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <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="ObjektIdentifizierungESTyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..22"/>
      <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="RepresentativeESType">
    <xs:sequence>
      <xs:element name="IdentificationNumber" type="an..17" minOccurs="0"/>
      <xs:element name="SubsidiaryNumber" type="n4" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransaktionExportTyp">
    <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:schema>
