About the tracking file
This article provides the technical details of the XML file that generic carriers send to Paazl in order to update the delivery status of an order. About the Generic Carrier interface provides the context for the use of this file.
File name format
There are no filename requirements. Paazl will process any files placed by the generic carrier in its (S)FTP folder.
Element specifications
Element | Type | Required? | Description |
---|---|---|---|
statuses | Complex element | Required |
Contains information on the delivery statuses of the various shipments making up an order. |
status | Complex element | Required |
Contains information on the delivery status of a shipment in an order. The Paazl delivery status code for a shipment. See About Paazl delivery status codes for the meaning of the various codes. |
timestamp | dateTime | Required |
The time when the delivery status of a shipment was registered |
barcode | String | Required |
The barcode that a carrier assigns to a shipping order |
carrierStatus | String | Required |
A shipment's delivery status code as provided by the carrier |
carrierStatusDescription | String | Required |
A shipment's delivery status description as provided by the carrier |
status | statusType | Optional |
The Paazl delivery status code for a shipment. See About Paazl delivery status codes for the meaning of the various codes. |
town | String | Optional |
The city or town of the address to which an order is being shipped. |
country | String | Optional |
The ISO 3166-2 code for the country of the address to which an order is being shipped. |
deliveryWindowFrom | dateTime | Optional |
The start of a particular shipping option’s delivery time range |
deliveryWindowTo | dateTime | Optional |
The end of a particular shipping option’s delivery time range |
deliveryInformation | String | Optional |
Additional information concerning the status of a delivery |
version | String | Required |
The status of the delivery status code mapping used by a carrier |
timestamp | dateTime | Required |
The time when this tracking file was sent |
XSD
<xs:schema targetNamespace="http://www.paazl.com/schemas/tracking" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tracking="http://www.paazl.com/schemas/tracking">
<xs:element name="tracking">
<xs:complexType>
<xs:sequence>
<xs:element name="statuses" type="tracking:StatusesType" />
</xs:sequence>
<xs:attribute name="version" type="xs:string" use="required" />
<xs:attribute name="timestamp" type="xs:dateTime" use="required" />
</xs:complexType>
</xs:element>
<xs:complexType name="StatusesType">
<xs:sequence>
<xs:element name="status" type="tracking:StatusData" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="StatusData">
<xs:sequence>
<xs:element name="timestamp" type="xs:dateTime" />
<xs:element name="barcode" type="xs:string" />
<xs:element name="carrierStatus" type="xs:string" />
<xs:element name="carrierStatusDescription" type="xs:string" />
<xs:element name="status" type="tracking:statusType" minOccurs="0" />
<xs:element name="town" type="xs:string" minOccurs="0" />
<xs:element name="country" type="xs:string" minOccurs="0" />
<xs:element name="deliveryWindowFrom" type="xs:dateTime" minOccurs="0"/>
<xs:element name="deliveryWindowTo" type="xs:dateTime" minOccurs="0"/>
<xs:element name="deliveryInformation" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:simpleType name="statusType">
<xs:restriction base="xs:string">
<xs:enumeration value="READY_TO_POST"/>
<xs:enumeration value="SCANNED"/>
<xs:enumeration value="AVAILABLE_AT_PICKUP_POINT"/>
<xs:enumeration value="DELIVERED"/>
<xs:enumeration value="DELIVEREDBB"/>
<xs:enumeration value="RETOUR"/>
<xs:enumeration value="PICKEDUP"/>
<xs:enumeration value="UITLEVERING"/>
<xs:enumeration value="MANCO"/>
<xs:enumeration value="NOT_AT_HOME"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Example
<?xml version="1.0"?>
<trac:tracking xmlns:trac="http://www.paazl.com/schemas/tracking" version="string" timestamp="2017-04-25T13:53:13">
<trac:statuses>
<!--1 or more repetitions:-->
<trac:status>
<trac:timestamp>2018-04-25T13:53:13</trac:timestamp>
<trac:barcode>70006800090101000006</trac:barcode>
<trac:carrierStatus>SCANNED</trac:carrierStatus>
<trac:carrierStatusDescription>The package is scanned</trac:carrierStatusDescription>
<!--Optional:-->
<trac:status>RETOUR</trac:status>
<!--Optional:-->
<trac:town>Amsterdam</trac:town>
<!--Optional:-->
<trac:country>NL</trac:country>
<!--Optional:-->
<trac:deliveryWindowFrom>2018-04-25T13:53:13</trac:deliveryWindowFrom>
<!--Optional:-->
<trac:deliveryWindowTo>2018-04-29T13:53:13</trac:deliveryWindowTo>
</trac:status>
</trac:statuses>
</trac:tracking>