About the registration file
This article provides the technical details of the XML file that Paazl uses to send order information to a carrier. About the Generic Carrier interface provides the context for the use of this file.
Paazl sends a registration file for each confirmed webshop order when the associated shipment labels are generated via the web app or via a SOAP or REST API call.
File name format
The name of a registration file has the following format:
<generic carrier name>_<client number>_<date_time>.xml
Example: TRUNKRS_20181010001_20190713_151036.xml
Barcode format
The barcode of a shipping label will contain the number of your contract with the webshop concerned followed by a six-digit number (from 000000 to 999999).
Element specifications
Element | Type | Required? | Description |
---|---|---|---|
registration | Complex | Required |
Contains details of a webshop order |
orders | Complex | Required |
Contains information on a webshop's orders |
order | Complex | Required |
A specific order's details |
reference | String | Required |
A webshop's reference for an order |
serviceCode | String | Required |
A webshop's unique code for one of its stores |
accountNumber | String | Required |
The number of a contract that a webshop has with a carrier. The webshop concerned supplies this number to Paazl. |
preferredDeliveryDate | Date | Required |
The date your customers selected at the checkout. |
cod | Complex | Optional | Contains information on the Cash On Delivery amount. |
currency | String | Optional |
The ISO 4217 code of the currency concerned. The default value is EUR. |
value | Decimal | Optional |
The amount that has to be paid on receipt of goods. |
insurance | Complex | Optional |
Contains information on the insured amount. |
currency | String | Optional |
The ISO 4217 code of the currency concerned. The default value is EUR. |
value | Integer | Optional |
The monetary value of an order. |
shipper | Complex | Required |
Contains details of the party that shipped an order. |
companyName | String | Optional |
The name of the company that is shipping an order |
name | String | Required |
The name of the party that is shipping the order |
nameOther | String | Optional |
Use this for any additional name information. |
street | String | Required |
The name of the street in which the shipper is located |
streetNumber | Integer | Required |
The house number of the shipper's address. |
streetNumberSuffix | String | Optional |
The house number extension (such as the "-A” in "12-A”) of the address from which an order is shipped |
postalCode | String | Required |
The postal code of the the address from which an order is shipped. |
town | String | Required |
The city or town of the shipper's address. |
country | String | Required |
The ISO 3166-2 code for the country of the shipper's address. |
emailAddress | String | Optional |
The sender's email address |
phoneNumber | String | Optional |
The sender's phone number The phone number of the party to which goods are being returned The phone number of the party to which an order is being shipped |
return | Complex | Required |
Contains details of the party to which an order is returned. |
companyName | String | Optional |
DEPRECATED |
name | String | Required |
The name of the party to which an order is being returned. |
nameOther | String | Optional |
DEPRECATED |
street | String | Required |
The name of the street to which goods are being returned. |
streetNumber | Integer | Required |
The house number of the address to which goods are being returned. |
streetNumberSuffix | String | Optional |
The house number extension (such as the "-A” in "12-A”) of the address to which an order is returned. |
postalCode | String | Required |
The postal code of the the address to which an order is returned. |
town | String | Required |
The city or town of the address to which goods are being returned. |
country | String | Required |
The ISO 3166-2 code for the country of the address to which an order is being returned. |
emailAddress | String | Optional |
The email address of the party to which goods are being returned |
phoneNumber | String | Optional |
The phone number of the party to which goods are being returned |
consignee | Complex | Required |
Contains details of a party to which an order is shipped. |
companyName | String | Optional |
The name of the company to which an order is shipped |
name | String | Required |
The name of the party to which an order is being shipped. |
nameOther | String | Optional |
Use this for any additional name information. |
street | String | Required |
The name of the street to which an order is being shipped. |
streetNumber | Integer | Required |
The house number of the address to which an order is being shipped. |
streetNumberSuffix | String | Optional |
The house number extension (such as the "-A” in "12-A”) of the address to which an order is shipped. |
postalCode | String | Required |
The postal code of the the address to which an order is shipped. |
town | String | Required |
The city or town of the address to which an order is being shipped. |
country | String | Required |
The ISO 3166-2 code for the country of the address to which an order is being shipped. |
emailAddress | String | Optional |
The email address of the party to which an order is being shipped |
phoneNumber | String | Optional |
The phone number of the party to which an order is being shipped |
notifications | Complex | Required |
Contains information of the delivery status of an order's shipments. The webshop sends this information to a carrier so that the carrier can update the order's consignee |
notification | Complex | Required |
Contains information of the delivery status of one of an order's shipments. The webshop sends this information to a carrier so that the carrier can update the order's consignee |
notificationType | String | Required |
The medium by which delivery status information should be sent. It has one of two possible values:
|
notificationValue | String | Required |
A shipment's delivery status, |
products | Complex | Optional |
Contains information on the products making up an order |
product | Complex | Optional |
Contains information on one of the products making up an order |
quantity | Integer | Required |
The number of items of a particular product type in a shipment. |
length | Integer | Optional |
The length in whole centimeters (cm) of a product. |
width | Integer | Optional |
The width in whole centimeters (cm) of a product. |
height | Integer | Optional |
The height in whole centimeters (cm) of a product. |
volume | Double | Optional |
The volume of a product in cubic meters (m3), including packaging. |
weight | Double | Required |
The weight in kilograms (kg) of a product. |
description | String | Optional |
This contains a description needed for Customs purposes. |
countryOfManufacture | String | Optional |
The ISO 3166-2 code for the country in which the goods being shipped were manufactured. |
unitPrice | nonNegativeDecimal | Optional |
The price of a product. |
unitPriceCurrency | currencyCode | Optional |
The ISO 4217 code of the currency concerned. The default value is EUR. |
hsTariffCode | String | Optional |
The HS code for the commodity category of the product concerned. |
direction | directionType | Optional |
Concerns swap orders where some products are to be picked up at a pickup location with other delivered to the consignee's address. Can have one of two values:
|
shipments | Complex | Required |
Contains barcodes belonging to the various shipments that make up an order |
shipment | Complex | Required |
Contains the barcodes belonging to one of the shipments that make up an order |
packages | Complex | Required |
Contains the barcodes of the various packages contained in a shipment. |
package | Complex | Required |
Contains the barcode of one of the products contained in a shipment |
barcode | String | Required |
The label's barcode generated by Paazl |
additionalInstruction | String | Optional |
If required by the carrier, this instruction will be printed on the address label. |
version | String | Required |
The status of the delivery status code mapping used by a carrier |
XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.paazl.com/schemas/registration" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:registration="http://www.paazl.com/schemas/registration">
<xs:element name="registration">
<xs:complexType>
<xs:sequence>
<xs:element name="orders" type="registration:OrdersType" />
</xs:sequence>
<xs:attribute name="version" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:complexType name="OrdersType">
<xs:sequence>
<xs:element name="order" type="registration:OrderType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="OrderType">
<xs:sequence>
<xs:element name="reference" type="xs:string" />
<xs:element name="serviceCode" type="xs:string" />
<xs:element name="accountNumber" type="xs:string" />
<xs:element name="preferredDeliveryDate" type="xs:date" />
<xs:element name="cod" type="registration:CodType" minOccurs="0" />
<xs:element name="insurance" type="registration:InsuranceType" minOccurs="0" />
<xs:element name="shipper" type="registration:ContactAndAddressType" />
<xs:element name="return" type="registration:ContactAndAddressType" />
<xs:element name="consignee" type="registration:ContactAndAddressType" />
<xs:element name="notifications" type="registration:NotificationsType" />
<xs:element name="products" type="registration:ProductsType" minOccurs="0" />
<xs:element name="shipments" type="registration:ShipmentsType" />
<xs:element name="additionalInstruction" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="CodType">
<xs:sequence>
<xs:element name="currency" type="xs:string"/>
<xs:element name="value" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="InsuranceType">
<xs:sequence>
<xs:element name="currency" type="xs:string"/>
<xs:element name="value" type="xs:int" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContactAndAddressType">
<xs:sequence>
<xs:element name="companyName" type="xs:string" minOccurs="0" />
<xs:element name="name" type="xs:string" />
<xs:element name="nameOther" type="xs:string" minOccurs="0" />
<xs:element name="street" type="xs:string" />
<xs:element name="streetNumber" type="xs:int" />
<xs:element name="streetNumberSuffix" type="xs:string" minOccurs="0" />
<xs:element name="postalCode" type="xs:string" />
<xs:element name="town" type="xs:string" />
<xs:element name="country" type="xs:string" />
<xs:element name="emailAddress" type="xs:string" minOccurs="0" />
<xs:element name="phoneNumber" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductsType">
<xs:sequence>
<xs:element name="product" type="registration:ProductType" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductType">
<xs:sequence>
<xs:element name="quantity" type="xs:int" />
<xs:element name="length" type="xs:int" minOccurs="0" />
<xs:element name="width" type="xs:int" minOccurs="0" />
<xs:element name="height" type="xs:int" minOccurs="0" />
<xs:element name="volume" type="xs:double" minOccurs="0" />
<xs:element name="weight" type="xs:double" />
<xs:element name="description" type="xs:string" minOccurs="0" />
<xs:element name="countryOfManufacture" minOccurs="0" type="xs:string" />
<xs:element name="unitPrice" minOccurs="0" type="registration:nonNegativeDecimal" />
<xs:element name="unitPriceCurrency" minOccurs="0" default="EUR" type="registration:currencyCode" />
<xs:element name="hsTariffCode" minOccurs="0" type="xs:string" />
<xs:element name="direction" minOccurs="0" type="registration:directionType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ShipmentsType">
<xs:sequence>
<xs:element name="shipment" type="registration:ShipmentType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="ShipmentType">
<xs:sequence>
<xs:element name="packages" type="registration:PackagesType" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PackagesType">
<xs:sequence>
<xs:element name="package" type="registration:PackageType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PackageType">
<xs:sequence>
<xs:element name="barcode" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="NotificationsType">
<xs:sequence>
<xs:element name="notification" type="registration:NotificationType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="NotificationType">
<xs:sequence>
<xs:element name="notificationType" type="registration:genericNotificationType" />
<xs:element name="notificationValue" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="genericNotificationType">
<xs:restriction base="xs:string">
<xs:enumeration value="CONSIGNEE_EMAIL"/>
<xs:enumeration value="CONSIGNEE_PHONE"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nonNegativeDecimal">
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="currencyCode">
<xs:restriction base="xs:string">
<xs:length value="3"/>
<xs:pattern value="[A-Z]{3}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="directionType">
<xs:restriction base="xs:string">
<xs:enumeration value="pickup"/>
<xs:enumeration value="delivery"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Examples
COD
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<registration xmlns="http://www.paazl.com/schemas/registration" version="1.0">
<orders>
<order>
<serviceCode>PROD5</serviceCode>
<cod>
<currency>EUR</currency>
<value>50.00</value>
</cod>
<shipperAddress>
<companyName>Paazl</companyName>
<street>Kerkstraat</street>
<streetNumber>310</streetNumber>
<postalCode>1017HC</postalCode>
<town>Amsterdam</town>
<country>NL</country>
</shipperAddress>
<returnAddress>
<companyName>Paazl</companyName>
<street>Kerkstraat</street>
<streetNumber>310</streetNumber>
<postalCode>1017HC</postalCode>
<town>Amsterdam</town>
<country>NL</country>
</returnAddress>
<consignee>
<companyName>A Company BV</companyName>
<name>My Name</name>
<nameOther>Extra name field</nameOther>
<street>Damrak</street>
<streetNumber>70</streetNumber>
<streetNumberSuffix>1</streetNumberSuffix>
<postalCode>1012LM</postalCode>
<town>Amsterdam</town>
<country>NL</country>
</consignee>
<shipments>
<shipment>
<packages>
<package>
<barcode>1234500000100</barcode>
</package>
</packages>
</shipment>
</shipments>
<additionalInstruction>Please leave parcel at number 20</additionalInstruction>
</order>
</orders>
</registration>
Insurance
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<registration xmlns="http://www.paazl.com/schemas/registration" version="1.0">
<orders>
<order>
<serviceCode>PROD5</serviceCode>
<insurance>
<currency>EUR</currency>
<value>150.00</value>
</insurance>
<shipperAddress>
<companyName>Paazl</companyName>
<street>Kerkstraat</street>
<streetNumber>310</streetNumber>
<postalCode>1017HC</postalCode>
<town>Amsterdam</town>
<country>NL</country>
</shipperAddress>
<returnAddress>
<companyName>Paazl</companyName>
<street>Kerkstraat</street>
<streetNumber>310</streetNumber>
<postalCode>1017HC</postalCode>
<town>Amsterdam</town>
<country>NL</country>
</returnAddress>
<consignee>
<companyName>A Company BV</companyName>
<name>My Name</name>
<nameOther>Extra name field</nameOther>
<street>Damrak</street>
<streetNumber>70</streetNumber>
<streetNumberSuffix>1</streetNumberSuffix>
<postalCode>1012LM</postalCode>
<town>Amsterdam</town>
<country>NL</country>
</consignee>
<shipments>
<shipment>
<packages>
<package>
<barcode>1234500000100</barcode>
</package>
</packages>
</shipment>
</shipments>
<additionalInstruction>Please leave parcel at number 20</additionalInstruction>
</order>
</orders>
</registration>