Configuring MAWM/MAO for use with Delivery Manager

Base Configurations

The following configurations are required as a minimum in MAO/MAWM to support Metapack as a parcel carrier:

  • Carriers

  • Ship Vias

  • Service Levels

  • Package Types

  • Carrier Package Types

  • Carrier Facility Account

  • Carrier Status Mapping (MAO only)

  • Rate Shop Group (MAWM only)

Custom Configurations

The following configurations have been defined for the MAO/MAWM Metapack component:

Table 2. MAO/MAWM Custom Configurations

Key

Value

Description

RateShopShipVias

String (i.e. GRND, 2DAY, 1DAY)

A list of the Ship Vias that can trigger the Rate Shop call to Metapack.

Void

Boolean

Set to ‘1’ to enable the Void screens in MAO.

Version

String

Metapack version.

Timeout

Numeric

The timeout value in milliseconds.

RateEndpoint

String

Endpoint to call when the Rate Shop call is triggered.

ShipEndpoint

String

Endpoint to call when the Shipping call is triggered.

PrintEndpoint

String

Endpoint to call when the Print call is triggered.

VoidEndpoint

String

Endpoint to call when the Void call is triggered.

ManifestEndpoint

String

Endpoint to call when the Manifest call is triggered.

CodFlag

Boolean (i.e. 'false')

Value to pass in the call to Metapack for the CODFlag field.

CodAmount

String (i.e. '0')

Value to pass in the call to Metapack for the CODAmount field.

ConsignmentLevelDetailsFlag

Boolean (i.e. 'false')

Value to pass in the call to Metapack for the consignmentLevelDetailsFlag field.

RecipientNotificationType

String (i.e. 'N')

Value to pass in the call to Metapack for the recipientNotificationType field.

SenderNotificationType

String (i.e. 'N')

Value to pass in the call to Metapack for the senderNotificationType field.

TransactionType

String (i.e. 'Delivery')

Value to pass in the call to Metapack for the transactionType field.

CompanyName

String

Value to pass in the call to Metapack for the companyName field.

ShippingLabelType

String (i.e. 'ShippingLabel')

The type of shipping document requested from Metapack during the Print call for the shipping label.

ShippingLabelFormat

String (i.e. 'ZPL' for MAWM or 'PDF' for MAO)

The format of the shipping document requested from Metapack during the Print call for the shipping label.

ShippingLabelDimension

String (i.e. '6x4')

The dimensions of the shipping document requested from Metapack during the Print call for the shipping label.

ShippingLabelDpi

String (i.e. '300')

The DPI of the shipping document requested from Metapack during the Print call for the shipping label.

CustomsFormType (MAWM only)

String (i.e. 'Customs Form')

The type of shipping document requested from Metapack during the Print call for the customs form.

CustomsFormFormat (MAWM only)

String (i.e. 'ZPL' for an MAWM shipping label, 'PDF' for an MAWM customs form)

The format of the shipping document requested from Metapack during the Print call for the customs form.

CustomsFormDimension (MAWM only)

String (i.e. '6x4')

The dimensions of the shipping document requested from Metapack during the Print call for the customs form.

CustomsFormDpi (MAWM only)

String (i.e. '300')

The DPI of the shipping document requested from Metapack during the Print call for the customs form.

WildCardCollectionDate

Y = ‘*’ is inserted into the ‘Collection Date’ section of the booking code. Mandatory for Click and Collect orders.

N = rateShopRequest/shipment /shipDate is used to populate the ‘Collection Date’ section of the booking code.

Defines if a wild card is used as the collection date part of the booking code.

PickUpStartTimeSource

D = The 'From' time is populated from the DefaultPickUpStartTime parameter below.

A = The 'From' time is populated with a wild card ‘*’, which means any time.

Defines how the ‘From’ time component of the ‘Collection Window’ section of the booking code is populated.

DefaultPickUpStartTime

Values are populated in the format HH:MM.

If the PickUpStartTimeSource parameter above is set to ‘D’, then the value populated in this parameter is used as the ‘From time’ in the Collection Window section of the booking code.

PickUpEndTimeSource

D = The 'To' time is populated from the DefaultPickUpEndTime parameter below.

A = The 'To' time is populated with a wild card ‘*’, which means any time.

Defines how the ‘To’ time component of the ‘Collection Window’ section of the booking code is populated.

DefaultPickUpEndTime

Values are populated in the format HH:MM.

If the PickUpEndTimeSource parameter above is set to ‘D’, then the value populated in this parameter is used as the ‘To time’ in the Collection Window section of the booking code.

WildCardDeliveryDate

Y = ‘*’ is inserted into the ‘Delivery Date’ section of the booking code. Mandatory for Click and Collect orders.

N = rateShopRequest/shipment /requiredDate is used to populate the ‘Delivery Date’ section of the booking code.

Defines if a wild card is used for the delivery date part of the booking code.

DeliveryStartTimeSource

D = The 'From' time is populated from the DefaultDeliveryStartTime parameter below.

A = The 'From' time is populated with a wild card ‘*’, which means any time.

Defines how the ‘From’ time component of the ‘Delivery Window’ section of the booking code is populated.

DefaultDeliveryStartTime

Values are populated in the format HH:MM.

If the DeliveryStartTimeSource parameter above is set to ‘D’, then the value populated in this parameter is used as the ‘From time’ in the Delivery Window section of the booking code.

DeliveryEndTimeSource

D = The 'To' time is populated from the DefaultDeliveryEndTime parameter below.

A = The 'To' time is populated with a wild card ‘*’, which means any time.

Defines how the ‘To’ time component of the ‘Delivery Window’ section of the booking code is populated.

DefaultDeliveryEndTime

Values are populated in the format HH:MM.

If the DeliveryEndTimeSource parameter above is set to ‘D’, then the value populated in this parameter is used as the ‘To time’ in the Delivery Window section of the booking code.

IncludeSymbol

Y = ‘@’ used in the booking code (when the carrier 'service group' is bridged).

N = ‘@’ not used in the booking code.

Defines if ‘@’ is used at the beginning of the booking code. This can be chosen by the client when the Metapack integration is configured.


Extended Attributes

The following attributes have been added to Parcel.Shipment.Packages.Extended to accommodate Metapack Delivery Manager's manifesting requirements.

Table 3. New Attributes for Parcel.Shipment.Packages.Extended

Extended Attribute

Component

Data Type

Max. Length

Mandatory?

Description

MetaPackIsManifested

Parcel

Boolean

1

false

Indicates if an attempt has been made to manifest the package with Metapack (i.e. updated to '1' once the manifest API call has been triggered).

MetaPackManifestedStatusCode

Parcel

String

50

false

Populated with the response status code from the manifest API call.


Rate Shop Interface (MAWM)

A new interface has been developed to integrate with Metapack Delivery Manager for the Rate Shop service.

This interface is invoked when orders with a Rate Shop Ship Via are populated. The Metapack Rate Shop response returns a list of available services. The first service in the response is the cheapest, or has otherwise been prioritised based on the allocation setup in Delivery Manager. This first service is the one stored by MAWM.

The Metapack API used is findDeliveryOptionsWithBookingCode.

Note

The Rate Shop call does not create a shipment in Metapack Delivery Manager.

Below is the list of fields included in the response from Metapack for a Rate Shop call:

Table 4. Rate Shop Response

Node

Data Type

Description

MAO/MAWM Parcel Component Update

findDeliveryOptionsWithBookingCodeReturn

Array

The fields returned by the API call.

 

carrierCode

String

The code of the selected carrier.

rateShopResponse /ratedShipments /carrierCode

carrierServiceCode

String

The code of the selected carrier service.

rateShopResponse /ratedShipments /serviceTypeName


Shipping Interface (MAO and MAWM)

A new interface has been developed to integrate with Metapack Delivery Manager for the Shipping service.

This interface is invoked every time a package is submitted for shipping. It calls Metapack Delivery Manager to create a Consignment.

The Metapack API used to create a Consignment is createAndAllocateConsignmentsWithBookingCode.

Note

The appendParcelsToConsignment API call is out of scope.

The Shipping API creates and allocates a consignment to a carrier service: it does not return the shipping label in the response. The Print API needs to be called for the shipping label to be returned.

Below is the list of fields included in the response from Metapack for a Create Consignment transaction:

Table 5. Shipping Response

Node

Data Type

Description

MAO/MAWM Parcel Component Update

createAndAllocateConsignmentsWithBookingCodeReturn

Consignment

Consignment

The Consignment that has been despatched.

createAndAllocateConsignmentsWithBookingCodeReturn.consignment

consignmentCode

String

The unique number of the Metapack Consignment ('DMC…') generated by Delivery Manager.

ShipResponse /completedShipments /shipmentId

carrierCode

String

The code of the allocated carrier. This is populated by Delivery Manager.

ShipResponse /completedShipments /carrierCode

carrierServiceCode

String

The code of the allocated carrier service. This is populated by Delivery Manager.

ShipResponse /completedShipments /serviceType

createAndAllocateConsignmentsWithBookingCodeReturn.consignment.parcel

number

Integer

Parcel number within the Consignment.

ShipResponse /completedShipments /shipmentId

trackingCode

String

The tracking code of the parcel.

ShipResponse /completedShipments /completedPackages /trackingNumber

trackingURL

String

The URL (if there is one) on the carrier's tracking site.

N/A


Print Interface (MAO and MAWM)

A new interface has been developed to integrate with Metapack Delivery Manager for the Print service.

This interface is invoked to retrieve the shipping label following the creation of a Consignment, together with any customs documentation (in the case of MAWM). It is also invoked if the user triggers the Reprint functionality and there is no existing label stored in Document Management.

The Metapack API used to create the paperwork is createPaperworkForCarton.

Note

For MAWM, only one of the fields in the response, labels (containing the shipping label) or documents (populated when customs documentation is requested), will contain the data for a given call. Two separate calls have to be made if the consignment is international and requires documents as well as labels.

Below is the list of fields included in the response from Metapack for a Print transaction:

Table 6. Print Response

Node

Data Type

Description

MAO/MAWM Parcel Component Update

createPaperworkForCartonReturn

labels

Byte Array

The array containing the ZPL labels to be printed, in Base64-encoded format.

printResponse /printDocument /image

documents

Byte Array

The array containing the PDF customs documents to be printed (if any), in Base64-encoded format.

printResponse /printDocument /image


Void Interface (MAO and MAWM)

A new interface has been developed to integrate with Metapack Delivery Manager for the Void service.

This interface is invoked when the user cancels packing and there is a completed package that needs to be voided. Firstly, MAO/MAWM sends the deallocate API to Metapack. Following a successful response, MAO/MAWM sends deleteConsignment, which will remove the Consignment entirely from Metapack Delivery Manager.

The Metapack API calls used are deallocate and then deleteConsignment.

Note

It is out of scope to call deleteParcelFromConsignmentWithCartonId.

If the package has already been manifested, then it is not eligible for a Void request. If such a package is sent to Metapack Delivery Manager to void, then Delivery Manager will return an appropriate error in the response for each of the API calls.

Below are the fields included in the responses from Metapack for a Void transaction:

Table 7. Void Responses

Node

Data Type

Description

MAO/MAWM Parcel Component Update

deallocateReturn

deallocateReturn

String Array

Returns a String of 'DMC' Consignment references. If this String contains the current DMC reference, then this indicates success.

N/A

deleteConsignmentReturn

deleteConsignmentReturn

String Array

Returns a Boolean flag to indicate whether or not the Delete operation was successful.

Package updated to 'Canceled' status.


EOD Manifesting Interface (MAO and MAWM)

A new interface has been developed to integrate with Metapack Delivery Manager for the EOD Manifesting service.

This interface is invoked based on a scheduled job each night.

The Metapack API calls used are markConsignmentsAsReadyToManifest and createManifest.

Note

MAO/MAWM will trigger the markConsignmentsAsReadyToManifest call to Metapack for the packages in MAO/MAWM based on a configurable remorse period.

MAO/MAWM will not trigger the createManifest call to Metapack. It is expected that Metapack will schedule a task to manifest any shipments in a ‘Ready to Manifest’ status, but only after the MAO/MAWM EOD Manifest scheduler has been run.

Below is the field included in the response from Metapack for an EOD Manifest transaction:

Table 8. EOD Manifest Response

Node

Data Type

Description

MAO/MAWM Parcel Component Update

markConsignmentsAsReadyToManifestReturn

markConsignmentsAsReadyToManifestReturn

Boolean

Returns 'true' when successful.

N/A