<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="SummarischeAnmeldung" type="SummarischeAnmeldungVVTyp">
    <xs:annotation>
      <xs:documentation>Version 001 - Release 015</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="AdresseVVTyp">
    <xs:sequence>
      <xs:element name="TeilnehmerEORI" type="an..17" minOccurs="0"/>
      <xs:element name="TeilnehmerNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="Zollnummer" type="an..7" minOccurs="0"/>
      <xs:element name="NameFirma" type="an..120" minOccurs="0"/>
      <xs:element name="Nationalitaet" type="an..2" minOccurs="0"/>
      <xs:element name="StrasseHausnummer" type="an..35" minOccurs="0"/>
      <xs:element name="PostleitzahlS" type="an..9" minOccurs="0"/>
      <xs:element name="OrtS" type="an..35" minOccurs="0"/>
      <xs:element name="Ortsteil" type="an..35" minOccurs="0"/>
      <xs:element name="Postfach" type="an..20" minOccurs="0"/>
      <xs:element name="PostleitzahlP" type="an..9" minOccurs="0"/>
      <xs:element name="OrtP" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="an..1">
    <xs:restriction base="xs:string">
      <xs:maxLength value="1"/>
    </xs:restriction>
  </xs:simpleType>
  <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..140">
    <xs:restriction base="xs:string">
      <xs:maxLength value="140"/>
    </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..20">
    <xs:restriction base="xs:string">
      <xs:maxLength value="20"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..256">
    <xs:restriction base="xs:string">
      <xs:maxLength value="256"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..280">
    <xs:restriction base="xs:string">
      <xs:maxLength value="280"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="3"/>
    </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..4">
    <xs:restriction base="xs:string">
      <xs:maxLength value="4"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..44">
    <xs:restriction base="xs:string">
      <xs:maxLength value="44"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="5"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..6">
    <xs:restriction base="xs:string">
      <xs:maxLength value="6"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="an..7">
    <xs:restriction base="xs:string">
      <xs:maxLength value="7"/>
    </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:simpleType name="an..9">
    <xs:restriction base="xs:string">
      <xs:maxLength value="9"/>
    </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="BefoerderungsmittelVVTyp">
    <xs:sequence>
      <xs:element name="ArtCode" type="an..2" minOccurs="0"/>
      <xs:element name="BeschreibungSonstiges" type="an..17" minOccurs="0"/>
      <xs:element name="Kennzeichen" type="an..30" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DatenaustauschSumAInTyp">
    <xs:sequence>
      <xs:element name="Transaktion" type="TransaktionSumAInTyp"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="EinzelSummarischeAnmledungTyp">
    <xs:sequence>
      <xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungVVTyp" minOccurs="0"/>
      <xs:element name="KopfDaten" type="KopfDatenSummarischeAnmeldungTyp" minOccurs="0"/>
      <xs:element name="Position" type="PositionSummarischeAnmeldungTyp" minOccurs="0" maxOccurs="9999"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="emptyString">
    <xs:restriction base="xs:string">
      <xs:length value="0"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="KopfDatenSummarischeAnmeldungTyp">
    <xs:sequence>
      <xs:element name="Dienststelle" type="an..8" minOccurs="0"/>
      <xs:element name="Gestellender" type="AdresseVVTyp" minOccurs="0"/>
      <xs:element name="VertreterEORI" type="an..17" minOccurs="0"/>
      <xs:element name="VertreterNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="Vertreter" type="an..7" minOccurs="0"/>
      <xs:element name="BearbeiterName" type="an..35" minOccurs="0"/>
      <xs:element name="BearbeiterStellungFirma" type="an..35" minOccurs="0"/>
      <xs:element name="BearbeiterTelefonNr" type="an..35" minOccurs="0"/>
      <xs:element name="BearbeiterEmailAdresse" type="an..256" minOccurs="0"/>
      <xs:element name="VorzeitigKz" type="an..1" minOccurs="0"/>
      <xs:element name="Gestellungsdatum" type="xs:date" minOccurs="0"/>
      <xs:element name="Gestellungsuhrzeit" type="xs:time" minOccurs="0"/>
      <xs:element name="NCTSVersandKz" type="an..1" minOccurs="0"/>
      <xs:element name="SeeverkehrKz" type="an..1" minOccurs="0"/>
      <xs:element name="Befoerderungsmittel" type="BefoerderungsmittelVVTyp" minOccurs="0"/>
      <xs:element name="NummerBefoerderung" type="an..8" minOccurs="0"/>
      <xs:element name="Ankunftsdatum" type="optionalDate" minOccurs="0"/>
      <xs:element name="AbgangsstelleBeladeort" type="an..35" minOccurs="0"/>
      <xs:element name="GesamtContainerAnz" type="n..4" minOccurs="0"/>
      <xs:element name="Vorpapierart" type="an..6" minOccurs="0"/>
      <xs:element name="Vorpapiernummer" type="an..30" minOccurs="0"/>
      <xs:element name="VerkehrszweigGrenze" type="an..2" minOccurs="0"/>
      <xs:element name="ErsteEingangsZollstelleAngemeldet" type="an..8" minOccurs="0"/>
      <xs:element name="ErsteEingangsZollstelleKennzeichen" type="an..1" minOccurs="0"/>
      <xs:element name="ZusatzAngabenAnmeldung" type="an..280" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="n..14.3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,11}([.,]\d{0,3}(0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="n..3">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,3}([.,](0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <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="n..5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)\d{0,5}([.,](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:complexType name="ObjektIdentifizierungVVTyp">
    <xs:sequence>
      <xs:element name="ObjektName" type="an..35" minOccurs="0"/>
      <xs:element name="ObjektAliasname" type="an..35" minOccurs="0"/>
      <xs:element name="BezugsnummerVorblendung" type="an..35" minOccurs="0"/>
      <xs:element name="KopieVon" type="an..35" minOccurs="0"/>
      <xs:element name="ObjektAktion" type="an..10" maxOccurs="2"/>
      <xs:element name="CompliancePruefung" type="an..3" minOccurs="0"/>
      <xs:element name="Bearbeiter" type="an..70" minOccurs="0"/>
      <xs:element name="ShipmentReferenz" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="optionalDate">
    <xs:union memberTypes="xs:date emptyString"/>
  </xs:simpleType>
  <xs:complexType name="PositionSummarischeAnmeldungTyp">
    <xs:sequence>
      <xs:element name="Positionsnummer" type="seq5" minOccurs="0"/>
      <xs:element name="Versendungsland" type="an..2" minOccurs="0"/>
      <xs:element name="Bestimmungsort" type="an..35" minOccurs="0"/>
      <xs:element name="ZollStatusWare" type="an..1" minOccurs="0"/>
      <xs:element name="ArtSpO" type="an..5" minOccurs="0"/>
      <xs:element name="SpezifischerOrdnungsbegriff" type="an..44" minOccurs="0"/>
      <xs:element name="ArtPackstuecke" type="an..3" minOccurs="0"/>
      <xs:element name="Stueckzahl" type="n..5" minOccurs="0"/>
      <xs:element name="Rohmasse" type="n..14.3" minOccurs="0"/>
      <xs:element name="Warenbeschreibung" type="an..140" minOccurs="0"/>
      <xs:element name="Warenkreis" type="an..1" minOccurs="0"/>
      <xs:element name="VerwahrerEORI" type="an..17" minOccurs="0"/>
      <xs:element name="VerwahrerNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="Verwahrer" type="an..7" minOccurs="0"/>
      <xs:element name="SchluesselVerwahrungsort" type="an..2" minOccurs="0"/>
      <xs:element name="VerwahrerBewilligung" type="an..35" minOccurs="0"/>
      <xs:element name="VerfuegungsberechtigterEORI" type="an..17" minOccurs="0"/>
      <xs:element name="VerfuegungsberechtigterNLNR" type="n..4" minOccurs="0"/>
      <xs:element name="Verfuegungsberechtigter" type="an..7" minOccurs="0"/>
      <xs:element name="UnterdrueckungVerwahrungsmitteilung" type="an..1" minOccurs="0"/>
      <xs:element name="MRNEingangSumA" type="an..18" minOccurs="0"/>
      <xs:element name="MRNPosition" type="n..3" minOccurs="0"/>
      <xs:element name="KZFreizone" type="an..1" minOccurs="0"/>
      <xs:element name="PoUSMRN" type="an..18" minOccurs="0"/>
      <xs:element name="PoUSPositionsnummer" type="n..5" minOccurs="0"/>
      <xs:element name="Transportdokument" type="TransportdokumentVVTyp" minOccurs="0"/>
      <xs:element name="TransportdokumentSammelsendung" type="TransportdokumentSammelsendungVVTyp" minOccurs="0"/>
      <xs:element name="BefoerdererEORI" type="an..17" minOccurs="0"/>
      <xs:element name="Transportausruestung" type="TransportausruestungVVTyp" minOccurs="0"/>
      <xs:element name="Postbehaelter" type="PostbehaelterVVTyp" minOccurs="0"/>
      <xs:element name="ApplicationInternalData" type="ApplicationInternalDataType" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PostbehaelterVVTyp">
    <xs:sequence>
      <xs:element name="PostbehaelterID" type="an..35" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="seq5">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
      <xs:pattern value="( *)(0*)[1-9]\d{0,4}([.,](0*))?( *)"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SummarischeAnmeldungVVTyp">
    <xs:complexContent>
      <xs:extension base="DatenaustauschSumAInTyp">
        <xs:sequence>
          <xs:element name="EinzelSummarischeAnmeldung" type="EinzelSummarischeAnmledungTyp" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="TransaktionSumAInTyp">
    <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="TransportausruestungVVTyp">
    <xs:sequence>
      <xs:element name="Containernummer" type="an..17" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransportdokumentSammelsendungVVTyp">
    <xs:sequence>
      <xs:element name="Art" type="an..4" minOccurs="0"/>
      <xs:element name="Nummer" type="an..70" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="TransportdokumentVVTyp">
    <xs:sequence>
      <xs:element name="Art" type="an..4" minOccurs="0"/>
      <xs:element name="Nummer" type="an..70" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
