Track orders and parcels in Delivery Tracker

Delivery Tracker provides a rich branded experience for tracking the delivery of orders with their allocated parcels. Delivery Tracker supports tracking for home delivery, pick-up & drop-off and click & collect. Find out more about Delivery Tracker in Metapack Help Center.

Consideration when using deliveries in combination with delivery legs

The information required for tracking orders and parcels in Delivery Tracker can be provided by means of deliveries and delivery legs.

Delivery Tracker retrieves the corresponding parcel journeys in order to render the tracking experience.

As a parcel journey provides the consolidated view over all the information available for a given order or parcel, the same block of information does not need to be repeated in both the delivery and the delivery leg. The information can be supplied only once from the source that is the most appropriate (OMS, CMS, WMS).

Track a home delivery

When you ingest orders and parcels information using Tracking API, you need to provide the following information in order to track the delivery of these orders and parcels to a recipient's home address.

Tracking a home delivery requires:

  • Delivery information:
    • Carrier Service Type: TRACKED (default) or UNTRACKED
    • Direction: OUTBOUND (default)
    • Type: HOME (default)
    • Delivery window
  • Recipient address
  • Sender address

This information needs to be included alongside the required fields mandated by the API such as order reference, delivery reference, customer reference, tracking identifier and so on.

In this example, a Delivery is created to enable the tracking experience in Delivery Tracker while an order is processed and before parcels are allocated to a carrier:

Copy
Copied
{
  "deliveryRef": "REPLACE-WITH-YOUR-DELIVERY-REF",
  "order": {
    "orderRef": "REPLACE-WITH-YOUR-ORDER-REF",
    "customer": {
      "customerRef": "REPLACE-WITH-YOUR-CUSTOMER-REF"
    },
    "seller": {
      "brand": "REPLACE-WITH-YOUR-BRAND"
    }
  },
  "delivery": {
    "carrierServiceType": "TRACKED",
    "direction": "OUTBOUND",
    "type": "HOME",
    "deliveryWindow": {
      "from": "2022-11-23T00:00:00.000Z",
      "to": "2022-11-24T23:59:59.999Z"
    }
  },
  "recipient": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London",
    "contact": {
      "name": "John Doe",
      "email": "johndoe@email.com",
      "phone": "07814354765",
      "identity": {
        "birthDate": "13/05/1978"
      }
    }
  },
  "sender": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London"
  }
}

In this example, a DeliveryLeg is created to enable the tracking experience for the parcel once allocated to a carrier:

Copy
Copied
{
  "trackingIdentifier": "REPLACE-WITH-YOUR-TRACKING-IDENTIFIER",
  "deliveryRef": "REPLACE-WITH-YOUR-DELIVERY-REF",
  "parcel": {
    "parcelRef": "REPLACE-WITH-YOUR-PARCEL-REF"
  },
  "carrierCode": "DPD_UK",
  "finalDeliveryLeg": true,
  "delivery": {
    "carrierServiceType": "TRACKED",
    "direction": "OUTBOUND",
    "type": "HOME",
    "deliveryWindow": {
      "from": "2022-11-23T00:00:00.000Z",
      "to": "2022-11-24T23:59:59.999Z"
    }
  },
  "recipient": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London",
    "contact": {
      "name": "John Doe",
      "email": "johndoe@email.com",
      "phone": "07814354765",
      "identity": {
        "birthDate": "13/05/1978"
      }
    }
  },
  "sender": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London"
  }
}

Track a pick-up & drop-off delivery

When you ingest orders and parcels information using Tracking API, you need to provide the additional collection information in order to track the delivery of these orders and parcels to a pick-up location. You also need to change the type of delivery for pick-up & drop-off.

Tracking a pick-up & drop-off delivery requires:

  • Collection information
  • Delivery information:
    • Carrier Service Type: TRACKED (default) or UNTRACKED
    • Direction: OUTBOUND (default)
    • Type: PUDO
    • Delivery window
  • Recipient address
  • Sender address

This information needs to be included alongside the required fields mandated by the API such as order reference, delivery reference, customer reference, tracking identifier and so on.

In this example, a Delivery with collection information is created to enable the tracking experience in Delivery Tracker for an order delivered to a pick-up location.

Copy
Copied
{
  "deliveryRef": "REPLACE-WITH-YOUR-DELIVERY-REF",
  "order": {
    "orderRef": "REPLACE-WITH-YOUR-ORDER-REF",
    "customer": {
      "customerRef": "REPLACE-WITH-YOUR-CUSTOMER-REF"
    },
    "seller": {
      "brand": "REPLACE-WITH-YOUR-BRAND"
    },
  },
  "collection": {
    "accessibility": true,
    "daysHeld": 7,
    "information": "Collection counter on 2nd floor",
    "locationId": "EASYCOLLECT-1234",
    "openingHours": [
      "Mo 08:00-12:00,14:00-17:00",
      "Tu 09:00-20:00",
      "We 09:00-20:00",
      "Th 09:00-20:00",
      "Fr 09:00-20:00",
      "Sa 09:00-17:00",
      "Su 09:00-17:00"
    ],
    "parkingAvailability": true,
    "storeDetailsURL": "https://easycollect.com/shops/info",
    "address": {
      "addressLine1": "200 Grays Inn Road",
      "addressLine2": "string",
      "postCode": "WC1X 8XZ",
      "countryCode": "GBR",
      "companyName": "Metapack",
      "city": "London",
      "stateProvince": "London",
      "timeZone": "Europe/London",
      "contact": {
        "email": "somebody@example.com",
        "phone": "0800155781"
      }
    },
    "location": {
      "latitude": 51.52325226913702,
      "longitude": -0.1146692876584629
    }
  },
  "delivery": {
    "carrierServiceType": "TRACKED",
    "direction": "OUTBOUND",
    "type": "PUDO",
    "deliveryWindow": {
      "from": "2022-11-23T00:00:00.000Z",
      "to": "2022-11-24T23:59:59.999Z"
    }
  },
  "recipient": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London",
    "contact": {
      "name": "John Doe",
      "email": "johndoe@email.com",
      "phone": "07814354765",
      "identity": {
        "birthDate": "13/05/1978"
      }
    }
  },
  "sender": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London"
  }
}

In this example, a DeliveryLeg is created to enable the tracking experience for the parcel once allocated to a carrier:

Copy
Copied
{
  "trackingIdentifier": "REPLACE-WITH-YOUR-TRACKING-IDENTIFIER",
  "deliveryRef": "REPLACE-WITH-YOUR-DELIVERY-REF",
  "parcel": {
    "parcelRef": "REPLACE-WITH-YOUR-PARCEL-REF"
  },
  "carrierCode": "DPD_UK",
  "finalDeliveryLeg": true,
  "collection": {
    "accessibility": true,
    "daysHeld": 7,
    "information": "Collection counter on 2nd floor",
    "locationId": "EASYCOLLECT-1234",
    "openingHours": [
      "Mo 08:00-12:00,14:00-17:00",
      "Tu 09:00-20:00",
      "We 09:00-20:00",
      "Th 09:00-20:00",
      "Fr 09:00-20:00",
      "Sa 09:00-17:00",
      "Su 09:00-17:00"
    ],
    "parkingAvailability": true,
    "storeDetailsURL": "https://easycollect.com/shops/info",
    "address": {
      "addressLine1": "200 Grays Inn Road",
      "addressLine2": "string",
      "postCode": "WC1X 8XZ",
      "countryCode": "GBR",
      "companyName": "Metapack",
      "city": "London",
      "stateProvince": "London",
      "timeZone": "Europe/London",
      "contact": {
        "email": "somebody@example.com",
        "phone": "0800155781"
      }
    },
    "location": {
      "latitude": 51.52325226913702,
      "longitude": -0.1146692876584629
    }
  },
  "delivery": {
    "carrierServiceType": "TRACKED",
    "direction": "OUTBOUND",
    "type": "PUDO",
    "deliveryWindow": {
      "from": "2022-11-23T00:00:00.000Z",
      "to": "2022-11-24T23:59:59.999Z"
    }
  },
  "recipient": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London",
    "contact": {
      "name": "John Doe",
      "email": "johndoe@email.com",
      "phone": "07814354765",
      "identity": {
        "birthDate": "13/05/1978"
      }
    }
  },
  "sender": {
    "addressLine1": "200 Grays Inn Road",
    "addressLine2": "string",
    "postCode": "WC1X 8XZ",
    "countryCode": "GBR",
    "companyName": "Metapack",
    "city": "London",
    "stateProvince": "London",
    "timeZone": "Europe/London"
  }
}

Track a click & collect delivery

Click & collect deliveries are handled in the same way as pick-up & drop-off deliveries. The only difference is the type of delivery used to deliver parcels to your stores.

Tracking a click & collect delivery requires:

  • Collection information
  • Delivery information:
    • Carrier Service Type: TRACKED (default) or UNTRACKED
    • Direction: OUTBOUND (default)
    • Type: STORE
    • Delivery window
  • Recipient address
  • Sender address

Please, refer to the previous section on pick-up & drop-off delivery for examples of a Delivery and DeliveryLeg. You can reuse these example and update the value of the attribute delivery.type to STORE instead of PUDO.