<?xml version="1.0"?>
<xs:schema version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ServiceList">
    <xs:annotation>
      <xs:documentation>Liste von Anbieterdiensten, Rootelement</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ServiceItem" type="ServiceItem" />
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ServiceArea" type="ServiceArea" />
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ServiceCollection" type="ServiceCollection" />
      </xs:sequence>
      <xs:attribute name="ListDate" type="ListDate" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="ServiceInfo">
    <xs:annotation>
      <xs:documentation>Informationen über das Anbietersystem</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="Supplier" type="Supplier" />
        <xs:element minOccurs="1" maxOccurs="1" name="Transfer" type="Transfer" />
        <xs:element minOccurs="0" maxOccurs="1" name="Catalog" type="Catalog" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ProductList">
    <xs:annotation>
      <xs:documentation>Liste von Produkten</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ProductItem" type="ProductItem" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ProductInfo">
    <xs:annotation>
      <xs:documentation>Informationen zu einem Produkt</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element minOccurs="1" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
        <xs:element minOccurs="1" maxOccurs="1" name="ProductName" type="ProductName" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProductText" type="ProductText" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProductURL" type="ProductURL" />
        <xs:element minOccurs="1" maxOccurs="1" name="BaseUnitCode" type="BaseUnitCode" />
        <xs:element minOccurs="0" maxOccurs="1" name="OrderNumber" type="OrderNumber" />
        <xs:element minOccurs="0" maxOccurs="1" name="ConfigurationData" type="ConfigurationData" />
        <xs:element minOccurs="0" maxOccurs="1" name="PackageUnitCode" type="PackageUnitCode" />
        <xs:element minOccurs="0" maxOccurs="1" name="BaseQuantityPerPackageUnit" type="BaseQuantityPerPackageUnit" />
        <xs:element minOccurs="0" maxOccurs="1" name="OrderUnitCode" type="OrderUnitCode" />
        <xs:element minOccurs="0" maxOccurs="1" name="PackageQuantityPerOrderUnit" type="PackageQuantityPerOrderUnit" />
        <xs:element minOccurs="0" maxOccurs="1" name="OrderMinQuantity" type="OrderMinQuantity" />
        <xs:element minOccurs="0" maxOccurs="1" name="OrderIntervalQuantity" type="OrderIntervalQuantity" />
        <xs:element minOccurs="0" maxOccurs="1" name="ShippingUnitCode" type="ShippingUnitCode" />
        <xs:element minOccurs="0" maxOccurs="1" name="PackageQuantityPerShippingUnit" type="PackageQuantityPerShippingUnit" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProductGroupCode" type="ProductGroupCode" />
        <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
        <xs:element minOccurs="0" maxOccurs="1" name="PriceData" type="PriceData" />
        <xs:element minOccurs="0" maxOccurs="1" name="Availability" type="Availability" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProductRemark" type="ProductRemark" />
        <xs:element minOccurs="0" maxOccurs="1" name="PriceUnitCode" type="PriceUnitCode" />
        <xs:element minOccurs="0" maxOccurs="1" name="OrderQuantityPerPriceUnit" type="OrderQuantityPerPriceUnit" />
        <xs:element minOccurs="0" maxOccurs="1" name="PriceUnitFactor" type="PriceUnitFactor" />
        <xs:element minOccurs="0" maxOccurs="1" name="PriceQuantityPerOrderUnit" type="PriceQuantityPerOrderUnit" />
        <xs:element minOccurs="0" maxOccurs="1" name="PartList" type="PartList" />
        <xs:element minOccurs="0" maxOccurs="1" name="CollectionList" type="CollectionList" />
        <xs:element minOccurs="0" maxOccurs="1" name="FileList" type="FileList" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProductQuantity" type="ProductQuantity" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProductType" type="ProductType" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProductTextFormatted" type="TextFormatted" />
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:element name="LoginInfo">
    <xs:annotation>
      <xs:documentation>Antwort auf erfolgreiche Anmeldung</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="SessionKey" type="SessionKey" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ChapterList">
    <xs:annotation>
      <xs:documentation>Liste von Kapiteln</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ChapterItem" type="ChapterItem" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="PostAcknowledgement">
    <xs:annotation>
      <xs:documentation>Bestätigung Dokumentübermittlung</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="PostCode" type="PostCode" />
        <xs:element minOccurs="0" maxOccurs="1" name="PostMessage" type="PostMessage" />
        <xs:element minOccurs="0" maxOccurs="1" name="DocumentInfo" type="DocumentItem" />
        <xs:element minOccurs="0" maxOccurs="1" name="ProcessingInfo" type="ProcessingInfo" />
        <xs:element minOccurs="0" maxOccurs="1" name="AcknowledgementURL" type="AcknowledgementURL" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DocumentList">
    <xs:annotation>
      <xs:documentation>Liste von Dokumenten, die auf dem Anbietersystem verfügbar sind</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="DocumentItem" type="DocumentItem" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="Order">
    <xs:annotation>
      <xs:documentation>Bestellung für Waren und Dienstleistungen</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="OrderHeader" type="OrderHeader" />
        <xs:element minOccurs="1" maxOccurs="1" name="OrderBody" type="OrderBody" />
        <xs:element minOccurs="0" maxOccurs="1" name="OrderFooter" type="OrderFooter" />
      </xs:sequence>
      <xs:attribute name="Version" type="ComNormVersion" use="optional" />
      <xs:attribute name="Generation" type="DateTimeZone" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="Inquiry">
    <xs:annotation>
      <xs:documentation>Preisanfrage für Waren und Dienstleistungen</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="InquiryHeader" type="InquiryHeader" />
        <xs:element minOccurs="1" maxOccurs="1" name="InquiryBody" type="InquiryBody" />
        <xs:element minOccurs="0" maxOccurs="1" name="InquiryFooter" type="InquiryFooter" />
      </xs:sequence>
      <xs:attribute name="Version" type="ComNormVersion" use="optional" />
      <xs:attribute name="Generation" type="DateTimeZone" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="Confirmation">
    <xs:annotation>
      <xs:documentation>Auftragsbestätigung für eine Bestellung von Waren und Dienstleistungen</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentNumber" type="DocumentNumber" />
        <xs:element minOccurs="0" maxOccurs="1" name="DocumentName" type="DocumentName" />
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentDate" type="DocumentDate" />
        <xs:element minOccurs="1" maxOccurs="1" name="ConfirmationHeader" type="ConfirmationHeader" />
        <xs:element minOccurs="1" maxOccurs="1" name="ConfirmationBody" type="ConfirmationBody" />
        <xs:element minOccurs="1" maxOccurs="1" name="ConfirmationFooter" type="ConfirmationFooter" />
      </xs:sequence>
      <xs:attribute name="Version" type="ComNormVersion" use="optional" />
      <xs:attribute name="Generation" type="DateTimeZone" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="Offer">
    <xs:annotation>
      <xs:documentation>Preisofferte für Waren und Dienstleistungen</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentNumber" type="DocumentNumber" />
        <xs:element minOccurs="0" maxOccurs="1" name="DocumentName" type="DocumentName" />
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentDate" type="DocumentDate" />
        <xs:element minOccurs="1" maxOccurs="1" name="OfferHeader" type="OfferHeader" />
        <xs:element minOccurs="1" maxOccurs="1" name="OfferBody" type="OfferBody" />
        <xs:element minOccurs="1" maxOccurs="1" name="OfferFooter" type="OfferFooter" />
      </xs:sequence>
      <xs:attribute name="Version" type="ComNormVersion" use="optional" />
      <xs:attribute name="Generation" type="DateTimeZone" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="Delivery">
    <xs:annotation>
      <xs:documentation>Auslieferung</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentNumber" type="DocumentNumber" />
        <xs:element minOccurs="0" maxOccurs="1" name="DocumentName" type="DocumentName" />
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentDate" type="DocumentDate" />
        <xs:element minOccurs="1" maxOccurs="1" name="DeliveryHeader" type="DeliveryHeader" />
        <xs:element minOccurs="1" maxOccurs="1" name="DeliveryBody" type="DeliveryBody" />
        <xs:element minOccurs="0" maxOccurs="1" name="DeliveryFooter" type="DeliveryFooter" />
      </xs:sequence>
      <xs:attribute name="Version" type="ComNormVersion" use="optional" />
      <xs:attribute name="Generation" type="DateTimeZone" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="Invoice">
    <xs:annotation>
      <xs:documentation>Rechnung für Waren und Dienstleistungen</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentNumber" type="DocumentNumber" />
        <xs:element minOccurs="0" maxOccurs="1" name="DocumentName" type="DocumentName" />
        <xs:element minOccurs="1" maxOccurs="1" name="DocumentDate" type="DocumentDate" />
        <xs:element minOccurs="1" maxOccurs="1" name="InvoiceHeader" type="InvoiceHeader" />
        <xs:element minOccurs="1" maxOccurs="1" name="InvoiceBody" type="InvoiceBody" />
        <xs:element minOccurs="1" maxOccurs="1" name="InvoiceFooter" type="InvoiceFooter" />
      </xs:sequence>
      <xs:attribute name="Version" type="ComNormVersion" use="optional" />
      <xs:attribute name="GenerationPointOfTime" type="DateTimeZone" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="ValidateRequestList">
    <xs:annotation>
      <xs:documentation>Anfrageliste für Produktaktualisierung</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ValidateRequestItem" type="ValidateRequestItem" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ValidateResponseList">
    <xs:annotation>
      <xs:documentation>Antwortliste auf Anfrage für Produktaktualisierung</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" maxOccurs="unbounded" name="ValidateResponseItem" type="ValidateResponseItem" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ResponseEnvelope">
    <xs:annotation>
      <xs:documentation>Meldungsumschlag für Antwort vom Anbieterserver</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="1" maxOccurs="1" name="ResponseHeader" type="ResponseHeader" />
        <xs:element minOccurs="0" maxOccurs="1" name="ResponseBody" type="ResponseBody" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="AcknowledgementURL">
    <xs:annotation>
      <xs:documentation>Internetseite für Nachbearbeitung/Bestätigung nach der Dokumentübermittlung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="Address1">
    <xs:annotation>
      <xs:documentation>Anschrift 1. Teil (Oertlichkeitsangabe)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Address2">
    <xs:annotation>
      <xs:documentation>Anschrift 2. Teil (Anschriftzusatz)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AttributeCode">
    <xs:annotation>
      <xs:documentation>Code eines Attributes gemäss Liste</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="24" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AttributeName">
    <xs:annotation>
      <xs:documentation>Bezeichnung eines Attributes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AttributeValue">
    <xs:annotation>
      <xs:documentation>Wert eines Attributes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="256" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Availability">
    <xs:annotation>
      <xs:documentation>Verfügbarkeit</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Keine Angabe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Ja</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Nein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Bitte Nachfragen</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4">
        <xs:annotation>
          <xs:documentation>In der Gruppe verfügbar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BasePrice">
    <xs:annotation>
      <xs:documentation>Basispreis</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="BaseQuantityPerPackageUnit">
    <xs:annotation>
      <xs:documentation>Anzahl Basiseinheiten pro Verpackungseinheit</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="BaseUnitCode">
    <xs:annotation>
      <xs:documentation>Basiseinheit (wenn nicht angegeben, wird C62 = Stück angenommen)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="UnitCode" />
  </xs:simpleType>
  <xs:simpleType name="InvoiceDate">
    <xs:annotation>
      <xs:documentation>Datum der Rechnung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="InvoiceReference">
    <xs:annotation>
      <xs:documentation>Referenz der Rechnung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="Reference" />
  </xs:simpleType>
  <xs:simpleType name="ChapterId">
    <xs:annotation>
      <xs:documentation>Eindeutige Identifikation des Kapitels</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="36" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChapterName">
    <xs:annotation>
      <xs:documentation>Name des Kapitels</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChapterNumber">
    <xs:annotation>
      <xs:documentation>Nummer des Kapitels</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="10" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChapterText">
    <xs:annotation>
      <xs:documentation>Text zu Kapitel</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChapterType">
    <xs:annotation>
      <xs:documentation>Angabe, ob das Kapitel weitere Unterkapitel und/oder Produkte enthaelt.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Keine Angabe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Kapitel</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Produkte</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Produkte und Kapitel</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ChapterURL">
    <xs:annotation>
      <xs:documentation>Internetquelle, die zusaetzliche Informationen zum Kapitel aufweist (Kann z.B. eine HTML-Seite oder ein Bild sein).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="ChapterThumbNailURL">
    <xs:annotation>
      <xs:documentation>Internetquelle eines kleinen Bildes (jpg oder gif) zum Kapitel (max. 64 x 64 Pixel)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="City">
    <xs:annotation>
      <xs:documentation>Stadt, Ortschaft</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ClientNumber">
    <xs:annotation>
      <xs:documentation>Kundennummer</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="16" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CollectionName">
    <xs:annotation>
      <xs:documentation>Name einer Sammlung von Dienstgruppen</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Comment">
    <xs:annotation>
      <xs:documentation>Kommentar, Bemerkungen, Hinweise</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ConfigurationURL">
    <xs:annotation>
      <xs:documentation>Internetadresse, via die das Produkt konfiguriert werden kann</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="ConfirmationDate">
    <xs:annotation>
      <xs:documentation>Datum der Auftragsbestätigung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="CountryCode">
    <xs:annotation>
      <xs:documentation>Land (3-stellig gemäss ISO 3166-1)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="CurrencyCode">
    <xs:annotation>
      <xs:documentation>Währungscode (3-stellig gemäss ISO 4217)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Departement">
    <xs:annotation>
      <xs:documentation>Abteilung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DiscountDays">
    <xs:annotation>
      <xs:documentation>Tage für die der Skonto-Satz gilt</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:integer" />
  </xs:simpleType>
  <xs:simpleType name="DiscountRate">
    <xs:annotation>
      <xs:documentation>Skonto-Satz (als Faktor, d.h. 0.02 entspricht 2 Prozent)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="DiscountText">
    <xs:annotation>
      <xs:documentation>Bezeichnung der Ermässigung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DispatchCode">
    <xs:annotation>
      <xs:documentation>Versandart</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Keine Angabe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Post</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Bahn</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Schiff</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4">
        <xs:annotation>
          <xs:documentation>Strasse, Camion</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="5">
        <xs:annotation>
          <xs:documentation>Luftfracht</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="6">
        <xs:annotation>
          <xs:documentation>Sammellieferung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="7">
        <xs:annotation>
          <xs:documentation>Abholung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="8">
        <xs:annotation>
          <xs:documentation>Express</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentDate">
    <xs:annotation>
      <xs:documentation>Datum des Dokumentes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="DocumentId">
    <xs:annotation>
      <xs:documentation>Eindeutige Identifikation des Dokumentes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentName">
    <xs:annotation>
      <xs:documentation>Name des Dokumentes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentNumber">
    <xs:annotation>
      <xs:documentation>Nummer des Dokumentes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentType">
    <xs:annotation>
      <xs:documentation>Typ des Dokumentes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ORDER">
        <xs:annotation>
          <xs:documentation>Bestellung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OFFER">
        <xs:annotation>
          <xs:documentation>Angebot</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CONFIRMATION">
        <xs:annotation>
          <xs:documentation>Bestätigung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="INQUIRY">
        <xs:annotation>
          <xs:documentation>Anfrage</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="MESSAGE">
        <xs:annotation>
          <xs:documentation>Meldung, Benachrichtigung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="INVOICE">
        <xs:annotation>
          <xs:documentation>Rechnung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DELIVERY">
        <xs:annotation>
          <xs:documentation>Lieferschein</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OTHER">
        <xs:annotation>
          <xs:documentation>Anderes Format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DocumentURL">
    <xs:annotation>
      <xs:documentation>Internetadresse, über die das XML-Dokument abgerufen werden kann.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="AlternateDocumentURL">
    <xs:annotation>
      <xs:documentation>Internetadresse, über die ein Dokument abgerufen werden kann, das nicht im XML-Format ist (z.B. PDF)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="ExpiresDate">
    <xs:annotation>
      <xs:documentation>Ablaufdatum, Fälligkeitsdatum</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="Fax">
    <xs:annotation>
      <xs:documentation>Direktwahl Fax</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="24" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FaxTo">
    <xs:annotation>
      <xs:documentation>Fax-Nummer, via die Preisanfragen und Bestellungen gemacht werden können</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="24" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FromOrderQuantity">
    <xs:annotation>
      <xs:documentation>Menge ab der der angegebene Preis gilt</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="Generator">
    <xs:annotation>
      <xs:documentation>Name der Software, mit der das Dokument generiert wurde</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="GroupName">
    <xs:annotation>
      <xs:documentation>Name einer Gruppierung von Anbietern</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="InquiryDate">
    <xs:annotation>
      <xs:documentation>Datum der Preisanfrage</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="InquiryItemReference">
    <xs:annotation>
      <xs:documentation>Referenz der Position der Preisanfrage</xs:documentation>
    </xs:annotation>
    <xs:restriction base="Reference" />
  </xs:simpleType>
  <xs:simpleType name="InquiryReference">
    <xs:annotation>
      <xs:documentation>Referenz der Preisanfrage</xs:documentation>
    </xs:annotation>
    <xs:restriction base="Reference" />
  </xs:simpleType>
  <xs:simpleType name="ItemPrice">
    <xs:annotation>
      <xs:documentation>Preis der Position</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="ItemTaxRate">
    <xs:annotation>
      <xs:documentation>Im Preis enthaltene Steuer als Anteil (0.02 entspricht 2 %)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="LanguageCode">
    <xs:annotation>
      <xs:documentation>Sprachcode (2-stellig gemäss ISO 639-2)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="2" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="LetterTo">
    <xs:annotation>
      <xs:documentation>Anschrift, an die Preisanfragen und Bestellungen gesendet werden können</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="128" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ListDate">
    <xs:annotation>
      <xs:documentation>Datum der Serviceliste</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="Mail">
    <xs:annotation>
      <xs:documentation>Mail-Adresse</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="96" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="MailTo">
    <xs:annotation>
      <xs:documentation>Mail-Adresse, an die Preisanfragen und Bestellungen gesendet werden können</xs:documentation>
    </xs:annotation>
    <xs:restriction base="Mail" />
  </xs:simpleType>
  <xs:simpleType name="Name">
    <xs:annotation>
      <xs:documentation>Name von Person oder Firma</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NetDays">
    <xs:annotation>
      <xs:documentation>Netto-Tage</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:integer" />
  </xs:simpleType>
  <xs:simpleType name="OfferDate">
    <xs:annotation>
      <xs:documentation>Datum der Offerte</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="OnlineTo">
    <xs:annotation>
      <xs:documentation>Internet-Adresse, via die der Dokumentaustausch vorgenommen werden kann</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="OrderDate">
    <xs:annotation>
      <xs:documentation>Datum der Bestellung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="OrderIntervalQuantity">
    <xs:annotation>
      <xs:documentation>Inverall-Menge (ab OrderMinQuantity), in der eine Bestellung möglich ist</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="OrderItemReference">
    <xs:annotation>
      <xs:documentation>Referenz einer Bestellposition</xs:documentation>
    </xs:annotation>
    <xs:restriction base="Reference" />
  </xs:simpleType>
  <xs:simpleType name="OrderMinQuantity">
    <xs:annotation>
      <xs:documentation>Menge, ab der Bestellungen möglich sind</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="OrderNumber">
    <xs:annotation>
      <xs:documentation>Bestellnummer eines Produktes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="OrderQuantityPerPriceUnit">
    <xs:annotation>
      <xs:documentation>Bestimmt den Umrechnungsfaktor zwischen Bestell- und Preiseinheit. Wenn nicht angegeben, so ist dies 1. Das Element wird in einer zukünftigen Version aus der Norm entfernt. Bitte des Element 'PriceQuantityPerOrderUnit' verwenden.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="OrderReference">
    <xs:annotation>
      <xs:documentation>Referenz der Bestellung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="Reference" />
  </xs:simpleType>
  <xs:simpleType name="OrderUnitCode">
    <xs:annotation>
      <xs:documentation>Code der Bestelleinheit gemäss Liste. Wenn nicht angegeben so wird PackageUnit angenommen</xs:documentation>
    </xs:annotation>
    <xs:restriction base="UnitCode" />
  </xs:simpleType>
  <xs:simpleType name="PackageQuantityPerOrderUnit">
    <xs:annotation>
      <xs:documentation>Anzahl Verpackungseinheiten pro Bestelleinheit</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="PackageQuantityPerShippingUnit">
    <xs:annotation>
      <xs:documentation>Anzahl Verpackungseinheiten pro Versandeinheit</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="PackageUnitCode">
    <xs:annotation>
      <xs:documentation>Code der Verpackungseinheit gemäss Liste</xs:documentation>
    </xs:annotation>
    <xs:restriction base="UnitCode" />
  </xs:simpleType>
  <xs:simpleType name="ParamData">
    <xs:annotation>
      <xs:documentation>Parameter des Anbieters</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PaymentCode">
    <xs:annotation>
      <xs:documentation>Zahlungsart</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Andere</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Rechnung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Nachnahme</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Lastschrift</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4">
        <xs:annotation>
          <xs:documentation>Kreditkarte</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Phone">
    <xs:annotation>
      <xs:documentation>Telefonnummer</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PositionPrice">
    <xs:annotation>
      <xs:documentation>Preis aller Positionen</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="PostalCode">
    <xs:annotation>
      <xs:documentation>Postleitzahl</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="16" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PostCode">
    <xs:annotation>
      <xs:documentation>Angabe, ob die Uebermittlung des Dokumentes erfolgreich war und vom Anbietersystem akzeptiert wurde (0=Nein, 1=Ja). Dies gibt keine Auskunft, ob der Dokumentinhalt korrekt ist (z.B. ob die Bestellnummern auch wirklich existieren, usw.).</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Nicht akzeptiert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Akzeptiert</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PostMessage">
    <xs:annotation>
      <xs:documentation>Meldung des Anbietersystems über die Akzeptanz des Dokumentes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PriceQuantity">
    <xs:annotation>
      <xs:documentation>Menge, für die der Preis gilt</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="PriceQuantityPerOrderUnit">
    <xs:annotation>
      <xs:documentation>Bestimmt den Umrechnungsfaktor zwischen Preis- und Bestelleinheit. Wenn nicht anggegeben, so ist dies 1. Es enthält den Reziprokwert von OrderQuantityPerPriceUnit und sollte nur zusammen mit diesem Element erscheinen
</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="PriceType">
    <xs:annotation>
      <xs:documentation>Art des Preises</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Einstandspreis netto</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Richtpreis/Empfohlener Verkaufspreis</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Einstandspreis brutto</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PriceUnitCode">
    <xs:annotation>
      <xs:documentation>Preiseinheit. Legt fest, in welcher Einheit der Preis angegeben wird. Wenn nicht angegeben, so ist dies gleich der Bestelleinheit</xs:documentation>
    </xs:annotation>
    <xs:restriction base="UnitCode" />
  </xs:simpleType>
  <xs:simpleType name="PriceUnitFactor">
    <xs:annotation>
      <xs:documentation>Legt fest, dass der Preis nicht in 1 Element der Preiseinheit, sondern PriceUnitFactor Elementen der Preiseinheit angegeben wird. Wenn nicht angegeben, so ist dies 1</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="PriceValue">
    <xs:annotation>
      <xs:documentation>Preis</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="ProcessingHint">
    <xs:annotation>
      <xs:documentation>Verarbeitungshinweise an das Zielsystem (A=Automatische Weiterverarbeitung ohne Rückgabe von AcknowledgementURL, B=...). </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="16" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ProductGroupCode">
    <xs:annotation>
      <xs:documentation>Code der Produktgruppe</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ProductName">
    <xs:annotation>
      <xs:documentation>Name des Produktes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ProductNumber">
    <xs:annotation>
      <xs:documentation>Artikel-Nummer des Produktes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="32" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ProductRemark">
    <xs:annotation>
      <xs:documentation>Bemerkungen, individuelle Informationen zum Produkt</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ProductText">
    <xs:annotation>
      <xs:documentation>Beschreibung des Produktes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ProductURL">
    <xs:annotation>
      <xs:documentation>Internet-Adresse, via die Zusatzinformationen zum Produkt einsehbar ist</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="ProductThumbNailURL">
    <xs:annotation>
      <xs:documentation>Internetquelle eines kleinen Bildes (jpg oder gif) zum Produkt (max. 64 x 64 Pixel)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="Quantity">
    <xs:annotation>
      <xs:documentation>Menge</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="ReductionPrice">
    <xs:annotation>
      <xs:documentation>Preisreduktion als Betrag</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="ReductionRate">
    <xs:annotation>
      <xs:documentation>Preisreduktion als Anteil, z.B 0.1 entspricht 10 Prozent</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="ReductionText">
    <xs:annotation>
      <xs:documentation>Bezeichnung der Preisreduktion</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ServiceDesc">
    <xs:annotation>
      <xs:documentation>Beschreibung des Anbieterdienstes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ServiceAuditPoint">
    <xs:annotation>
      <xs:documentation>Internetadresse, via die Anmeldung erfolgen kann (optional)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="ServiceEntryPoint">
    <xs:annotation>
      <xs:documentation>Internetadresse, via die der Service angesprochen werden kann</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="ServiceHolder">
    <xs:annotation>
      <xs:documentation>Adressangaben, die fuer eine Kontaktaufnahme mit dem Anbieter des Dienstes nötig sind.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="128" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ServiceId">
    <xs:annotation>
      <xs:documentation>Eindeutige Identifikation des Dienstes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:integer" />
  </xs:simpleType>
  <xs:simpleType name="ServiceName">
    <xs:annotation>
      <xs:documentation>Name des Dienstes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ServiceRef">
    <xs:annotation>
      <xs:documentation>Verweis zu einer ServiceId</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:integer" />
  </xs:simpleType>
  <xs:simpleType name="ServiceURL">
    <xs:annotation>
      <xs:documentation>Internetadresse, via die Informationen über den Dienst ersichtlich sind oder z.B. eine Benutzeridentifikation verlangt werden kann.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="ServiceVersion">
    <xs:annotation>
      <xs:documentation>Version der Schnittstelle, die der Service kennt. Aktuell 1.0 oder 2.0)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="SessionKey">
    <xs:annotation>
      <xs:documentation>Vom Server vergebene Identifikation der Session und des Benutzers</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ShipCode">
    <xs:annotation>
      <xs:documentation>Einleitungsart der Auslieferung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Sofort</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Auf Abruf</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ShipDate">
    <xs:annotation>
      <xs:documentation>Versanddatum</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="ShipLocationCode">
    <xs:annotation>
      <xs:documentation>Identifikationscode der Adresse</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Baustelle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Verarbeitungsort</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Uebernahmestelle</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Zwischenlager</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ShippingUnitCode">
    <xs:annotation>
      <xs:documentation>Versandeinheit</xs:documentation>
    </xs:annotation>
    <xs:restriction base="UnitCode" />
  </xs:simpleType>
  <xs:simpleType name="State">
    <xs:annotation>
      <xs:documentation>Landesteil</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="2" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TaxPrice">
    <xs:annotation>
      <xs:documentation>Mehrwertsteuerbetrag</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="TaxRate">
    <xs:annotation>
      <xs:documentation>Mehrwertsteueranteil, z.B. 0.08 für 8.0 Prozent</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="TelTo">
    <xs:annotation>
      <xs:documentation>Telefonnummer, via die Preisanfragen und Bestellungen gemacht werden können</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="24" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="TotalPrice">
    <xs:annotation>
      <xs:documentation>Gesamtpreis</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="UnitCode">
    <xs:annotation>
      <xs:documentation>Code der Einheit gemäss Liste</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="3" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UnitPrice">
    <xs:annotation>
      <xs:documentation>Preis pro Einheit</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="URL">
    <xs:annotation>
      <xs:documentation>Internetadresse</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:anyURI" />
  </xs:simpleType>
  <xs:simpleType name="AddressProcessingId">
    <xs:annotation>
      <xs:documentation>Identifikation der Adresse</xs:documentation>
    </xs:annotation>
    <xs:restriction base="DataProcessingId" />
  </xs:simpleType>
  <xs:complexType name="AddressInfo">
    <xs:annotation>
      <xs:documentation>Adressangaben</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="Name" type="Name" />
      <xs:element minOccurs="1" maxOccurs="1" name="Address1" type="Address1" />
      <xs:element minOccurs="0" maxOccurs="1" name="Address2" type="Address2" />
      <xs:element minOccurs="1" maxOccurs="1" name="CountryCode" type="CountryCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="PostalCode" type="PostalCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="City" type="City" />
      <xs:element minOccurs="0" maxOccurs="1" name="State" type="State" />
      <xs:element minOccurs="0" maxOccurs="1" name="URL" type="URL" />
      <xs:element minOccurs="0" maxOccurs="1" name="Mail" type="Mail" />
      <xs:element minOccurs="0" maxOccurs="1" name="Phone" type="Phone" />
      <xs:element minOccurs="0" maxOccurs="1" name="Fax" type="Fax" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="AddressProcessingId" type="AddressProcessingId" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="ContactInfo">
    <xs:annotation>
      <xs:documentation>Ansprechperson</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="Name" type="Name" />
      <xs:element minOccurs="0" maxOccurs="1" name="Departement" type="Departement" />
      <xs:element minOccurs="0" maxOccurs="1" name="Mail" type="Mail" />
      <xs:element minOccurs="0" maxOccurs="1" name="Phone" type="Phone" />
      <xs:element minOccurs="0" maxOccurs="1" name="Fax" type="Fax" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="ShipTo">
    <xs:annotation>
      <xs:documentation>Lieferanschrift</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ShipLocationCode" type="ShipLocationCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="ContactInfo" type="ContactInfo" />
      <xs:element minOccurs="1" maxOccurs="1" name="AddressInfo" type="AddressInfo" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DiscountItem">
    <xs:annotation>
      <xs:documentation>Preisreduktion/Ermässigung</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="DiscountText" type="DiscountText" />
      <xs:element minOccurs="1" maxOccurs="1" name="DiscountDays" type="DiscountDays" />
      <xs:element minOccurs="1" maxOccurs="1" name="DiscountRate" type="DiscountRate" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DiscountList">
    <xs:annotation>
      <xs:documentation>Auflistung von Abzügen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DiscountItem" type="DiscountItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="BillTo">
    <xs:annotation>
      <xs:documentation>Adressangaben des Rechnungsempfängers</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ContactInfo" type="ContactInfo" />
      <xs:element minOccurs="0" maxOccurs="1" name="AddressInfo" type="AddressInfo" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Supplier">
    <xs:annotation>
      <xs:documentation>Adress- und Zusatzangaben Anbieter</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ContactInfo" type="ContactInfo" />
      <xs:element minOccurs="1" maxOccurs="1" name="AddressInfo" type="AddressInfo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ServiceId" type="ServiceId" />
      <xs:element minOccurs="0" maxOccurs="1" name="UIDCH" type="UIDCH" />
      <xs:element minOccurs="0" maxOccurs="1" name="UIDEU" type="UIDEU" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Buyer">
    <xs:annotation>
      <xs:documentation>Adressangaben des Käufer</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="ClientNumber" type="ClientNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ContactInfo" type="ContactInfo" />
      <xs:element minOccurs="1" maxOccurs="1" name="AddressInfo" type="AddressInfo" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="DataProcessingId">
    <xs:annotation>
      <xs:documentation>Maschinenverwertbare Identifikation eines Datenelementes, eines Dokumentes oder einer Position darin. Dient zum Zusammenführen von rückfliessenden Informationen. Wichtig ist, dass die Identifikation vom verarbeitenden System gespeichert und bei Folgedokumenten zurückgegeben wird. Könnte eine Zahl (z.B. Datenbankzeilenidentifikation), aber auch eine GUID sein.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="36" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="Reference">
    <xs:annotation>
      <xs:documentation>Referenzangabe im Dokument oder bei einer Position</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DeliveryDate">
    <xs:annotation>
      <xs:documentation>Datum der Auslieferung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="ComNormVersion">
    <xs:annotation>
      <xs:documentation>Version der verwendeten XSD-Schnittstellenbeschreibung</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="1.2">
        <xs:annotation>
          <xs:documentation>Version 1.2</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.21">
        <xs:annotation>
          <xs:documentation>Version 1.21</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.30">
        <xs:annotation>
          <xs:documentation>Version 1.30</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.40">
        <xs:annotation>
          <xs:documentation>Version 1.40</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1.50">
        <xs:annotation>
          <xs:documentation>Version 1.50</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2.00">
        <xs:annotation>
          <xs:documentation>Version 2.00</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="AttributeData">
    <xs:annotation>
      <xs:documentation>Liste von Attributen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AttributeItem" type="AttributeItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AttributeItem" mixed="true">
    <xs:annotation>
      <xs:documentation>Eigenschaftselement</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="AttributeCode" type="AttributeCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeName" type="AttributeName" />
      <xs:element minOccurs="0" maxOccurs="1" name="UnitCode" type="UnitCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="AttributeValue" type="AttributeValue" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="AllowOrChargeCode">
    <xs:annotation>
      <xs:documentation>Code des Zu- oder Abschlages</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="20" />
      <xs:enumeration value="">
        <xs:annotation>
          <xs:documentation>Gemäss Text</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ADMINISTRATION">
        <xs:annotation>
          <xs:documentation>Administrationsgebühr</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CHARGE">
        <xs:annotation>
          <xs:documentation>Zuschlag</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ALLOW">
        <xs:annotation>
          <xs:documentation>Abschlag</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="COD">
        <xs:annotation>
          <xs:documentation>Nachnahme</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CUSTOMS">
        <xs:annotation>
          <xs:documentation>Zoll</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CUSTOMIZATION">
        <xs:annotation>
          <xs:documentation>Konfektionierung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="EXPRESS">
        <xs:annotation>
          <xs:documentation>Expresslieferung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="FREIGHT">
        <xs:annotation>
          <xs:documentation>Fracht</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="HANDLING">
        <xs:annotation>
          <xs:documentation>Bearbeitungsgebühr</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="INSURANCE">
        <xs:annotation>
          <xs:documentation>Versicherung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PACKING">
        <xs:annotation>
          <xs:documentation>Verpackung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DISCOUNT">
        <xs:annotation>
          <xs:documentation>Rabatt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="RECYCLING">
        <xs:annotation>
          <xs:documentation>Entsorgung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="POSTAGE">
        <xs:annotation>
          <xs:documentation>Porto</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="TAX">
        <xs:annotation>
          <xs:documentation>Steuer</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="VGR">
        <xs:annotation>
          <xs:documentation>Vorgezogene Recyclinggebühr</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AllowOrChargeText">
    <xs:annotation>
      <xs:documentation>Beschreibung des Zu- oder Abschlages</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="50" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AllowOrChargeBase">
    <xs:annotation>
      <xs:documentation>Bezugsbasisbetrag des Zu- oder Abschlages, wenn in AllowOrChargeRate ein Anteil festgelegt ist.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="AllowOrChargeRate">
    <xs:annotation>
      <xs:documentation>Anteil des Zu- oder Abschlages (0.02 entspricht 2 %) auf die Bezugsbasis gerechnet.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="AllowOrChargePrice">
    <xs:annotation>
      <xs:documentation>Betrag des Zu- oder Abschlages (Positiv bei Zuschlag, negativ bei Abschlag)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:complexType name="AllowOrChargeList">
    <xs:annotation>
      <xs:documentation>Auflistung von Zu- oder Abschlägen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="AllowOrChargeItem" type="AllowOrChargeItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AllowOrChargeItem">
    <xs:annotation>
      <xs:documentation>Festlegung eines Zu- oder Abschlages (Zuschläge haben positiven, Abschläge einen negativen Wert)</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="AllowOrChargeCode" type="AllowOrChargeCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="AllowOrChargeText" type="AllowOrChargeText" />
      <xs:element minOccurs="0" maxOccurs="1" name="AllowOrChargeBase" type="AllowOrChargeBase" />
      <xs:element minOccurs="0" maxOccurs="1" name="AllowOrChargeRate" type="AllowOrChargeRate" />
      <xs:element minOccurs="1" maxOccurs="1" name="AllowOrChargePrice" type="AllowOrChargePrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="CalculationData" type="CalculationData" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="CalculationData">
    <xs:annotation>
      <xs:documentation>Auflistung von Berechnungs- und Verweisinformation. Macht zu einer Position Angaben über deren Ermittlung.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CalculationItem" type="CalculationItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="CalculationItem">
    <xs:annotation>
      <xs:documentation>Bezugs-ProcessingId, bestimmt eine Datenquelle, die für die Ermittlung der Berechnungsposition verwendet wurde.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="36" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UIDCH">
    <xs:annotation>
      <xs:documentation>Unternehmens-Identifikations-Nummer Schweiz mit Zusatz (www.uid.ch, z.B. 'CHE-123.456.789 HR/MWST')</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="30" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="UIDEU">
    <xs:annotation>
      <xs:documentation>Umsatzsteuer-Identifikations-Nummer Europa (www.ust-idnr.org)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="14" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DateTimeZone">
    <xs:annotation>
      <xs:documentation>Zeitstempel bestehend aus Datum, Zeit und Zone (z.B. '2002-10-10T12:00:00+05:00' oder '2002-10-10T07:00:00Z')</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:dateTime" />
  </xs:simpleType>
  <xs:simpleType name="CatalogURL">
    <xs:annotation>
      <xs:documentation>Internetadresse, unter der ein Anbieter einen individuell gestalteten Katalog bereitstellt.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="AreaCode">
    <xs:annotation>
      <xs:documentation>Code eines Bereiches der ServiceListe</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="16" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="DefaultType">
    <xs:annotation>
      <xs:documentation>Katalog-Zugriffs-Art, die bevorzugt vom Anwendersystem verwendet werden soll.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Keine Angabe</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Nur Standard-Katalog (basierend auf ComNorm-Abfragen)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Nur Anbieter-Katalog (gemäss 'CatalogURL' in Serviceliste)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Standard-Katalog und optional Anbieter-Katalog</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="4">
        <xs:annotation>
          <xs:documentation>Anbieter-Katalog und optional Standard-Katalog</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="PartListQuantity">
    <xs:annotation>
      <xs:documentation>Menge (in Basiseinheit) des verwiesenen Produktes in der Stückliste. Falls nicht angegeben ist dies 1.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="ProductQuantity">
    <xs:annotation>
      <xs:documentation>Menge in der Bestelleinheit, die im Online-Bestellsystem bereits vorbestimmt wurde. Dient der Rückgabe an das weiterverarbeitende System</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:float" />
  </xs:simpleType>
  <xs:simpleType name="ProductType">
    <xs:annotation>
      <xs:documentation>Art der Verwendung der gelieferten Produktinformationen</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="">
        <xs:annotation>
          <xs:documentation>Produktstruktur enthält Informationen zum Produkt (Wie bisher, Standard)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CONTAINER">
        <xs:annotation>
          <xs:documentation>Produktstruktur ist ein reiner Container für weitere Produkte. Diese sind in CollectionList aufgeführt (z.B. Produkte für Preisaktualisierung, Top-50-Verkaufsprodukte).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FileId">
    <xs:annotation>
      <xs:documentation>Eindeutige Identifikation der Datei</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="36" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FileArea">
    <xs:annotation>
      <xs:documentation>Bereich der Datei </xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="CAD:2D">
        <xs:annotation>
          <xs:documentation>2D-Zeichnung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="CAD:3D">
        <xs:annotation>
          <xs:documentation>3D-Zeichnung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DOCUMENT">
        <xs:annotation>
          <xs:documentation>Dokument</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="IMAGE">
        <xs:annotation>
          <xs:documentation>Bild-Datei</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="URL">
        <xs:annotation>
          <xs:documentation>Verweis</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="BIM">
        <xs:annotation>
          <xs:documentation>BIM-Datei (IFC)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="ARCHIVE">
        <xs:annotation>
          <xs:documentation>Archiv-Datei</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PARTLIST">
        <xs:annotation>
          <xs:documentation>Stückliste</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="?">
        <xs:annotation>
          <xs:documentation>Unbekannt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FileName">
    <xs:annotation>
      <xs:documentation>Bezeichnung der Datei (ohne Endung und ohne Punkt)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="36" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FileExtension">
    <xs:annotation>
      <xs:documentation>Dateierweiterung ('PDF', 'DWG', 'DXF', 'DOCX', 'XLSX', 'JPG', 'ZIP', 'IFC', 'CSV', 'XML', 'JSON', ... )</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="36" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FileDescription">
    <xs:annotation>
      <xs:documentation>Beschreibung der Datei</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="FileDate">
    <xs:annotation>
      <xs:documentation>Datum der Datei</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:date" />
  </xs:simpleType>
  <xs:simpleType name="FileURL">
    <xs:annotation>
      <xs:documentation>Url für Direkt-Dokumentdownload (oder im Fall von FileArea='URL', die zu öffnende Internetseite)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="URL" />
  </xs:simpleType>
  <xs:simpleType name="TextFormatted">
    <xs:annotation>
      <xs:documentation>Text mit einfachen Html-Formatierungen (Zulässig sind nur &lt;b&gt;, &lt;i&gt;, &lt;u&gt;, &lt;br&gt;, &lt;ul&gt; und &lt;li&gt;, ohne Style-Angaben)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="4096" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AlternateDocumentFormat">
    <xs:annotation>
      <xs:documentation>Format des optionalen Zusatzdokumentes</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="ZUGFERD">
        <xs:annotation>
          <xs:documentation>E-Rechnung im ZUGFeRD-Format (PDF mit eingebetteten XML-Daten gemäss http://www.ferd-net.de)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="PDF">
        <xs:annotation>
          <xs:documentation>Dokument im PDF-Format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DOC">
        <xs:annotation>
          <xs:documentation>Dokument im Word-Format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="OTHER">
        <xs:annotation>
          <xs:documentation>Anderes Format</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="FileList">
    <xs:annotation>
      <xs:documentation>Liste mit Dokumenten/Dateien</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FileListItem" type="FileListItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="FileBase64">
    <xs:annotation>
      <xs:documentation>Base64-Codierter Dateiinhalt</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:base64Binary" />
  </xs:simpleType>
  <xs:complexType name="FileListItem">
    <xs:annotation>
      <xs:documentation>Eintrag in FileList</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="FileArea" type="FileArea" />
      <xs:element minOccurs="1" maxOccurs="1" name="FileName" type="FileName" />
      <xs:element minOccurs="1" maxOccurs="1" name="FileExtension" type="FileExtension" />
      <xs:element minOccurs="0" maxOccurs="1" name="FileDescription" type="FileDescription" />
      <xs:element minOccurs="1" maxOccurs="1" name="FileDate" type="FileDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="FileBase64" type="FileBase64" />
      <xs:element minOccurs="0" maxOccurs="1" name="FileURL" type="FileURL" />
    </xs:all>
    <xs:attribute name="FileId" type="FileId" use="required" />
  </xs:complexType>
  <xs:complexType name="FileReference">
    <xs:annotation>
      <xs:documentation>Verweis zu FileList-Eintrag</xs:documentation>
    </xs:annotation>
    <xs:attribute name="FileId" type="FileId" use="required" />
  </xs:complexType>
  <xs:complexType name="FileReferenceList">
    <xs:annotation>
      <xs:documentation>Liste mit Verweisen zu FileList-Einträgen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="FileReference" type="FileReference" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ServiceItem">
    <xs:annotation>
      <xs:documentation>Beschreibung der Eigenschaften eines Anbieterdienstes</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ServiceName" type="ServiceName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ServiceHolder" type="ServiceHolder" />
      <xs:element minOccurs="0" maxOccurs="1" name="ServiceDesc" type="ServiceDesc" />
      <xs:element minOccurs="1" maxOccurs="1" name="ServiceVersion" type="ServiceVersion" />
      <xs:element minOccurs="1" maxOccurs="1" name="ServiceEntryPoint" type="ServiceEntryPoint" />
      <xs:element minOccurs="0" maxOccurs="1" name="ServiceAuditPoint" type="ServiceAuditPoint" />
      <xs:element minOccurs="0" maxOccurs="1" name="ServiceURL" type="ServiceURL" />
      <xs:element minOccurs="0" maxOccurs="1" name="CatalogURL" type="CatalogURL" />
    </xs:sequence>
    <xs:attribute name="ServiceId" type="ServiceId" use="required" />
  </xs:complexType>
  <xs:complexType name="ServiceGroup">
    <xs:annotation>
      <xs:documentation>Gruppe von Anbieterdiensten mit Gemeinsamkeiten</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="GroupName" type="GroupName" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ServiceRef" type="ServiceRef" />
    </xs:sequence>
    <xs:attribute name="LanguageCode" type="LanguageCode" use="optional" />
  </xs:complexType>
  <xs:complexType name="ServiceCollection">
    <xs:annotation>
      <xs:documentation>Sammlung von Gruppen von Anbieterdiensten der gleichen Art</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="CollectionName" type="CollectionName" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ServiceGroup" type="ServiceGroup" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ServiceArea">
    <xs:annotation>
      <xs:documentation>Bereich mit zusammengehörigen Anbieterdiensten</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ServiceEntry" type="ServiceItem" />
    </xs:sequence>
    <xs:attribute name="AreaCode" type="AreaCode" use="required" />
  </xs:complexType>
  <xs:complexType name="Transfer">
    <xs:annotation>
      <xs:documentation>Angaben, wie Dokumente zum Anbieter transferiert werden können</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="OnlineTo" type="OnlineTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="MailTo" type="MailTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="FaxTo" type="FaxTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="TelTo" type="TelTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="LetterTo" type="LetterTo" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="Catalog">
    <xs:annotation>
      <xs:documentation>Angaben zum Katalogzugriff</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="DefaultType" type="DefaultType" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="ProductItem">
    <xs:annotation>
      <xs:documentation>Produkteintrag in der Liste</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="1" maxOccurs="1" name="ProductName" type="ProductName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductThumbNailURL" type="ProductThumbNailURL" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PriceData">
    <xs:annotation>
      <xs:documentation>Liste von Preisinfos</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PriceItem" type="PriceItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ConfigurationData">
    <xs:annotation>
      <xs:documentation>Parameterisierungsinformationen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ConfigurationURL" type="ConfigurationURL" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PriceItem">
    <xs:annotation>
      <xs:documentation>Preisinformationen in Bestelleinheiten</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="CurrencyCode" type="CurrencyCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="PriceType" type="PriceType" />
      <xs:element minOccurs="0" maxOccurs="1" name="FromOrderQuantity" type="FromOrderQuantity" />
      <xs:element minOccurs="1" maxOccurs="1" name="PriceValue" type="PriceValue" />
      <xs:element minOccurs="0" maxOccurs="1" name="TaxRate" type="TaxRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ExpiresDate" type="ExpiresDate" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="ChapterItem">
    <xs:annotation>
      <xs:documentation>Kapiteleintrag</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="ChapterNumber" type="ChapterNumber" />
      <xs:element minOccurs="1" maxOccurs="1" name="ChapterName" type="ChapterName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ChapterText" type="ChapterText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ChapterURL" type="ChapterURL" />
      <xs:element minOccurs="1" maxOccurs="1" name="ChapterType" type="ChapterType" />
      <xs:element minOccurs="0" maxOccurs="1" name="ChapterThumbNailURL" type="ChapterThumbNailURL" />
    </xs:all>
    <xs:attribute name="ChapterId" type="ChapterId" use="required" />
  </xs:complexType>
  <xs:complexType name="PartList">
    <xs:annotation>
      <xs:documentation>Liste von Verweisen zu weiteren Produkten, die die Zusammensetzung bestimmen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PartListItem" type="PartListItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="PartListItem">
    <xs:annotation>
      <xs:documentation>Eintrag in PartList</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" ref="ProductInfo" />
      <xs:element minOccurs="0" maxOccurs="1" name="PartListQuantity" type="PartListQuantity" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="CollectionList">
    <xs:annotation>
      <xs:documentation>List mit Produkten die irgend einen Bezug zum Produkt haben</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CollectionListItem" type="CollectionListItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="CollectionListItem">
    <xs:annotation>
      <xs:documentation>Eintrag in CollectionList</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" ref="ProductInfo" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="DocumentItem">
    <xs:annotation>
      <xs:documentation>Informationen zu einem Dokument</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="DocumentType" type="DocumentType" />
      <xs:element minOccurs="1" maxOccurs="1" name="DocumentNumber" type="DocumentNumber" />
      <xs:element minOccurs="1" maxOccurs="1" name="DocumentName" type="DocumentName" />
      <xs:element minOccurs="1" maxOccurs="1" name="DocumentDate" type="DocumentDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="DocumentURL" type="DocumentURL" />
      <xs:element minOccurs="0" maxOccurs="1" name="AlternateDocumentURL" type="AlternateDocumentURL" />
      <xs:element minOccurs="0" maxOccurs="1" name="AlternateDocumentFormat" type="AlternateDocumentFormat" />
    </xs:sequence>
    <xs:attribute name="DocumentId" type="DocumentId" />
  </xs:complexType>
  <xs:complexType name="ProcessingInfo">
    <xs:annotation>
      <xs:documentation>Aufgrund der Uebertragung und Bearbeitung des Dokumentes entstandene Folgedokumente</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DocumentItem" type="DocumentItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OrderBody">
    <xs:annotation>
      <xs:documentation>Hauptteil der Bestellung</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="OrderList" type="OrderList" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OrderHeader">
    <xs:annotation>
      <xs:documentation>Kopfdaten der Bestellung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="Supplier" type="Supplier" />
      <xs:element minOccurs="1" maxOccurs="1" name="OrderDate" type="OrderDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderReference" type="OrderReference" />
      <xs:element minOccurs="1" maxOccurs="1" name="Buyer" type="Buyer" />
      <xs:element minOccurs="0" maxOccurs="1" name="BillTo" type="BillTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipTo" type="ShipTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipCode" type="ShipCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="CurrencyCode" type="CurrencyCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="LanguageCode" type="LanguageCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="DispatchCode" type="DispatchCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="PaymentCode" type="PaymentCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="Generator" type="Generator" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProcessingHint" type="ProcessingHint" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="FileList" type="FileList" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="OrderList">
    <xs:annotation>
      <xs:documentation>Auflistung von Bestellpositionen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="OrderItem" type="OrderItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OrderFooter">
    <xs:annotation>
      <xs:documentation>Schlussteil der Bestellung</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="PositionPrice" type="PositionPrice" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OrderItem">
    <xs:annotation>
      <xs:documentation>Angaben zu einer Bestellpositionen</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="OrderNumber" type="OrderNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductName" type="ProductName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductText" type="ProductText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitCode" type="UnitCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="Quantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="UnitPrice" type="UnitPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="PriceQuantity" type="PriceQuantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="ItemPrice" type="ItemPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ItemTaxRate" type="ItemTaxRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemReference" type="OrderItemReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="FileReferenceList" type="FileReferenceList" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="InquiryList">
    <xs:annotation>
      <xs:documentation>Auflistung von Anfragepositionen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="InquiryItem" type="InquiryItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="InquiryBody">
    <xs:annotation>
      <xs:documentation>Hauptteil der Anfrage</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="InquiryList" type="InquiryList" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="InquiryHeader">
    <xs:annotation>
      <xs:documentation>Kopfteil der Anfrage</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="Supplier" type="Supplier" />
      <xs:element minOccurs="1" maxOccurs="1" name="InquiryDate" type="InquiryDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryReference" type="InquiryReference" />
      <xs:element minOccurs="1" maxOccurs="1" name="Buyer" type="Buyer" />
      <xs:element minOccurs="0" maxOccurs="1" name="BillTo" type="BillTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipTo" type="ShipTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipCode" type="ShipCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="CurrencyCode" type="CurrencyCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="LanguageCode" type="LanguageCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="DispatchCode" type="DispatchCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="PaymentCode" type="PaymentCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="Generator" type="Generator" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProcessingHint" type="ProcessingHint" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryProcessingId" type="DataProcessingId" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="InquiryFooter">
    <xs:annotation>
      <xs:documentation>Abschluss der Anfrage</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="PositionPrice" type="PositionPrice" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="InquiryItem">
    <xs:annotation>
      <xs:documentation>Angaben zu einer Anfragepositionen</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="OrderNumber" type="OrderNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductName" type="ProductName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductText" type="ProductText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitCode" type="UnitCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="Quantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="UnitPrice" type="UnitPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="PriceQuantity" type="PriceQuantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="ItemPrice" type="ItemPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ItemTaxRate" type="ItemTaxRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryItemReference" type="InquiryItemReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryItemProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="ConfirmationHeader">
    <xs:annotation>
      <xs:documentation>Kopfteil der Bestätigung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" maxOccurs="1" name="Supplier" type="Supplier" />
      <xs:element minOccurs="1" maxOccurs="1" name="ConfirmationDate" type="ConfirmationDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderReference" type="OrderReference" />
      <xs:element minOccurs="1" maxOccurs="1" name="Buyer" type="Buyer" />
      <xs:element minOccurs="0" maxOccurs="1" name="BillTo" type="BillTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipTo" type="ShipTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipCode" type="ShipCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="CurrencyCode" type="CurrencyCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="LanguageCode" type="LanguageCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="DispatchCode" type="DispatchCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="PaymentCode" type="PaymentCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="1" maxOccurs="1" name="DeliveryDate" type="DeliveryDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="ConfirmationBody">
    <xs:annotation>
      <xs:documentation>Hauptteil der Bestätigung</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ConfirmationList" type="ConfirmationList" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ConfirmationList">
    <xs:annotation>
      <xs:documentation>Auflistung von Bestätigungspositionen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="ConfirmationItem" type="ConfirmationItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ConfirmationItem">
    <xs:annotation>
      <xs:documentation>Angaben zu einer Bestätigungspositionen</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="OrderNumber" type="OrderNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductName" type="ProductName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductText" type="ProductText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitCode" type="UnitCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="Quantity" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitPrice" type="UnitPrice" />
      <xs:element minOccurs="1" maxOccurs="1" name="PriceQuantity" type="PriceQuantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionText" type="ReductionText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionPrice" type="ReductionPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionRate" type="ReductionRate" />
      <xs:element minOccurs="1" maxOccurs="1" name="ItemPrice" type="ItemPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ItemTaxRate" type="ItemTaxRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemReference" type="OrderItemReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
      <xs:element minOccurs="1" maxOccurs="1" name="DeliveryDate" type="DeliveryDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="ConfirmationFooter">
    <xs:annotation>
      <xs:documentation>Abschluss der Bestätigung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="PositionPrice" type="PositionPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="AllowOrChargeList" type="AllowOrChargeList" />
      <xs:element minOccurs="0" maxOccurs="1" name="TotalPrice" type="TotalPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ExpiresDate" type="ExpiresDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="NetDays" type="NetDays" />
      <xs:element minOccurs="0" maxOccurs="1" name="DiscountList" type="DiscountList" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="OfferBody">
    <xs:annotation>
      <xs:documentation>Hauptteil der Offerte</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="OfferList" type="OfferList" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OfferItem">
    <xs:annotation>
      <xs:documentation>Angaben zu einer Offertpositionen</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="OrderNumber" type="OrderNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductName" type="ProductName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductText" type="ProductText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitCode" type="UnitCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="Quantity" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitPrice" type="UnitPrice" />
      <xs:element minOccurs="1" maxOccurs="1" name="PriceQuantity" type="PriceQuantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionText" type="ReductionText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionRate" type="ReductionRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionPrice" type="ReductionPrice" />
      <xs:element minOccurs="1" maxOccurs="1" name="ItemPrice" type="ItemPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ItemTaxRate" type="ItemTaxRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryItemReference" type="InquiryItemReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
      <xs:element minOccurs="0" maxOccurs="1" name="OfferItemProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="OfferFooter">
    <xs:annotation>
      <xs:documentation>Abschluss Offerte</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="PositionPrice" type="PositionPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="AllowOrChargeList" type="AllowOrChargeList" />
      <xs:element minOccurs="0" maxOccurs="1" name="TotalPrice" type="TotalPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ExpiresDate" type="ExpiresDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="NetDays" type="NetDays" />
      <xs:element minOccurs="0" maxOccurs="1" name="DiscountList" type="DiscountList" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="OfferList">
    <xs:annotation>
      <xs:documentation>Auflistung von Offertpositionen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="OfferItem" type="OfferItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="OfferHeader">
    <xs:annotation>
      <xs:documentation>Kopf der Offerte</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="Supplier" type="Supplier" />
      <xs:element minOccurs="1" maxOccurs="1" name="OfferDate" type="OfferDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryReference" type="InquiryReference" />
      <xs:element minOccurs="1" maxOccurs="1" name="Buyer" type="Buyer" />
      <xs:element minOccurs="0" maxOccurs="1" name="BillTo" type="BillTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipDate" type="ShipDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipTo" type="ShipTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipCode" type="ShipCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="CurrencyCode" type="CurrencyCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="LanguageCode" type="LanguageCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="DispatchCode" type="DispatchCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="PaymentCode" type="PaymentCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="InquiryProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
      <xs:element minOccurs="0" maxOccurs="1" name="OfferProcessingId" type="DataProcessingId" />
    </xs:all>
  </xs:complexType>
  <xs:simpleType name="DeliveryType">
    <xs:annotation>
      <xs:documentation>Angabe, um welche Lieferungart es sich handelt. Im Falle einer Rücknahme weisen die Mengen negative Werte auf.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Normale Lieferung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Teillieferung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Sammellieferung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Rücknahme</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="DeliveryList">
    <xs:annotation>
      <xs:documentation>Auflistung von Lieferpositionen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="unbounded" name="DeliveryItem" type="DeliveryItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DeliveryBody">
    <xs:annotation>
      <xs:documentation>Hauptteil der Auslieferung</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="DeliveryList" type="DeliveryList" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="DeliveryHeader">
    <xs:annotation>
      <xs:documentation>Kopfteil der Auslieferung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="DeliveryType" type="DeliveryType" />
      <xs:element minOccurs="0" maxOccurs="1" name="Supplier" type="Supplier" />
      <xs:element minOccurs="1" maxOccurs="1" name="DeliveryDate" type="DeliveryDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderReference" type="OrderReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="1" maxOccurs="1" name="Buyer" type="Buyer" />
      <xs:element minOccurs="0" maxOccurs="1" name="ShipTo" type="ShipTo" />
      <xs:element minOccurs="0" maxOccurs="1" name="LanguageCode" type="LanguageCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="DispatchCode" type="DispatchCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="DeliveryFooter">
    <xs:annotation>
      <xs:documentation>Abschluss der Auslieferung</xs:documentation>
    </xs:annotation>
    <xs:sequence />
  </xs:complexType>
  <xs:complexType name="DeliveryItem">
    <xs:annotation>
      <xs:documentation>Angaben zu einer Lieferpositionen (OrderReference und OrderProcessingId sind nur anzugeben, wenn von der Angabe im Header abweichend, z.B. bei einer Sammellieferung)</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="OrderNumber" type="OrderNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductName" type="ProductName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductText" type="ProductText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitCode" type="UnitCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="Quantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemReference" type="OrderItemReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderReference" type="OrderReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
    </xs:all>
  </xs:complexType>
  <xs:simpleType name="InvoiceType">
    <xs:annotation>
      <xs:documentation>Angabe, um welchen Rechnungstyp es sich handelt. Im Falle einer Gutschrift weisen die Beträge und Mengen negative Werte auf.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="0">
        <xs:annotation>
          <xs:documentation>Normale Rechnung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="1">
        <xs:annotation>
          <xs:documentation>Teilrechnung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="2">
        <xs:annotation>
          <xs:documentation>Sammelrechnung</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="3">
        <xs:annotation>
          <xs:documentation>Gutschrift</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="AccountHolder">
    <xs:annotation>
      <xs:documentation>Name des Kontoinhabers</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="50" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BankAccount">
    <xs:annotation>
      <xs:documentation>IBAN-Kontonummer gemäss ISO 13616</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="30" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BankCode">
    <xs:annotation>
      <xs:documentation>SWIFT-BIC-Code (8 oder 11 Zeichen) der Bank gemäss ISO 9362</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="20" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BankName">
    <xs:annotation>
      <xs:documentation>Name der Bank</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="50" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="BankCountry">
    <xs:annotation>
      <xs:documentation>Land, in welchem die Bankverbindung geführt wird.</xs:documentation>
    </xs:annotation>
    <xs:restriction base="CountryCode" />
  </xs:simpleType>
  <xs:complexType name="AccountInfo">
    <xs:annotation>
      <xs:documentation>Angaben zur Bankverbindung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="AccountHolder" type="AccountHolder" />
      <xs:element minOccurs="1" maxOccurs="1" name="BankAccount" type="BankAccount" />
      <xs:element minOccurs="0" maxOccurs="1" name="BankCode" type="BankCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="BankName" type="BankName" />
      <xs:element minOccurs="0" maxOccurs="1" name="BankCountry" type="BankCountry" />
    </xs:all>
  </xs:complexType>
  <xs:simpleType name="BESRReference">
    <xs:annotation>
      <xs:documentation>Referenznummmer (BESR)</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="80" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="InvoiceHeader">
    <xs:annotation>
      <xs:documentation>Kopfdaten der Rechnung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="InvoiceType" type="InvoiceType" />
      <xs:element minOccurs="1" maxOccurs="1" name="Supplier" type="Supplier" />
      <xs:element minOccurs="1" maxOccurs="1" name="InvoiceDate" type="InvoiceDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderReference" type="OrderReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="1" maxOccurs="1" name="Buyer" type="Buyer" />
      <xs:element minOccurs="0" maxOccurs="1" name="BillTo" type="BillTo" />
      <xs:element minOccurs="1" maxOccurs="1" name="CurrencyCode" type="CurrencyCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="LanguageCode" type="LanguageCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="DispatchCode" type="DispatchCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="PaymentCode" type="PaymentCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="AccountInfo" type="AccountInfo" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="InvoiceBody">
    <xs:annotation>
      <xs:documentation>Hauptteil der Rechnung</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="InvoiceList" type="InvoiceList" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="InvoiceList">
    <xs:annotation>
      <xs:documentation>Auflistung von Rechnungspositionen</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="InvoiceItem" type="InvoiceItem" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="InvoiceItem">
    <xs:annotation>
      <xs:documentation>Angaben zu einer Rechnungspositionen (OrderReference und OrderProcessingId müssen nur angegeben werden, wenn sie nicht identisch mit den Angaben im Header sind, z.B. bei einer Sammelrechnung)</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="OrderNumber" type="OrderNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductName" type="ProductName" />
      <xs:element minOccurs="0" maxOccurs="1" name="ProductText" type="ProductText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitCode" type="UnitCode" />
      <xs:element minOccurs="1" maxOccurs="1" name="Quantity" type="Quantity" />
      <xs:element minOccurs="1" maxOccurs="1" name="UnitPrice" type="UnitPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="PriceQuantity" type="PriceQuantity" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionText" type="ReductionText" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionRate" type="ReductionRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="ReductionPrice" type="ReductionPrice" />
      <xs:element minOccurs="1" maxOccurs="1" name="ItemPrice" type="ItemPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ItemTaxRate" type="ItemTaxRate" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemReference" type="OrderItemReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderItemProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderReference" type="OrderReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="OrderProcessingId" type="DataProcessingId" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="AttributeData" type="AttributeData" />
      <xs:element minOccurs="0" maxOccurs="1" name="CalculationData" type="CalculationData" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="InvoiceFooter">
    <xs:annotation>
      <xs:documentation>Abschluss der Rechnung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="PositionPrice" type="PositionPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="AllowOrChargeList" type="AllowOrChargeList" />
      <xs:element minOccurs="0" maxOccurs="1" name="TotalPrice" type="TotalPrice" />
      <xs:element minOccurs="0" maxOccurs="1" name="ExpiresDate" type="ExpiresDate" />
      <xs:element minOccurs="0" maxOccurs="1" name="NetDays" type="NetDays" />
      <xs:element minOccurs="0" maxOccurs="1" name="DiscountList" type="DiscountList" />
      <xs:element minOccurs="0" maxOccurs="1" name="Comment" type="Comment" />
      <xs:element minOccurs="0" maxOccurs="1" name="BESRReference" type="BESRReference" />
      <xs:element minOccurs="0" maxOccurs="1" name="SwissQRData" type="SwissQRData" />
    </xs:all>
  </xs:complexType>
  <xs:complexType name="SwissQRData">
    <xs:annotation>
      <xs:documentation>Angaben zu Swiss QR Code und damit verbundene Zahlungsinformationen. Enthält analoge Elemente wie unter https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-de.pdf beschrieben (Jedoch keine alternative Verfahren).</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="xs:string" />
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ValidateRequestItem">
    <xs:annotation>
      <xs:documentation>Anfrageelement für Validierung</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
    </xs:all>
  </xs:complexType>
  <xs:simpleType name="ValidateState">
    <xs:annotation>
      <xs:documentation>Produkt-Validierungsstatus</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:enumeration value="OK">
        <xs:annotation>
          <xs:documentation>Productinfo enthält die aktualisierten Informationen zum Produkt</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="DELETED">
        <xs:annotation>
          <xs:documentation>Produkt ist nicht mehr verfügbar</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="SUBSTITUTED">
        <xs:annotation>
          <xs:documentation>Produkt wurde durch ein anderes ersetzt. ProductInfo enthält die Angaben des Ersatzproduktes</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UNAVAILABLE">
        <xs:annotation>
          <xs:documentation>Produkt ist momentan nicht an Lager verfügbar. ProductInfo enthält aber die aktuellen Angaben</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="UNKNOWN">
        <xs:annotation>
          <xs:documentation>Produkt ist unbekannt oder Produktnummer ist ungültig</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ValidateResponseItem">
    <xs:annotation>
      <xs:documentation>Validierungselement</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="1" maxOccurs="1" name="ProductNumber" type="ProductNumber" />
      <xs:element minOccurs="0" maxOccurs="1" name="ParamData" type="ParamData" />
      <xs:element minOccurs="1" maxOccurs="1" name="ValidateState" type="ValidateState" />
      <xs:element minOccurs="0" maxOccurs="1" ref="ProductInfo" />
    </xs:all>
  </xs:complexType>
  <xs:simpleType name="ResultCode">
    <xs:annotation>
      <xs:documentation>Code der Antwort auf eine Anfrage beim Anbieterserver</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:integer">
      <xs:enumeration value="200">
        <xs:annotation>
          <xs:documentation>OK</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="400">
        <xs:annotation>
          <xs:documentation>Syntax-Fehler, der Server hat die Anfrage nicht verstanden. Parameter sind falsch oder fehlen.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="401">
        <xs:annotation>
          <xs:documentation>Der Client muss sich erst authentifizieren, bevor ihm der Zugriff gestattet wird. </xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="403">
        <xs:annotation>
          <xs:documentation>Der Server verweigert den Zugriff, auch eine Authentifizierung hilft da nicht.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="404">
        <xs:annotation>
          <xs:documentation>Der Server hat das angegebene Dokument nicht gefunden (Es sind keine Daten vorhanden, die der Anfrage genügen oder die Methode wird nicht unterstützt).</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="500">
        <xs:annotation>
          <xs:documentation>Interner Fehler des Servers, aufgrund dessen die Anfrage nicht bearbeitet werden konnte.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="501">
        <xs:annotation>
          <xs:documentation>Der Server unterstützt die geforderte Aktion nicht.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ResponseHeader">
    <xs:annotation>
      <xs:documentation>Kopf der Antwort vom Anbieterserver</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="1" maxOccurs="1" name="ResultCode" type="ResultCode" />
      <xs:element minOccurs="0" maxOccurs="1" name="ResultMessage" type="ResultMessage" />
    </xs:sequence>
  </xs:complexType>
  <xs:simpleType name="ResultMessage">
    <xs:annotation>
      <xs:documentation>Umschreibung der Antwort vom Anbieterserver</xs:documentation>
    </xs:annotation>
    <xs:restriction base="xs:string">
      <xs:minLength value="0" />
      <xs:maxLength value="64" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ResponseBody">
    <xs:annotation>
      <xs:documentation>Inhalt der Antwort vom Anbieterserver</xs:documentation>
    </xs:annotation>
    <xs:choice>
      <xs:element ref="ChapterList" />
      <xs:element ref="ProductList" />
      <xs:element ref="ProductInfo" />
      <xs:element ref="ServiceInfo" />
      <xs:element ref="PostAcknowledgement" />
      <xs:element ref="DocumentList" />
      <xs:element ref="Order" />
      <xs:element ref="Confirmation" />
      <xs:element ref="Inquiry" />
      <xs:element ref="Offer" />
      <xs:element ref="Invoice" />
      <xs:element ref="Delivery" />
      <xs:element ref="ValidateResponseList" />
      <xs:element ref="LoginInfo" />
    </xs:choice>
  </xs:complexType>
</xs:schema>