> ## Documentation Index
> Fetch the complete documentation index at: https://docs.onelox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Source File Schemas v1

> XML schema files using the XSD standard for seamless and robust integration

export const Lang = {
  work_in_progress: "This page is continuously being worked on and will contain more information in the near future",
  deprecated_v1: "This version will be deprecated soon. We recommend using a newer version when starting a new Integration",
  beta_v2: "This version is currently in beta status. Please contact us to request access"
};

<Note>
  { Lang.deprecated_v1 }
</Note>

## Incoming data

### Product data

```XSD theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="uuid">
    <xs:restriction base="xs:string">
      <xs:length value="36"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="nullableDecimal">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:length value="0"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:decimal"/>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:element name="Products">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Product">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Id" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Optional external system ID</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Sku">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Name">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Eans" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Ean" minOccurs="0" maxOccurs="25">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="100"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="HsCode" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="12"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Vendor" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element type="nullableDecimal" name="Weight" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Weight in grams with milligrams as decimal</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element type="nullableDecimal" name="Length" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Length in centimeters with millimeters as decimal</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element type="nullableDecimal" name="Width" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Width in centimeters with millimeters as decimal</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element type="nullableDecimal" name="Height" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Height in centimeters with millimeters as decimal</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Price" minOccurs="0">
                <xs:simpleType>
                  <xs:union>
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:length value="0"/>
                      </xs:restriction>
                    </xs:simpleType>
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:maxLength value="50"/>
                        <xs:pattern value="[0-9]+(\.([0-9]{2}))?"/>
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:union>
                </xs:simpleType>
              </xs:element>
              <xs:element name="PackagingUnit">
                <xs:simpleType>
                  <xs:restriction base="xs:unsignedInt">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ShippingUnit" minOccurs="0">
                <xs:simpleType>
                  <xs:union>
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:length value="0"/>
                      </xs:restriction>
                    </xs:simpleType>
                    <xs:simpleType>
                      <xs:restriction base="xs:unsignedInt"/>
                    </xs:simpleType>
                  </xs:union>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ShippingType" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value=""/>
                    <xs:enumeration value="bag"/>
                    <xs:enumeration value="box"/>
                    <xs:enumeration value="bulk"/>
                    <xs:enumeration value="loose"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element type="xs:boolean" name="Refrigerated" minOccurs="0"/>
              <xs:element type="xs:boolean" name="DangerousGoods" minOccurs="0"/>
              <xs:element type="xs:boolean" name="Battery" minOccurs="0"/>
              <xs:element type="xs:boolean" name="Fragile" minOccurs="0"/>
              <xs:element type="xs:boolean" name="Batchable" minOccurs="0"/>
              <xs:element type="xs:boolean" name="Perishable" minOccurs="0"/>
              <xs:element type="xs:boolean" name="HasSerialNumbers" minOccurs="0"/>
              <xs:element type="xs:boolean" name="Storable"/>
              <xs:element name="Attributes" minOccurs="0">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Attribute" minOccurs="0" maxOccurs="100">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Key">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="100"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Value">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute type="xs:string" name="type"/>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
```

### Delivery Note Data

```XSD theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="uuid">
    <xs:restriction base="xs:string">
      <xs:length value="36"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="nullableDateTime">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:length value="0"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"/>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:simpleType name="attributeValue">
    <xs:restriction base="xs:string">
      <xs:maxLength value="100"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="DeliveryNote">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Id" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Optional external system ID</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
            <xs:maxLength value="255"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Status" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Defaults to 'open' if not present</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="open"/>
              <xs:enumeration value="cancelled"/>
              <xs:enumeration value="shipped"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element type="xs:date" name="OrderDate"/>
        <xs:element name="OrderNumber">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="100"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Number">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="100"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="ShippingAddress">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="uuid" name="Id" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Internal customer ID. Takes precedence over a CustomerNumber if provided</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="CustomerId" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Optional external system ID</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                  <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="CustomerNumber" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Required without ID</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Email">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Company" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Required without first name</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="FirstName" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Required without company</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="LastName" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Phone" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="15"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Street">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="AddressAddition" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ZipCode">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="20"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="City">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Country">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="CountryCode">
                <xs:annotation>
                  <xs:documentation>ISO 3166-1 alpha-2 code</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:length value="2"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ShippingMethod" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Name" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="ExternalComment" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="1000"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="InternalComment" minOccurs="0">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="1000"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Attributes" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Attribute" minOccurs="0" maxOccurs="100">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Key">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="100"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Value">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="attributeValue">
                            <xs:attribute type="xs:string" name="type"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Positions">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Position" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Id" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Optional external system ID</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                        <xs:maxLength value="255"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="ParentId" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Optional grouping parent position ID. Must match with another provided position ID</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                        <xs:maxLength value="255"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Sku" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Optional only if isVirtual is true</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="100"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="Title" minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="255"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element type="xs:nonNegativeInteger" name="Quantity"/>
                    <xs:element name="Price" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Defaults to the configured product price if not present</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:union>
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:length value="0"/>
                            </xs:restriction>
                          </xs:simpleType>
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:maxLength value="50"/>
                              <xs:pattern value="[0-9]+(\.([0-9]{2}))?"/>
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:union>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="RequestedBatch" minOccurs="0">
                      <xs:simpleType>
                        <xs:union>
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:length value="0"/>
                            </xs:restriction>
                          </xs:simpleType>
                          <xs:simpleType>
                            <xs:restriction base="xs:string">
                              <xs:maxLength value="50"/>
                            </xs:restriction>
                          </xs:simpleType>
                        </xs:union>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element name="RequestedSerialNumbers" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="RequestedSerialNumber" minOccurs="0" maxOccurs="unbounded">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Comment" minOccurs="0">
                      <xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:maxLength value="255"/>
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute type="xs:boolean" name="isGrouping" use="optional"/>
                  <xs:attribute type="xs:boolean" name="isVirtual" use="optional"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
```

## Outgoing data

### Inventory data

```XSD theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="uuid">
    <xs:restriction base="xs:string">
      <xs:length value="36"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="Inventories">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Inventory" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element type="uuid" name="WarehouseId" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>ONELOX Warehouse ID</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="Sku">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Type" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value=""/>
                    <xs:enumeration value="A"/>
                    <xs:enumeration value="B"/>
                    <xs:enumeration value="C"/>
                    <xs:enumeration value="R"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Status" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value=""/>
                    <xs:enumeration value="approved"/>
                    <xs:enumeration value="stored"/>
                    <xs:enumeration value="blocked"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Shelf" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="50"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="Batch" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="50"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="SellByDate" minOccurs="0">
                <xs:simpleType>
                  <xs:union>
                    <xs:simpleType>
                      <xs:restriction base="xs:string">
                        <xs:length value="0"/>
                      </xs:restriction>
                    </xs:simpleType>
                    <xs:simpleType>
                      <xs:restriction base="xs:date"/>
                    </xs:simpleType>
                  </xs:union>
                </xs:simpleType>
              </xs:element>
              <xs:element type="xs:unsignedInt" name="Quantity"/>
            </xs:sequence>
            <xs:attribute type="uuid" name="productId"/>
            <xs:attribute name="externalProductId" use="optional">
              <xs:annotation>
                <xs:documentation>Optional original external system product ID, if one was provided during Product transmission</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="255"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
            <xs:attribute type="xs:dateTime" name="lastChange"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
```

### Shipment data

```XSD theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:simpleType name="uuid">
    <xs:restriction base="xs:string">
      <xs:length value="36"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="nullableDateTime">
    <xs:union>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:length value="0"/>
        </xs:restriction>
      </xs:simpleType>
      <xs:simpleType>
        <xs:restriction base="xs:dateTime"/>
      </xs:simpleType>
    </xs:union>
  </xs:simpleType>
  <xs:element name="Tracking">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="TrackingCode">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="255"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="TrackingLink">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:maxLength value="1000"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="Shipment">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Id" type="uuid"/>
              <xs:element name="Status">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="open"/>
                    <xs:enumeration value="shipped"/>
                    <xs:enumeration value="in_delivery"/>
                    <xs:enumeration value="delivered"/>
                    <xs:enumeration value="cancelled"/>
                    <xs:enumeration value="failed"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="ShippingMethod" minOccurs="0">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element type="nullableDateTime" name="ShippedAt" minOccurs="0"/>
              <xs:element type="nullableDateTime" name="DeliveredAt" minOccurs="0"/>
              <xs:element type="nullableDateTime" name="CancelledAt" minOccurs="0"/>
              <xs:element name="Positions">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Position" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Id" type="uuid"/>
                          <xs:element name="DeliveryNotePositionId" minOccurs="0">
                            <xs:annotation>
                              <xs:documentation>Optional original ONELOX Delivery Note Position UUID</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                              <xs:union>
                                <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                    <xs:length value="0"/>
                                  </xs:restriction>
                                </xs:simpleType>
                                <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                    <xs:length value="36"/>
                                  </xs:restriction>
                                </xs:simpleType>
                              </xs:union>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Sku">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="100"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="Batch" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="50"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="SellByDate" minOccurs="0">
                            <xs:simpleType>
                              <xs:union>
                                <xs:simpleType>
                                  <xs:restriction base="xs:string">
                                    <xs:length value="0"/>
                                  </xs:restriction>
                                </xs:simpleType>
                                <xs:simpleType>
                                  <xs:restriction base="xs:date"/>
                                </xs:simpleType>
                              </xs:union>
                            </xs:simpleType>
                          </xs:element>
                          <xs:element name="SerialNumbers" minOccurs="0">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="SerialNumber" minOccurs="0" maxOccurs="unbounded">
                                  <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                      <xs:maxLength value="50"/>
                                    </xs:restriction>
                                  </xs:simpleType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                          <xs:element type="xs:unsignedInt" name="Quantity"/>
                          <xs:element name="Comment" minOccurs="0">
                            <xs:simpleType>
                              <xs:restriction base="xs:string">
                                <xs:maxLength value="255"/>
                              </xs:restriction>
                            </xs:simpleType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="DeliveryNote">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Id" type="uuid"/>
              <xs:element name="Number">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="OrderNumber">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="100"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="externalId" use="optional">
              <xs:annotation>
                <xs:documentation>Optional original external system ID, if one was provided during DeliveryNote transmission</xs:documentation>
              </xs:annotation>
              <xs:simpleType>
                <xs:restriction base="xs:string">
                  <xs:maxLength value="255"/>
                </xs:restriction>
              </xs:simpleType>
            </xs:attribute>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
```

## FAQ

**Q:** Why does the incoming Product Schema contain Parts List information, but the outgoing Schema does not?

> When providing Parts List information to ONELOX, the Article will automatically be split into its
> configured Parts by ONELOX when it is present in a Delivery Note.
> If you want your Fulfiller to handle Parts Lists, configure the Products there accordingly.
