Notable changes
Idhas been renamed toExternalIdin all incoming schemas to better reflect differences between external system identifiers and ONELOX identifiers- DeliveryNote
ShippingAddresshas been removed in favor of separateCustomerandAddressnodes Shipmentmay now contain multipleTrackingCode,TrackingLinkandShippingMethodnodes in case no accurate package information is available
Incoming data
Tracking data
Copy
<?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="Shipment">
<xs:complexType>
<xs:sequence>
<xs:element name="ExternalId" 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">
<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="TrackingCodes" minOccurs="0">
<xs:annotation>
<xs:documentation>One or multiple Tracking Codes. It is strongly recommended to
provide one Shipment with a single Tracking Code and the appropriate positions
for each package that was shipped</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TrackingCode" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TrackingLinks" minOccurs="0">
<xs:annotation>
<xs:documentation>One or multiple Tracking Links. It is strongly recommended to
provide one Shipment with a single Tracking Link and the appropriate positions
for each package that was shipped</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="TrackingLink" minOccurs="0" maxOccurs="unbounded">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ShippingMethods" minOccurs="0">
<xs:annotation>
<xs:documentation>One or multiple Shipping Methods. It is strongly recommended to
provide one Shipment with a single Shipping Method and the appropriate positions
for each package that was shipped</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="ShippingMethod" minOccurs="0" maxOccurs="unbounded">
<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 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="ExternalId" 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="DeliveryNotePositionId" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional original ONELOX Delivery Note Position
UUID. It is recommended to always provide an original position ID</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" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional original ONELOX Delivery Note UUID. Providing an ID is
recommended when fulfilling for multiple Customers that are allowed to have
overlapping Delivery Note numbers</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="Number">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Inventory Data
Copy
<?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 name="WarehouseId" minOccurs="0">
<xs:annotation>
<xs:documentation>ONELOX Warehouse ID. Must be a valid Warehouse for the
Integration. Defaults to the Integration's configured default Warehouse</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="uuid" />
</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="Type" minOccurs="0">
<xs:annotation>
<xs:documentation>The stock type. Default: A</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="" />
<xs:enumeration value="A">
<xs:annotation>
<xs:documentation>regular stock</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="B">
<xs:annotation>
<xs:documentation>B-stock</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="C">
<xs:annotation>
<xs:documentation>C/damaged/defective/used, unsellable stock</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="R">
<xs:annotation>
<xs:documentation>returned stock</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Status" minOccurs="0">
<xs:annotation>
<xs:documentation>The stock status. Default: stored</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="" />
<xs:enumeration value="approved">
<xs:annotation>
<xs:documentation>incoming stock, not yet sellable</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="stored">
<xs:annotation>
<xs:documentation>regular, sellable stock</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="blocked">
<xs:annotation>
<xs:documentation>blocked stock, e.g. due to defects or quality control, not
sellable</xs:documentation>
</xs:annotation>
</xs:enumeration>
</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:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Outgoing data
Product data
Copy
<?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="Product">
<xs:complexType>
<xs:sequence>
<xs:element type="uuid" name="Id" />
<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">
<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="Isbn">
<xs:annotation>
<xs:documentation>10 or 13 digit ISBN. Digit groups may be separated with a whitespace
or dash character</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:minLength value="10" />
<xs:maxLength value="17" />
<xs:pattern value="(\d{3}(\s|-)?)?[\d\-\s]{10,13}" />
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="Asin">
<xs:annotation>
<xs:documentation>10 character alpha-numeric Amazon ASIN</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="10" />
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="HsCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Vendor">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Origin">
<xs:complexType>
<xs:sequence>
<xs:element name="CountryCode">
<xs:annotation>
<xs:documentation>ISO 3166-1 alpha-2 code, e.g. DE</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="2" />
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="ProvinceCode">
<xs:annotation>
<xs:documentation>ISO 3166-2 code, e.g. DE-BE</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element type="nullableDecimal" name="Weight">
<xs:annotation>
<xs:documentation>Weight in grams with milligrams as decimal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="nullableDecimal" name="Length">
<xs:annotation>
<xs:documentation>Length in centimeters with millimeters as decimal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="nullableDecimal" name="Width">
<xs:annotation>
<xs:documentation>Width in centimeters with millimeters as decimal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="nullableDecimal" name="Height">
<xs:annotation>
<xs:documentation>Height in centimeters with millimeters as decimal</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Price">
<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">
<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">
<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" />
<xs:element type="xs:boolean" name="DangerousGoods" />
<xs:element type="xs:boolean" name="Battery" />
<xs:element type="xs:boolean" name="Fragile" />
<xs:element type="xs:boolean" name="Batchable" />
<xs:element type="xs:boolean" name="Perishable" />
<xs:element type="xs:boolean" name="HasSerialNumbers" />
<xs:element type="xs:boolean" name="Storable" />
<xs:element name="Attributes">
<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:attribute type="xs:dateTime" name="lastChange" />
</xs:complexType>
</xs:element>
</xs:schema>
Delivery Note data
Copy
<?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 type="uuid" name="Id" />
<xs:element name="Status">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="open" />
<xs:enumeration value="pending" />
<xs:enumeration value="in_picking" />
<xs:enumeration value="packed" />
<xs:enumeration value="shipped" />
<xs:enumeration value="invalid" />
<xs:enumeration value="error" />
<xs:enumeration value="cancelled" />
</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:annotation>
<xs:documentation>Unique per DataSourceId</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DeliveryDate">
<xs:annotation>
<xs:documentation>The delivery date requested by the customer</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:date" />
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element type="uuid" name="DataSourceId">
<xs:annotation>
<xs:documentation>ONELOX DataSource ID. Contains the ID of the Delivery Note's source
Integration</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Warehouse">
<xs:complexType>
<xs:sequence>
<xs:element type="uuid" name="Id">
<xs:annotation>
<xs:documentation>ONELOX Warehouse ID</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="externalId">
<xs:annotation>
<xs:documentation>Optional original external system warehouse ID, if configured in
ONELOX</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:element name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element type="uuid" name="Id">
<xs:annotation>
<xs:documentation>ONELOX Customer ID</xs:documentation>
</xs:annotation>
</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="Name">
<xs:annotation>
<xs:documentation>Company name for B2B customers or full name for B2C customers.
This value depends on the Delivery Note's source Integration capabilities and
should be treated as a freetext field</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</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:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Address">
<xs:complexType>
<xs:sequence>
<xs:element name="Company">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FirstName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LastName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</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="Phone">
<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">
<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="Province">
<xs:annotation>
<xs:documentation>Province name or ISO 3166-2 code. This value depends on the
Delivery Note's source Integration capabilities and should be treated as a
freetext field</xs:documentation>
</xs:annotation>
<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">
<xs:complexType>
<xs:sequence>
<xs:element name="Name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Carrier">
<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">
<xs:annotation>
<xs:documentation>Comment directed at the Fulfiller. May contain information relevant
for fulfillment</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="InternalComment">
<xs:annotation>
<xs:documentation>Comment for internal use. May contain information regarding the
Delivery Note or Order, e.g. for customer support</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Attributes">
<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 type="uuid" name="Id" />
<xs:element name="ParentId">
<xs:annotation>
<xs:documentation>Optional grouping parent 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="uuid" />
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="ProductId">
<xs:annotation>
<xs:documentation>ONELOX Product ID. Optional only if isVirtual is true</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="uuid" />
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="Sku">
<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">
<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="FulfilledQuantity">
<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:nonNegativeInteger" />
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="Price">
<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">
<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">
<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">
<xs:annotation>
<xs:documentation>Comment directed at the Fulfiller. May contain information
relevant for fulfillment, e.g. specific packing instructions</xs:documentation>
</xs:annotation>
<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:attribute type="xs:boolean" name="isFulfilled" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Documents" minOccurs="0">
<xs:annotation>
<xs:documentation>Documents attached to the Delivery Note. Document transfer must be
enabled in the Integration</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Document" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Type">
<xs:annotation>
<xs:documentation>The Document type. Types are unique, i.e. only a single
delivery_note Document will be available per Delivery Note. Untyped
Documents (type is empty) are not limited</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="" />
<xs:enumeration value="delivery_note" />
<xs:enumeration value="invoice" />
<xs:enumeration value="pro_forma_invoice" />
<xs:enumeration value="shipping_label" />
<xs:enumeration value="sscc_label" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FileName">
<xs:annotation>
<xs:documentation>The visible file name for the Document</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element type="xs:base64Binary" name="Content">
<xs:annotation>
<xs:documentation>The base64 encoded file content</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:dateTime" name="lastChange" />
<xs:attribute type="nullableDateTime" name="cancelledAt" />
<xs:attribute type="nullableDateTime" name="closedAt" />
</xs:complexType>
</xs:element>
</xs:schema>

