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, depending on the source Fulfiller integration
Incoming 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="Products">
<xs:complexType>
<xs:sequence>
<xs:element name="Product" 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="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="Isbn" minOccurs="0">
<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" minOccurs="0">
<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" 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 name="Origin" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="CountryCode" minOccurs="0">
<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" minOccurs="0">
<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" 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 type="xs:boolean" name="IsPartsList" minOccurs="0" />
<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:element name="Parts" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Part" minOccurs="0" maxOccurs="10">
<xs:complexType>
<xs:sequence>
<xs:element type="uuid" name="ProductId" minOccurs="0">
<xs:annotation>
<xs:documentation>Required without SKU. ONELOX Product ID. A Product
may be contained in multiple parts lists</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Sku" minOccurs="0">
<xs:annotation>
<xs:documentation>Required without ProductId. A Product may be
contained in multiple parts lists</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Quantity">
<xs:annotation>
<xs:documentation>Required. The quantity of the parts list part</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:unsignedInt">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Price" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional price for this parts list part. Defaults to
the original Product's price</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="Title" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional title for this parts list part. Defaults to
the original Product's title</xs:documentation>
</xs:annotation>
<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:sequence>
</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 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" 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:annotation>
<xs:documentation>Must be unique per integration. Will be used on subsequent transfers
to update an existing Delivery Note</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" minOccurs="0">
<xs:annotation>
<xs:documentation>The delivery date requested by the customer. Delivery Dates are not
supported by all Fulfiller integrations</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="WarehouseId" minOccurs="0">
<xs:annotation>
<xs:documentation>ONELOX Warehouse ID. Defaults to the Source's configured Default
Warehouse if not provided</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Customer">
<xs:complexType>
<xs:sequence>
<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>Required. Should be the company name for B2B customers or full
name for B2C customers</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" 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:element name="Address">
<xs:complexType>
<xs:sequence>
<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="Email" 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="Province" minOccurs="0">
<xs:annotation>
<xs:documentation>Province name or ISO 3166-2 alpha-2 code, with the latter being
preferred. Provinces are not supported by all Fulfiller integrations</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" 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="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="ParentId" minOccurs="0">
<xs:annotation>
<xs:documentation>Optional grouping parent position ExternalId. Must match
with another provided position ExternalId</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:annotation>
<xs:documentation>A specific batch requested to be shipped. Requested
Batches are not supported by all Fulfiller integrations</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:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="RequestedSerialNumbers" minOccurs="0">
<xs:annotation>
<xs:documentation>Specific serial numbers requested to be shipped. Requested
Serial Numbers are not supported by all Fulfiller integrations</xs:documentation>
</xs:annotation>
<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:annotation>
<xs:documentation>If true, marks the position as grouping, i.e. having child
positions. In that case, an Id must be set to match child positions to the
correct parent. May be combined with isVirtual, e.g. to create exploded
parts list/bundle lines. May also be used on physical positions</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute type="xs:boolean" name="isVirtual" use="optional">
<xs:annotation>
<xs:documentation>If true, marks the position as virtual, e.g. a headline
text. Virtual positions will not be transmitted to the Fulfiller integration</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Documents" minOccurs="0">
<xs:annotation>
<xs:documentation>Only available in eligible ONELOX plans. 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 only limited by the Client's ONELOX plan</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:pattern value="[A-Za-z0-9\-_.][A-Za-z0-9\-_.\s]*[A-Za-z0-9\-_]" />
</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:complexType>
</xs:element>
</xs:schema>
Outgoing data
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="Sku">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Type">
<xs:annotation>
<xs:documentation>The stock type. Default: A</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<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">
<xs:annotation>
<xs:documentation>The stock status. Default: stored</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<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">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Batch">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SellByDate">
<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:element name="FulfillerId">
<xs:annotation>
<xs:documentation>ONELOX Fulfiller ID. May be empty if no Fulfiller is associated
with the 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 type="uuid" name="WarehouseId">
<xs:annotation>
<xs:documentation>ONELOX Warehouse ID</xs:documentation>
</xs:annotation>
</xs:element>
</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
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 type="uuid" name="Id" />
<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 type="uuid" name="FulfillerId" />
<xs:element name="TrackingCodes">
<xs:annotation>
<xs:documentation>One or multiple Tracking Codes, depending on the Fulfiller that
provided Shipping data</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">
<xs:annotation>
<xs:documentation>One or multiple Tracking Links, depending on the Fulfiller that
provided Shipping data</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">
<xs:annotation>
<xs:documentation>One or multiple Shipping Methods, depending on the Fulfiller
that provided Shipping data</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 name="SSCC">
<xs:annotation>
<xs:documentation>SSCC of the package. Only available if the Shipment represents a single shipped package</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="18"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element type="nullableDateTime" name="ShippedAt" />
<xs:element type="nullableDateTime" name="DeliveredAt" />
<xs:element type="nullableDateTime" name="CancelledAt" />
<xs:element name="Positions">
<xs:complexType>
<xs:sequence>
<xs:element name="Position" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element type="uuid" name="Id" />
<xs:element name="DeliveryNotePositionId">
<xs:annotation>
<xs:documentation>Optional original ONELOX Delivery Note Position
UUID. May be empty if not provided by the Fulfiller</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">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SellByDate">
<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">
<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">
<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 type="uuid" name="Id" />
<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
Delivery Note 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.

