XML-Beschreibung

image_pdfimage_print

Automatischer Datenimport/-export

Mit unserem Modul Wemalo XML kann ein automatischer Datenaustausch eingerichtet werden.

Dabei können die folgenden Daten ausgetauscht werden:

  • Produktstammdaten als XML nach Wemalo
    (siehe dazu Datenabgleich für Fashion(Multivarianten)-Produkte)
  • Warenausgangsaufträge als XML nach Wemalo
    (siehe dazu Import Aufträge)
  • Versendete Pakete inkl. Trackingnummern von Wemalo als XML
    (siehe dazu Rückmeldung versendeter Pakete)
  • Bestandsänderungen (Waren- und Retouren-Eingang) von Wemalo als XML
    (siehe dazu Rückmeldung Wareneingang und Rückmeldung Retoure)
  • Inventurbuchungen von Wemalo als XML
    (siehe dazu Abgleich Inventur)

Der Ablauf sieht wie folgt aus:

  • In regelmäßigen Abständen (z.B. alle 15 Minuten) sieht Wemalo auf einem FTP-Server nach, ob es neue Dateien (Produkte oder Warenausgangsaufträge) gibt, die importiert werden müssen.
  • Diese XML-Dateien werden heruntergeladen und in Wemalo eingespielt.
  • Anschließend erstellt Wemalo für das Zurückspielen von Informationen (versendete Pakete oder Bestandsänderungen) ebenfalls XML-Dateien und lädt diese auf den FTP-Server hoch.

wemalo-xml ist eine Schnittstelle zum Austausch von Stammdaten über einen XML-Austausch.

Produktstammdaten

Für den Abgleich von Produktstammdaten steht eine XML-Schnittstelle zur Verfügung.

Alle Formate haben die Bedingung, dass die SKU der Produkte eindeutig sein muss. Ferner wird empfohlen, auch die EAN-Nummern eindeutig zu pflegen, damit diese beim Scannen eindeutig ermittelt werden kann.

Datenabgleich für Fashion(Multivarianten)-Produkte

Wemalo bietet eine XML-Schnittstelle für den Austausch von Produktstammdaten an. Diese Schnittstelle kann für Fashion- als auch für Fulfillment-Mandanten eingesetzt werden. In letzterem Fall kann der Teil ab <Colours> freigelassen werden.

Für Fashion-Mandanten ermöglicht diese XML-Struktur eine Separierung zwischen verschiedenen Modellen, Farben und Größen erlaubt. Die SKU wird hierbei jeweils automatisch generiert.

Der folgende Ausschnitt zeigt eine Fashion-XML:

 

<?xml version="1.0" encoding="UTF-8"?>
 <productsType>
<Client ID=”10”> <!-- Beinhaltet die ID des Mandanten aus Wemalo (int) -->
    <Run>986</Run> <!-- Optional, für Fashion relevant (String) -->
            <Season>8</Season> <!-- Optional, für Fashion relevant (String) -->
    <Models>
<!-- ExtId ist leer, wenn es mehrere Farben/Größen gibt -->
       <Model Description=”ABCz 821” ExtId=””>
       <Name>Strickkleid</Name>
<ProductImageUrl>http://img.todownload.com</ProductImageUrl>
      <Design>12345</Design><!-- Optional, für Fashion relevant (String) -->
<SKU></SKU> <!-- bei mehreren Farben ist das Feld leer (String) -->
<EAN></EAN> <!-- bei mehreren Farben ist das Feld leer (String) -->
<EAN2></EAN2> <!-- bei mehreren Farben ist das Feld leer (String) -->
<EAN3></EAN3> <!-- bei mehreren Farben ist das Feld leer(String) -->
<GrossWeight></GrossWeight> <!-- Bruttogewicht in Gramm (double) -->
<NetWeight></NetWeight> <!-- Nettogewicht in Gramm (double) -->
<Depth></Depth> <!-- Tiefe in cm (double) -->
<Width></Width> <!-- Breite in cm (double) -->
<Height></Height> <!-- Höhe in cm (double) -->
<Volume></Volume> <!-- Volumen in cm (double) -->
      <Colours> <!-- der folgende Teil ist optional -->
        <Colour Description=”Blau”>
        <ColourID>12345</ColourID> <-- (String) -->
        <Item>
          <ExtId>4440169</ExtId> <-- (String) -->
          <Size>34</Size> <-- (String) -->
          <EAN>1234567891</EAN> <-- (String) -->
          <EAN2>7447744242</EAN2> <-- (String) -->
<ProductImageUrl>http://img.todownload.com</ProductImageUrl>
        </Item>
        <Item>
          <ExtId>4440170</ExtId>
          <Size>36</Size> <-- (String) -->
          <EAN>1234567892</EAN> <-- (String) -->
          <EAN2>7788995566</EAN2> <-- (String) -->
          <EAN3>7788995555</EAN3> <-- (String) -->
        </Item>
        <Item SKU=”ABCz 82112345 38 - manuelle SKU”>
          <ExtId>4440171</ExtId> <-- (String) -->
          <Size>38</Size> <-- (String) -->
          <EAN>1234567893</EAN> <-- (String) -->
        </Item>
</Colour>
</Colours>
</Model>
     </Models>
    </Client>
</productsType>

 

Das Produkt mit der EAN 1234567891 besteht aus der Modellbezeichnung „ABCz 821“, der Farbe Blau mit der ID 12345 und der Größe 34. Die zusammengesetzte SKU würde für dieses Produkt „ABCz 82112345 34“ lauten.

Alternativ kann die SKU auch auf Höhe eines Teils angegeben werden, siehe Beispiel in Größe 38.

Bei Produkten, die nicht über Farben und Größen verfügen, kann der obige Aufbau ebenfalls verwendet werden. SKU, EAN und ExtId sollten dann auf Modellebene gesetzt sein und Farben/Teile kann leer bleiben.

Der Dateiname muss products enthalten und auf xml enden, z.B. products_160517.xml.

 

Abgleich Warenausgang

Zunächst können Lieferscheine bzw. Warenausgangsaufträge an Wemalo übergeben werden. Im Laufe des Workflows generiert Wemalo Meldungen über versendete Pakete und meldet Trackingnummern zurück.

Import Aufträge

Der folgende Ausschnitt zeigt anhand eines Beispiels, wie die Importdatei für Warenausgangsaufträge aussehen kann.

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <ordersType>
   <Order OrderNr="ME2172" OrderExtId=”ME2172”>
     <HeaderData>
       <Run>7</Run> <!-- optional, nur für Fashion relevant (string) -->
       <Client>10</Client>
       <Storage>123</Storage>
       <ETD>2015-08-06T14:20:52</ETD>
       <DispatcherProfile ID=”17” ExtId=”2182”>17</DispatcherProfile> <!-- es kann entweder die ID aus dem Wemalo-System, oder ein Code/eine externe ID angegeben werden, welche in Wemalo zum Matching hinterlegt werden kann -->
       <PickingNotice>Bitte EAN-Tags überprüfen und gr. Pakete verwenden</PickingNotice>
       <TotalPriceNetCent>10012</TotalPriceNetCent> <!-- für 100,12 € -->
       <TotalPriceGrossCent>10512</TotalPriceGrossCent> <!-- für 105,12 € -->
       <TotalVatCent>512</TotalVatCent>
       <TotalInvoiceCent>10512</TotalInvoiceCent>
       <Currency>EUR</Currency>
    </HeaderData>
     <Receiver CustomerNr="122212"> <!-- die CustomerNr ist die Kundennummer des Empfängers und wird als String übermittelt -->
       <Name1>Mustermann AG</Name1>
       <Name2>z.Hd. Hans Mustermann</Name2>
       <Name3 />
       <Str>Musterallee</Str> <!-- Straße -->
       <StrNr>27 d</StrNr> <!-- Hausnummer als String -->
       <CountryCode>DE</CountryCode>
       <Country>Germany</Country>
       <Zip>11111</Zip> <!-- Postleitzahl als String -->
       <City>Musterstadt</City>
       <Tel>0123456789</Tel> <!-- Telefonnummer des Empfängers als String -->
      <Email>example@wemalo.com</Email> <!-- E-Mail-Adresse des Empfängers -->
     </Receiver>
    <SubReceiver> <!-- wird der erste Empfänger nicht angetroffen, soll die Ware an den Vertreter geschickt werden. Dies wird nicht durch alle Versanddienstleister unterstützt. Die Angaben sind optional -->
      <Name1>Mustermann AG</Name1>
       <Name2>z.Hd. Hans Mustermann</Name2>
       <Name3 />
       <Str>Musterallee</Str> <!-- Straße -->
       <StrNr>27 d</StrNr> <!-- Hausnummer als String -->
       <CountryCode>DE</CountryCode>
       <Country>Germany</Country>
       <Zip>11111</Zip> <!-- Postleitzahl als String -->
       <City>Musterstadt</City>
       <Tel>0123456789</Tel> <!-- Telefonnummer des Empfängers als String -->
      <Email>example@wemalo.com</Email> <!-- E-Mail-Adresse des Empfängers -->
    </SubReceiver>
    <AltReceiver> <!-- der alternative Empfänger kann verwendet werden, um z.B. Sammelbestellungen zu organisieren. Die Angaben sind optional --> 
      <Name1>Mustermann AG</Name1>
       <Name2>z.Hd. Hans Mustermann</Name2>
       <Name3 />
       <Str>Musterallee</Str> <!-- Straße -->
       <StrNr>27 d</StrNr> <!-- Hausnummer als String -->
       <CountryCode>DE</CountryCode>
       <Country>Germany</Country>
       <Zip>11111</Zip> <!-- Postleitzahl als String -->
       <City>Musterstadt</City>
       <Tel>0123456789</Tel> <!-- Telefonnummer des Empfängers als String -->
      <Email>example@wemalo.com</Email> <!-- E-Mail-Adresse des Empfängers -->
    </AltReceiver>
     <Article>
       <Item SKU=”test1” ExtId="4440170" PositionId=”1213”> <!-- die externe ID des Produkts aus dem vorgelagerten System (String) -->
         <Quantity>3</Quantity> <!-- int -->
         <Attribute ID=”762” ExtCode=”21782”>1. Wahl</Attribute>
       </Item>
       <Item SKU=”test2” ExtId="4440171" PositionId=”1213”>
         <Quantity>1</Quantity> <!-- int -->
         <Attribute ID=”762” ExtCode=”21782”>1. Wahl</Attribute>
       </Item>
       <Item SKU=”test3” ExtId="4440171" PositionId=”1213”>
         <Quantity>5</Quantity> <!-- int -->
         <Attribute ID=”762” ExtCode=”21782”>1. Wahl</Attribute>
       </Item>
     <Article>
   </Order>
 </ordersType>

 

Der Dateiname muss goodsorders enthalten und auf xml enden, z.B. goodsorders_160517.xml.

Rückmeldung versendeter Pakete

Bei der Rückmeldung von versendeten Paketen wird ein Bezug zum Lieferschein, dem verwendeten Versandprofil und der Trackingnummer hergestellt. Außerdem wird der Paketinhalt das Gesamtgewicht des Paketes in Gramm übertragen.

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Orders>
  <Order ID="47453" OrderNr="ME2172" Stauts=”SENT”>
    <OrderParcel ID="122235" Number="h7zUi"> <!-- Number: interner Barcode des Pakets -->
      <DeliveryDate>2015-08-06T14:20:52</DeliveryDate>
      <Weight>2000</Weight> <!-- Paketgewicht in Gramm (int) -->
      <TrackingNumber>T123456789</TrackingNumber> <!-- String -->
      <DispatcherProfile ID=”17” ExtId=”2182”>17</DispatcherProfile>
<!-- Name des Versandprofils oder der Spedition bei Speditionsversand -->
      <Profilname>ABC Weltweit<Profilname>
      <Article>
        <Item ExtId="4440170">
          <Quantity>2</Quantity>
          <Attribute ID=”762” ExtCode=”21782”>1. Wahl</Attribute>
        </Item>
        <Item ExtId="4440171">
          <Quantity>1</Quantity>
          <Attribute ID=”762” ExtCode=”21782”>1. Wahl</Attribute>
        </Item>
        <Item ExtId="4440171">
          <Quantity>5</Quantity>
          <Attribute ID=”762” ExtCode=”21782”>1. Wahl</Attribute>
        </Item>
      <Article>
    </OrderParcel>
    <OrderParcel ID="122236" Number="j8uZs">
      <DeliveryDate>2015-08-08T17:11:09</DeliveryDate>
      <Weight>4000</Weight>
      <DispatcherProfile>22</DispatcherProfile>
      <Profilname>ABC Express<Profilname>
      <Article>
        <Item ExtId="4440170">
          <Quantity>1</Quantity>
          <Attribute ID=”762” ExtCode=”21782”>1. Wahl</Attribute>
        </Item>
      <Article>
    </OrderParcel>
   </Order>
 </Orders>

Es werden die versendeten Pakete übermittelt. Im Tag Order ist zu sehen, in welchem Status sich der Auftrag befindet. Dabei steht PARTIALLY für einen teilweise versendeten Auftrag und SENT für einen vollständigen Versand.

Abgleich Inventur

Inventureinbuchungen und -ausbuchungen können von Wemalo an ein vorgelagertes System überspielt werden. Der Aufbau der XML-Datei sieht wie folgt aus:

 

<?xml version="1.0" encoding="UTF-8"?>
<Inventory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="inventory.xsd">
  <InventoryOrder Client="7" ID="4" Storage="5">
    <Product ID="1234" ExtID="abc123">
      <SKU>SKU-12-122</SKU>
      <Quantity>1</Quantity>
    </Product>
    <Product ID="2222" ExtID="abc245">
      <SKU>SKU-11-554</SKU>
      <Quantity>-3</Quantity>
    </Product>
  </InventoryOrder>
</Inventory>

Schema-Dateien für XML-Schnittstelle

Produkte

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Products" type="ProductsType" />
  <xsd:complexType name="ProductsType">
    <xsd:sequence>
      <xsd:element name="Client" type="ClientType" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ClientType">
    <xsd:sequence>
      <xsd:element name="Run" type="xsd:string" />
      <xsd:element name="Season" type="xsd:string" />
      <xsd:element name="Models" type="ModelsType" />
    </xsd:sequence>
    <xsd:attribute name="ID" type="xsd:int" />
  </xsd:complexType>
  <xsd:complexType name="ModelsType">
    <xsd:sequence>
      <xsd:element name="Model" type="ModelType" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ModelType">
    <xsd:sequence>
      <xsd:element name="Name" type="xsd:string" />
      <xsd:element name="Design" type="xsd:string" />
      <xsd:element name="SKU" type="xsd:string" />
      <xsd:element name="EAN" type="xsd:string" />
      <xsd:element name="EAN2" type="xsd:string" />
      <xsd:element name="EAN3" type="xsd:string" />
      <xsd:element name="GrossWeight" type="xsd:double" />
      <xsd:element name="NetWeight" type="xsd:double" />
      <xsd:element name="Depth" type="xsd:double" />
      <xsd:element name="Width" type="xsd:double" />
      <xsd:element name="Height" type="xsd:double" />
      <xsd:element name="Volume" type="xsd:double" />
      <xsd:element name="Colours" type="ColoursType" />
      <xsd:element name="OriginCountry" type="xsd:string" minOccurs="0" />
      <xsd:element name="SupplierNumber" type="xsd:string" minOccurs="0" />
      <xsd:element name="FactoryNumber" type="xsd:string" minOccurs="0" />
      <xsd:element name="ProducerName" type="xsd:string" minOccurs="0" />
      <xsd:element name="ProductImage" type="ProductImage" />
    </xsd:sequence>
    <xsd:attribute name="Description" type="xsd:string" />
    <xsd:attribute name="ExtId" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="ProductImage">
   <xsd:simpleContent>
   <xsd:extension base="xsd:base64Binary">
   <xsd:attribute name="ImageName" type="xsd:string" />
   <xsd:attribute name="ImageUrl" type="xsd:string" />
   <xsd:attribute name="ImageSize" type="xsd:int" />
   <xsd:attribute name="ImageMimeType" type="xsd:string" />
   </xsd:extension>
   </xsd:simpleContent>
  </xsd:complexType>
  <xsd:complexType name="ColoursType">
    <xsd:sequence>
      <xsd:element name="Colour" type="ColourType" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ColourType">
    <xsd:sequence>
      <xsd:element name="ColourID" type="xsd:string" />
      <xsd:element maxOccurs="unbounded" name="Item" type="ItemType" />
    </xsd:sequence>
    <xsd:attribute name="Description" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="ItemType">
    <xsd:sequence>
      <xsd:element name="ExtId" type="xsd:string" />
      <xsd:element name="Size" type="xsd:string" />
      <xsd:element name="EAN" type="xsd:string" />
      <xsd:element name="EAN2" type="xsd:string" />
      <xsd:element name="ProductImageUrl" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
</xsd:schema>

Avise/vereinnahmte Ware

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="IncomingStock" type="IncomingStockType" />
  <xsd:complexType name="IncomingStockType">
    <xsd:sequence>
      <xsd:element name="Delivery" type="DeliveryType" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DeliveryType">
    <xsd:sequence>
      <xsd:element name="DeliveryDate" type="xsd:dateTime" />
      <xsd:element name="Storage" type="xsd:int" />
      <xsd:element name="Client" type="xsd:int" />
      <xsd:element name="Season" type="xsd:string" />
      <xsd:element name="Products" type="ProductsType" />
    </xsd:sequence>
    <xsd:attribute name="DeliveryType" type="xsd:string" />
    <xsd:attribute name="OrderId" type="xsd:int" />
    <xsd:attribute name="OrderNr" type="xsd:int" />
    <xsd:attribute name="ExtId" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="ProductsType">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" name="Item" type="ItemType" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ItemType">
    <xsd:sequence>
      <xsd:element name="TargetQuantity" type="xsd:int" />
      <xsd:element name="ActualQuantity" type="xsd:int" />
      <xsd:element name="Attribute" type="AttributeType" />
    </xsd:sequence>
    <xsd:attribute name="ExtId" type="xsd:string" />
    <xsd:attribute name="SKU" type="xsd:string" />
    <xsd:attribute name="rowOrderId" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="AttributeType">
    <xsd:attribute name="ID" type="xsd:int" />
    <xsd:attribute name="ExtCode" type="xsd:int" />
  </xsd:complexType>
</xsd:schema>

Warenausgangsaufträge / Lieferscheine

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Orders" type="OrdersType" />
  <xsd:complexType name="OrdersType">
    <xsd:sequence>
      <xsd:element name="Order" type="OrderType" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderType">
    <xsd:sequence>
      <xsd:element name="HeaderData" type="HeaderDataType" />
      <xsd:element name="Receiver" type="ReceiverType" />
      <xsd:element name="SubReceiver" type="SubReceiverType" />
      <xsd:element name="AltReceiver" type="AltReceiverType" />
      <xsd:element name="Article" type="ArticleType" />
    </xsd:sequence>
    <xsd:attribute name="OrderNr" type="xsd:string" />
    <xsd:attribute name="OrderExtId" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="ArticleType">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" name="Item" type="ItemType" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ItemType">
    <xsd:sequence>
      <xsd:element name="Quantity" type="xsd:int" />
      <xsd:element name="Attribute" type="AttributeType" />
    </xsd:sequence>
    <xsd:attribute name="ExtId" type="xsd:string" />
    <xsd:attribute name="SKU" type="xsd:string" />
    <xsd:attribute name="PositionId" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="AttributeType">
    <xsd:attribute name="ID" type="xsd:int" />
    <xsd:attribute name="ExtCode" type="xsd:int" />
  </xsd:complexType>
  <xsd:complexType name="AltReceiverType">
    <xsd:sequence>
      <xsd:element name="Name1" type="xsd:string" />
      <xsd:element name="Name2" type="xsd:string" />
      <xsd:element name="Name3" type="xsd:string" />
      <xsd:element name="Str" type="xsd:string" />
      <xsd:element name="StrNr" type="xsd:string" />
      <xsd:element name="CountryCode" type="xsd:string" />
      <xsd:element name="Country" type="xsd:string" />
      <xsd:element name="Zip" type="xsd:string" />
      <xsd:element name="City" type="xsd:string" />
      <xsd:element name="Tel" type="xsd:string" />
      <xsd:element name="Email" type="xsd:string" />
      <xsd:element name="State" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SubReceiverType">
    <xsd:sequence>
      <xsd:element name="Name1" type="xsd:string" />
      <xsd:element name="Name2" type="xsd:string" />
      <xsd:element name="Name3" type="xsd:string" />
      <xsd:element name="Str" type="xsd:string" />
      <xsd:element name="StrNr" type="xsd:string" />
      <xsd:element name="CountryCode" type="xsd:string" />
      <xsd:element name="Country" type="xsd:string" />
      <xsd:element name="Zip" type="xsd:string" />
      <xsd:element name="City" type="xsd:string" />
      <xsd:element name="Tel" type="xsd:string" />
      <xsd:element name="Email" type="xsd:string" />
      <xsd:element name="State" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ReceiverType">
    <xsd:sequence>
      <xsd:element name="Name1" type="xsd:string" />
      <xsd:element name="Name2" type="xsd:string" />
      <xsd:element name="Name3" type="xsd:string" />
      <xsd:element name="Str" type="xsd:string" />
      <xsd:element name="StrNr" type="xsd:string" />
      <xsd:element name="CountryCode" type="xsd:string" />
      <xsd:element name="Country" type="xsd:string" />
      <xsd:element name="Zip" type="xsd:string" />
      <xsd:element name="City" type="xsd:string" />
      <xsd:element name="Tel" type="xsd:string" />
      <xsd:element name="Email" type="xsd:string" />
      <xsd:element name="State" type="xsd:string" />
    </xsd:sequence>
    <xsd:attribute name="CustomerNr" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="HeaderDataType">
    <xsd:sequence>
      <xsd:element name="Run" type="xsd:string" />
      <xsd:element name="Client" type="xsd:int" />
      <xsd:element name="Storage" type="xsd:int" />
      <xsd:element name="ETD" type="xsd:dateTime" />
      <xsd:element name="DispatcherProfile" type="DispatcherProfileType" />
      <xsd:element name="PickingNotice" type="xsd:string" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="DispatcherProfileType">
    <xsd:attribute name="ID" type="xsd:int" />
    <xsd:attribute name="ExtId" type="xsd:string" />
  </xsd:complexType>
</xsd:schema>

Versendete Pakete

<?xml version="1.0" encoding="utf-8"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="Orders" type="OrdersInfoType" />
  <xsd:complexType name="OrdersInfoType">
    <xsd:sequence>
      <xsd:element name="Order" type="OrderInfoType" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="OrderInfoType">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" name="OrderParcel" type="OrderParcelType" />
    </xsd:sequence>
    <xsd:attribute name="ID" type="xsd:int" />
    <xsd:attribute name="OrderNr" type="xsd:string" />
    <xsd:attribute name="ExtID" type="xsd:string" />
    <xsd:attribute name="Status" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="OrderParcelType">
    <xsd:sequence>
      <xsd:element name="DeliveryDate" type="xsd:dateTime" />
      <xsd:element name="Weight" type="xsd:int" />
      <xsd:element name="TrackingNumber" type="xsd:string" />
      <xsd:element name="DispatcherProfile" type="DispatcherProfileType" />
      <xsd:element name="Article" type="ArticleType" />
    </xsd:sequence>
    <xsd:attribute name="ID" type="xsd:int" />
    <xsd:attribute name="Number" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="ArticleType">
    <xsd:sequence>
      <xsd:element maxOccurs="unbounded" name="Item" type="ItemType" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="ItemType">
    <xsd:sequence>
      <xsd:element name="Quantity" type="xsd:int" />
      <xsd:element name="Attribute" type="AttributeType" />
    </xsd:sequence>
    <xsd:attribute name="ExtId" type="xsd:string" />
    <xsd:attribute name="SKU" type="xsd:string" />
    <xsd:attribute name="PosID" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="AttributeType">
    <xsd:attribute name="ID" type="xsd:int" />
    <xsd:attribute name="ExtCode" type="xsd:int" />
  </xsd:complexType>
  <xsd:complexType name="DispatcherProfileType">
    <xsd:attribute name="ID" type="xsd:int" />
    <xsd:attribute name="ExtId" type="xsd:string" />
    <xsd:attribute name="Name" type="xsd:string" />
    <xsd:attribute name="DispatcherName" type="xsd:string" />
  </xsd:complexType>
</xsd:schema>

Inventur

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="Inventory">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="InventoryOrder" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="InventoryOrder">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="Product" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="Client" use="required" type="xs:int"/>
      <xs:attribute name="ID" use="required" type="xs:int"/>
      <xs:attribute name="Storage" use="required" type="xs:int"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="InventoryDate" type="xs:string"/>
  <xs:element name="Product">
    <xs:complexType>
      <xs:sequence>
       <xs:element name="SKU" type="xs:string" />
        <xs:element name="Quantity" type="xs:int" />
      </xs:sequence>
      <xs:attribute name="ExtId" type="xs:string"/>
      <xs:attribute name="ID" use="required" type="xs:int" />
    </xs:complexType>
  </xs:element>
</xs:schema>

Sidebar