Properties needed to Call or Create a Consignment

This topic tells you how to call an existing consignment or create a new consignment.

Opening Tags

You need to specify the Envelope element that identifies the XML document as a SOAP message, add a Header element (which can be empty) and, at the start of the Body element, introduce the particular API method (e.g. despatchConsignmentWithBookingCode):

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="urn:DeliveryManager/services" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:despatchConsignmentWithBookingCode soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
...

Existing Consignment

If a consignment has already been created, as is the case for allocateConsignmentsWithBookingCode, allocateConsignments, deallocate and debugConsignmentWhyNot, then you first need to specify the required consignment code(s), which always begins with 'DMC', e.g.

...
<soapenv:Body>
      <ser:allocateConsignments soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">   
<consignmentCodes xsi:type="ser:ArrayOf_soapenc_string" soapenc:arrayType="soapenc:string[]">
         <item>DMC4BY1TQFDB</item>
         <item>DMC4BY1TQFZJ</item>
</consignmentCodes>
...

If you are using createPaperworkForCarton or deleteConsignment, then you need to specify a single 'DMC' code, e.g.

...
<soapenv:Body>
      <ser:createPaperworkForCarton soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <consignmentCode xsi:type="soapenc:string">DMC4BY1V3SHJ</consignmentCode>
         <cartonId xsi:type="soapenc:string">08K02JTY8</cartonId>
         <parameters xsi:type="ser:ArrayOf_tns1_Property" soapenc:arrayType="typ:Property[]" xmlns:typ="urn:DeliveryManager/types"/>
      </ser:createPaperworkForCarton>
   </soapenv:Body>
</soapenv:Envelope>

New Consignment

Consignments are created in either of two ways, depending on the API call:

Consignment Definition

Any new consignment, whether a single overall consignment or an item within an array of consignments, should contain a selection of the properties listed below, and, as minimum, those that are marked as Mandatory.

Table 1. Consignment Properties

Property Name

Type

Manda- tory?

Description

CODAmount

double precision floating point number

This property holds the COD amount in the event of the CODFlag (next) being set to 'true'.

CODFlag

boolean

A flag used to indicate that the payment terms are COD (Cash On Delivery).

Setting this flag to 'true' will cause Delivery Manager to return only those carrier services that support COD.

CODPaymentTypeCode

string

A three-letter payment type code, e.g. 'CAS'.

CODSpecialInstruction

string

Any additional COD instructions.

CODSurcharge

double precision floating point number

Any additional COD charges.

alreadyPalletisedGoodsFlag

boolean

A flag that indicates whether or not the goods are already on a pallet.

cardNumber

string

A loyalty card number (if appropriate).

carrierCode

string

The Read only identifier code of the assigned carrier. The code is returned automatically by Delivery Manager following allocation (refer to findCarriers).

carrierConsignmentCode

string

A Read only code by which the carrier references the consignment. The code is generated automatically by Delivery Manager following allocation.

carrierName

string

The Read only name of the assigned carrier. The name is returned automatically by Delivery Manager following allocation (refer to findCarriers).

carrierServiceCode

string

A Read only code for the assigned carrier service. The code is returned automatically by Delivery Manager following allocation (refer to findCarrierServices).

carrierServiceName

string

The Read only name of the assigned carrier service. The name is returned automatically by Delivery Manager following allocation (refer to findCarrierServices).

carrierServiceVATRate

double precision floating point number

The VAT rate associated with the carrier service.

cartonNumber

string

If your OMS or WMS operates on carton values, as opposed to consignment codes, then enter the carton number.

cashOnDeliveryCurrency

string

The currency of the COD amount and surcharge.

consignmentCode

string

Read only. The consignment code, beginning with 'DMC', that is generated automatically by Delivery Manager.

consignmentLevelDetailsFlag

boolean

A flag that indicates whether or not information is held at the consignment level.

Setting it to 'false' causes information to be stored at the parcel level, and makes a Parcels Array mandatory. This is required for international deliveries, and recommended for all other deliveries.

It is also advisable to set up the appropriate information in the Products Array.

consignmentValue

double precision floating point number

The overall value of the consignment.

You need to enter this value if the consignmentLevelDetailsFlag is set to 'true'. Otherwise, it is calculated automatically from the parcelValue for each parcel (refer to the Parcels Array).

consignmentValueCurrencyCode

string

The currency code associated with the consignmentValue.

consignmentValueCurrencyRate

double precision floating point number

The currency rate associated with the consignmentValue.

consignmentWeight

double precision floating point number

The overall weight of the consignment (defaults to 'kg' unless the weight has been set to 'lb' via the measurementUnits property).

You need to enter this value if the consignmentLevelDetailsFlag is set to 'true'. Otherwise, it is calculated automatically from the parcelWeight for each parcel (refer to the Parcels Array).

customsDocumentationRequired

boolean

A Read only flag to indicate whether or not the consignment requires customs documentation. The flag is set automatically in accordance with whether or not the sender address is in a different trading block.

cutOffDate

dateTime

The date and time, in UTC (Coordinated Universal Time), by which the consignment needs to be manifested. This is a Read only property generated automatically by Delivery Manager following allocation, based on the warehouse cutoff (refer to Configuring your Carrier Services).

despatchDate

dateTime

The date and time, in UTC, of consignment despatch. This is a Read only property generated automatically by Delivery Manager following allocation.

earliestDeliveryDate

dateTime

The earliest date and time, in UTC, by which the consignment will be delivered. This is a Read only property generated automatically by Delivery Manager following allocation.

endVatNumber

string

The VAT registration number of the recipient.

fragileGoodsFlag

boolean

A flag used to indicate that some of the consignment's contents are fragile.

Setting this flag to 'true' will cause Delivery Manager to return only those carrier services that support fragile goods.

guaranteedDeliveryDate

dateTime

The latest date and time, in UTC, by which the consignment will be delivered. This is a Read only property generated automatically by Delivery Manager following allocation.

hazardCodes

array of type string

This property is used to enter the UN (United Nations) numbers of the hazardous goods If the hazardousGoodsFlag (next) is set to 'true'.

hazardousGoodsFlag

boolean

A flag used to indicate that some of the consignment's contents are hazardous.

Setting this flag to 'true' will cause Delivery Manager to return only those carrier services that support hazardous goods.

insuranceValue

double precision floating point number

The value of the consignment for insurance purposes.

insurancetValueCurrencyCode

string

The currency code associated with the insuranceValue.

insuranceValueCurrencyRate

double precision floating point number

The currency rate associated with the insuranceValue.

languageCode

string

The recipient's two-digit ISO639-1 language code.

liquidGoodsFlag

boolean

A flag used to indicate that some of the consignment's contents are liquid.

Setting this flag to 'true' will cause Delivery Manager to return only those carrier services that support liquid goods.

manifestGroupCode

string

A code that enables you to group consignments together onto the same manifest. Refer to Scanning Consignments to a Trailer and markManifestGroupReadyToManifest.

maxDimension

double precision floating point number

The length of the longest side of the consignment (defaults to 'cm' unless the length has been set to 'in' via the measurementUnits property).

You need to enter this value if the consignmentLevelDetailsFlag is set to 'true'. Otherwise, it is calculated automatically from the dimensions of each parcel (refer to the Parcels Array).

measurementUnits

array of type string

This property is used to set the type of units used to measure length, weight and/or volume if you are shipping in Imperial units. Refer to How do I create consignments in Imperial Weights and Measures?

You do not need to set the measurementUnits if you are shipping in metric units, as Metric is the default used throughout Delivery Manager.

moreThanOneMetreGoodsFlag

boolean

A flag used to indicate that at least one of the parcels is more than one metre wide.

Setting this flag to 'true' will cause Delivery Manager to return only those carrier services that support the delivery of wide goods.

moreThanTwentyFiveKgGoodsFlag

boolean

A flag used to indicate that the consignment is heavier than 25 kg.

Setting this flag to 'true' will cause Delivery Manager to return only those carrier services that support the delivery of heavy goods.

orderDate

dateTime

The date on which the order was taken.

orderNumber

string

Your own reference, which can be associated with multiple consignments. Mandatory field of up to 255 characters.

orderValue

double precision floating point number

The overall value of the order.

parcelCount

integer

This is a whole number defining the number of parcels in the consignment. It must match the number of objects you pass in the parcels array (see next).

parcels

array of type parcel

Array holding details of each of the parcels specified in the parcelCount above.

This array is mandatory if the consignmentLevelDetailsFlag is set to 'false', which is the recommendation.

Each itemised parcel can in turn contain details of the products within it. Refer to the Products Array.

pickTicketNumber

string

The pick ticket reference number.

pickupPoint

string

This string (up to 255 characters) is a Location Services reference specifying where the consignment is to be picked up.

The property becomes mandatory if the consignment is being collected from an own store pickup point, for example if you are Passing Own Store IDs in Delivery Tracker.

podRequired

string

The type of POD (Proof Of Delivery) required. One of 'none', 'non-signature', 'signature' or 'any' (the default).

recipientAddress

address

For the default delivery transactionType, this is the consumer's address. However, for the pick-up transactionType, this is the seller's warehouse address.

Both line1 and line2 of the Address are mandatory, and there must be valid entries for both the postCode and countryCode.

recipientCode

string

This holds the code of the recipient. The property is optional if the transactionType is set to the delivery default.

However, the property is mandatory if you are generating a returns label (i.e. if the transactionType is set to pick-up). In this case, the property is used instead of the senderCode to specify the warehouse to which the consignment is to be returned. Refer to createAndAllocateConsignmentsWithBookingCode (Return) and despatchConsignmentWithBookingCode (Return).

recipientContactPhone

string

For a delivery, you can add the consumer's contact phone number.

recipientEmail

string

For a delivery, you can add the consumer's email address.

recipientMobilePhone

string

For a delivery, you can add the consumer's mobile number.

recipientName

string

For a delivery, you need to add the name of the consumer.

In the case of a pick-up (as opposed to a delivery), the warehouse name must be entered.

recipientNotificationType

string

The method by which the recipient wishes to be notified of deliveries, etc. One of 'N' (None, the default), 'E' (Email) or 'T' (Text/SMS).

recipientPhone

string

The main phone number of the recipient.

recipientTimeZone

string

The recipient's time zone, e.g. 'Europe/London'. This is a Read only property that is generated automatically from the recipient's address details, following allocation.

recipientVatNumber

string

The VAT number of the recipient.

returnAddress

address

For the default delivery transactionType, this is the return address for the outbound label (e.g. the warehouse address). However, for the pick-up transactionType, when you are generating a returns label, this is the address of the person returning the goods.

returnEmail

string

If you are generating a returns label, this field allows you to specify the email address of the person sending the return.

returnFirstName

string

If you are generating a returns label, this field allows you to specify the first name of the person sending the return.

returnLastName

string

If you are generating a returns label, this field allows you to specify the last name of the person sending the return.

returnName

string

If you are generating a returns label, this field allows you to specify the full name of the person sending the return.

returnPhone

string

If you are generating a returns label, this field allows you to specify the phone number of the person sending the return.

senderAddress

address

For the default delivery transactionType, this is the seller's warehouse address. However, for the pick-up transactionType, this is the original consumer delivery address.

Both line1 and line2 of the Address are mandatory, and there must be valid entries for both the postCode and countryCode.

senderCode

string

For a delivery, you need to add the Warehouse Code (refer to Configuring your Default Warehouse).

If you are generating a returns label via the pick-up transactionType, then the recipientCode is used instead of the senderCode to specify the warehouse to which the consignment is to be returned. In this case, you can omit the senderCode property.

senderContactPhone

string

For a delivery, this is the contact phone number of the warehouse.

In the case of a pick-up (as opposed to a delivery), it is the contact phone number of the consumer returning the goods.

senderEmail

string

For a delivery, this is the email address of the warehouse.

In the case of a pick-up (as opposed to a delivery), it is the email address of the consumer returning the goods.

senderMobilePhone

string

For a delivery, this is the mobile phone number of the warehouse.

In the case of a pick-up (as opposed to a delivery), it is the mobile phone number of the consumer returning the goods.

senderName

string

For a delivery, the senderName should be the Warehouse Name (refer to Configuring your Default Warehouse).

In the case of a pick-up (as opposed to a delivery), it is the name of the consumer returning the goods.

senderNotificationType

string

The method by which the sender wishes to be notified of returns, etc. One of 'N' (None, the default), 'E' (Email) or 'T' (Text/SMS).

senderPhone

string

The main phone number of the sender.

senderTimeZone

string

The sender's time zone, e.g. 'Europe/London'. This is a Read only property that is generated automatically from the sender's address details, following allocation.

senderVatNumber

string

The VAT number of the sender.

shipmentTypeCode

string

Defines the type of products in the shipment. One of 'SAMPLES', 'GIFTS', 'POSSESSIONS', or 'MERCHANDISE' (the default). The property is case insensitive.

shippingCharge

double precision floating point number

Read only property that returns the cost of shipping to the recipient. It is generated automatically from the carrier charges following allocation.

shippingChargeCurrencyCode

string

The currency used for the carrier charges.

shippingChargeCurrencyRate

double precision floating point number

The currency rate used for the carrier charges.

shippingCost

double precision floating point number

Read only property that returns the price that the seller pays the carrier to deliver the consignment. It is generated automatically from the carrier costs following allocation.

shippingCostCurrencyCode

string

The currency used for the carrier costs.

shippingCostCurrencyRate

double precision floating point number

The currency rate used for the carrier costs.

signatoryOnCustoms

string

The signatory on the customs documentation.

specialInstructions1

string

Special instructions for the driver that will appear on the label (if relevant to the carrier service).

specialInstructions2

string

Further special instructions.

status

string

A Read only field returning the status of the consignment.

There are 7 main possible statuses: Unallocated, Allocated, Printed, Ready to Manifest, Manifested, Tracking, and Completed.

termsOfTradeCode

string

Our Incoterms (International Commercial Terms) are as follows:

EXW (Ex Works), CPT (Carriage Paid To), CIP (Carriage and Insurance Paid To), DAT (Delivered at Terminal), DAP (Delivered at Place), DDP (Delivered Duty Paid), and DDU (Delivered Duty Unpaid), FCA (Free Carrier), FAS (Free Alongside Ship), FOB (Free On Board), CFR (Cost and Freight), CIF (Cost Insurance & Freight), DAF (Delivered At Frontier), DEQ (Delivered Ex-Quay), and DES (Delivered Ex-Ship).

These appear under International Customs Details as selectable Terms of Trade when you are creating a new consignment in the Delivery Manager GUI to go to a different trading bloc.

You can also add them using the API for any of the following methods: createAndAllocateConsignments , createAndAllocateConsignmentsWithBookingCode, despatchConsignment, despatchConsignmentWithBookingCode, and createConsignments.

You can set a default Terms of Trade (Incoterm) for a warehouse on the bottom right of the Warehouses screen, e.g. Delivered At Place for DAP. Then, Delivery Manager will use this default setting if you pass the following in the API:

<termsOfTradeCode
xsi:type="soapenc:string" xsi:nil="true"/>

However, you can override this default for specific consignments in the warehouse, by providing a different Incoterm, e.g.

<termsOfTradeCode
xsi:type="soapenc:string">DDP</termsOfTradeCode>

transactionType

string

The two possible values are delivery (the default) or pick-up.

You can allow the property to default to delivery for a consignment where goods are being despatched from a warehouse to a consumer.

Set the property to pick-up for a return consignment where the goods are being picked up from the consumer and sent back to the warehouse.

twoManLiftFlag

boolean

Set this flag to 'true' if the consignment is sufficiently heavy to require two people to lift it.

Carrier services that do not offer this facility will then be excluded.


For a consignment to be valid, it must:

Note

All the above boolean properties require a true or false value, but, with the exception of the consignmentLevelDetailsFlag, they will default to false if not otherwise specified.

For example:

     <consignment xsi:type="typ:Consignment" xmlns:typ="urn:DeliveryManager/types">
                <CODAmount xsi:type="xsd:double">0</CODAmount>
                      <CODFlag xsi:type="xsd:boolean">false</CODFlag>
                      <CODPaymentTypeCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <CODSpecialInstruction xsi:type="soapenc:string" xsi:nil="true"/>
                      <CODSurcharge xsi:type="xsd:double">0</CODSurcharge>
                      <alreadyPalletisedGoodsFlag xsi:type="xsd:boolean">false</alreadyPalletisedGoodsFlag>
                      <cardNumber xsi:type="soapenc:string" xsi:nil="true"/>
                      <carrierCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <carrierConsignmentCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <carrierName xsi:type="soapenc:string" xsi:nil="true"/>
                      <carrierServiceCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <carrierServiceName xsi:type="soapenc:string" xsi:nil="true"/>
                      <carrierServiceVATRate xsi:type="xsd:double">0.0</carrierServiceVATRate>
                      <cartonNumber xsi:type="soapenc:string" xsi:nil="true"/>
                      <cashOnDeliveryCurrency xsi:type="soapenc:string">GBP</cashOnDeliveryCurrency>
                      <consignmentCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <consignmentLevelDetailsFlag xsi:type="xsd:boolean">false</consignmentLevelDetailsFlag>
                      <consignmentValue xsi:type="xsd:double">30</consignmentValue>
                      <consignmentValueCurrencyCode xsi:type="soapenc:string">GBP</consignmentValueCurrencyCode>
                      <consignmentValueCurrencyRate xsi:type="xsd:double">0.0</consignmentValueCurrencyRate>
                      <consignmentWeight xsi:type="xsd:double">2</consignmentWeight>
                      <customsDocumentationRequired xsi:type="xsd:boolean">false</customsDocumentationRequired>
                      <cutOffDate xsi:type="xsd:dateTime" xsi:nil="true"/>
                      <despatchDate xsi:type="xsd:dateTime" xsi:nil="true"/>
                      <earliestDeliveryDate xsi:type="xsd:dateTime" xsi:nil="true"/>
                      <endVatNumber xsi:type="soapenc:string" xsi:nil="true"/>
                      <fragileGoodsFlag xsi:type="xsd:boolean">false</fragileGoodsFlag>
                      <guaranteedDeliveryDate xsi:type="xsd:dateTime" xsi:nil="true"/>
                      <hazardousGoodsFlag xsi:type="xsd:boolean">false</hazardousGoodsFlag>
                      <insuranceValue xsi:type="xsd:double">0.0</insuranceValue>
                      <insuranceValueCurrencyCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <insuranceValueCurrencyRate xsi:type="xsd:double">0.0</insuranceValueCurrencyRate>
                      <languageCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <liquidGoodsFlag xsi:type="xsd:boolean">false</liquidGoodsFlag>
                      <manifestGroupCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <maxDimension xsi:type="xsd:double">0</maxDimension>
                      <metaCampaignKey xsi:type="soapenc:string" xsi:nil="true"/>
                      <metaCustomerKey xsi:type="soapenc:string" xsi:nil="true"/>
                      <moreThanOneMetreGoodsFlag xsi:type="xsd:boolean">false</moreThanOneMetreGoodsFlag>
                      <moreThanTwentyFiveKgGoodsFlag xsi:type="xsd:boolean">false</moreThanTwentyFiveKgGoodsFlag>
                      <orderDate xsi:type="xsd:dateTime" xsi:nil="true"/>
                      <orderNumber xsi:type="soapenc:string">T4RE345A</orderNumber>
                      <orderValue xsi:type="xsd:double">100</orderValue>
                      <parcelCount xsi:type="xsd:int">2</parcelCount>
                      <parcels soapenc:arrayType="ns2:Parcel[1]" xsi:type="soapenc:Array">
                         <parcels xsi:type="ns2:Parcel">
                            <cartonId xsi:type="soapenc:string">08K02JTY8</cartonId>
                            <code xsi:type="soapenc:string" xsi:nil="true"/>
                            <destinationReference xsi:type="soapenc:string" xsi:nil="true"/>
                           <dutyPaid xsi:type="xsd:double">0.0</dutyPaid>
                            <number xsi:type="xsd:int">1</number>
                            <originReference xsi:type="soapenc:string" xsi:nil="true"/>
                            <outerConsignmentCode xsi:type="soapenc:string" xsi:nil="true"/>
                            <outerParcelNumber xsi:type="xsd:int">0</outerParcelNumber>
                            <parcelDepth xsi:type="xsd:double">1.0</parcelDepth>
                            <parcelHeight xsi:type="xsd:double">2.0</parcelHeight>
                            <parcelValue xsi:type="xsd:double">20</parcelValue>                         
                            <parcelWeight xsi:type="xsd:double">2.0</parcelWeight>                            
                            <parcelWidth xsi:type="xsd:double">3.2</parcelWidth>
                           <products soapenc:arrayType="ns2:Product[1]" xsi:type="soapenc:Array">
                               <products xsi:type="ns2:Product">
                                  <countryOfOrigin xsi:type="soapenc:string">GBR</countryOfOrigin>
                                  <fabricContent xsi:type="soapenc:string">1</fabricContent>
                                  <harmonisedProductCode xsi:type="soapenc:string">1</harmonisedProductCode>
                                  <miscellaneousInfo xsi:type="soapenc:Array" xsi:nil="true"/>
                                  <productCode xsi:type="soapenc:string">1</productCode>
                                  <productDescription xsi:type="soapenc:string">1</productDescription>
                                  <productQuantity xsi:type="xsd:long">1</productQuantity>
                                  <productTypeDescription xsi:type="soapenc:string">1</productTypeDescription>
                                  <totalProductValue xsi:type="xsd:double">15</totalProductValue>
                                  <unitProductWeight xsi:type="xsd:double">1.0</unitProductWeight>
                               </products>
                            </products>
                            <recipientReference xsi:type="soapenc:string" xsi:nil="true"/>
                            <reference xsi:type="soapenc:string" xsi:nil="true"/>
                            <senderReference xsi:type="soapenc:string" xsi:nil="true"/>
                            <trackingCode xsi:type="soapenc:string" xsi:nil="true"/>
                            <trackingUrl xsi:type="soapenc:string" xsi:nil="true"/>
                         </parcels>
                         <parcels xsi:type="ns2:Parcel">
                            <cartonId xsi:type="soapenc:string">08K02JTY8</cartonId>
                            <code xsi:type="soapenc:string" xsi:nil="true"/>
                            <destinationReference xsi:type="soapenc:string" xsi:nil="true"/>
                            <dutyPaid xsi:type="xsd:double">0.0</dutyPaid>
                            <number xsi:type="xsd:int">1</number>
                            <originReference xsi:type="soapenc:string" xsi:nil="true"/>
                            <outerConsignmentCode xsi:type="soapenc:string" xsi:nil="true"/>
                            <outerParcelNumber xsi:type="xsd:int">0</outerParcelNumber>
                             <parcelDepth xsi:type="xsd:double">1.0</parcelDepth>
                            <parcelHeight xsi:type="xsd:double">2.0</parcelHeight>
                            <parcelValue xsi:type="xsd:double">20</parcelValue>                           
                            <parcelWeight xsi:type="xsd:double">2.0</parcelWeight>
                            <parcelWidth xsi:type="xsd:double">3.2</parcelWidth>
                            <products soapenc:arrayType="ns2:Product[1]" xsi:type="soapenc:Array">
                               <products xsi:type="ns2:Product">
                                  <countryOfOrigin xsi:type="soapenc:string">GBR</countryOfOrigin>
                                  <fabricContent xsi:type="soapenc:string">1</fabricContent>
                                  <harmonisedProductCode xsi:type="soapenc:string">1</harmonisedProductCode>
                                  <miscellaneousInfo xsi:type="soapenc:Array" xsi:nil="true"/>                                  <productCode xsi:type="soapenc:string">1</productCode>
                                  <productDescription xsi:type="soapenc:string">1</productDescription>
                                  <productQuantity xsi:type="xsd:long">1</productQuantity>
                                  <productTypeDescription xsi:type="soapenc:string">1</productTypeDescription>
                                  <totalProductValue xsi:type="xsd:double">15</totalProductValue>
                                  <unitProductWeight xsi:type="xsd:double">1.0</unitProductWeight>
                               </products>
                            </products>
                            <recipientReference xsi:type="soapenc:string" xsi:nil="true"/>
                            <reference xsi:type="soapenc:string" xsi:nil="true"/>
                            <senderReference xsi:type="soapenc:string" xsi:nil="true"/>
                            <trackingCode xsi:type="soapenc:string" xsi:nil="true"/>
                            <trackingUrl xsi:type="soapenc:string" xsi:nil="true"/>
                         </parcels>
                      </parcels>
                      <pickTicketNumber xsi:type="soapenc:string" xsi:nil="true"/>
                      <pickupPoint xsi:type="soapenc:string" xsi:nil="true"/>
                      <podRequired xsi:type="soapenc:string">any</podRequired>
                      <properties soapenc:arrayType="ns2:Property[0]" xsi:type="soapenc:Array"/>
                      <recipientAddress xsi:type="ns2:Address">
                         <companyName xsi:type="soapenc:string" xsi:nil="true"/>
                         <countryCode xsi:type="soapenc:string">GBR</countryCode>
                         <floor xsi:type="soapenc:string" xsi:nil="true"/>
                         <line1 xsi:type="soapenc:string">MetaPack</line1>
                         <line2 xsi:type="soapenc:string">12-16 Laystall St</line2>
                         <line3 xsi:type="soapenc:string">London</line3>
                         <line4 xsi:type="soapenc:string" xsi:nil="true"/>
                         <postCode xsi:type="soapenc:string">SE19 3HG</postCode>
                         <region xsi:type="soapenc:string" xsi:nil="true"/>
                         <streetName xsi:type="soapenc:string" xsi:nil="true"/>
                         <streetNo xsi:type="soapenc:string" xsi:nil="true"/>
                         <streetType xsi:type="soapenc:string" xsi:nil="true"/>
                         <town xsi:type="soapenc:string" xsi:nil="true"/>
                         <type xsi:type="soapenc:string" xsi:nil="true"/>
                      </recipientAddress>
                      <recipientCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <recipientContactPhone xsi:type="soapenc:string">0207 843 6832</recipientContactPhone>
                      <recipientEmail xsi:type="soapenc:string">fred.flintstone@metapack.com</recipientEmail>
                      <recipientMobilePhone xsi:type="soapenc:string">01211554975</recipientMobilePhone>
                      <recipientName xsi:type="soapenc:string">Fred Flintstone</recipientName>
                      <recipientNotificationType xsi:type="soapenc:string">N</recipientNotificationType>
                      <recipientPhone xsi:type="soapenc:string">0207 843 6832</recipientPhone>
                      <recipientTimeZone xsi:type="soapenc:string">Europe/London</recipientTimeZone>
                      <recipientVatNumber xsi:type="soapenc:string">123456789</recipientVatNumber>
                      <returnAddress xsi:type="ns2:Address">
                         <companyName xsi:type="soapenc:string" xsi:nil="true"/>
                         <countryCode xsi:type="soapenc:string" xsi:nil="true"/>
                         <floor xsi:type="soapenc:string" xsi:nil="true"/>
                         <line1 xsi:type="soapenc:string" xsi:nil="true"/>
                         <line2 xsi:type="soapenc:string" xsi:nil="true"/>
                         <line3 xsi:type="soapenc:string" xsi:nil="true"/>
                         <line4 xsi:type="soapenc:string" xsi:nil="true"/>
                         <postCode xsi:type="soapenc:string" xsi:nil="true"/>
                         <region xsi:type="soapenc:string" xsi:nil="true"/>
                         <streetName xsi:type="soapenc:string" xsi:nil="true"/>
                         <streetNo xsi:type="soapenc:string" xsi:nil="true"/>
                         <streetType xsi:type="soapenc:string" xsi:nil="true"/>
                         <town xsi:type="soapenc:string" xsi:nil="true"/>
                         <type xsi:type="soapenc:string" xsi:nil="true"/>
                      </returnAddress>
                       <senderAddress xsi:type="ns2:Address">
                  <companyName xsi:type="soapenc:string">Default</companyName>
                  <countryCode xsi:type="soapenc:string">GBR</countryCode>
                  <floor xsi:type="soapenc:string" xsi:nil="true"/>
                  <line1 xsi:type="soapenc:string">Line 1</line1>
                  <line2 xsi:type="soapenc:string">Line2</line2>
                  <line3 xsi:type="soapenc:string">Line3`</line3>
                  <line4 xsi:type="soapenc:string">Line4</line4>
                  <postCode xsi:type="soapenc:string">ME11JT</postCode>
                  <region xsi:type="soapenc:string" xsi:nil="true">HR region</region>
                  <streetName xsi:type="soapenc:string" xsi:nil="true">Laystall Street</streetName>
                  <streetNo xsi:type="soapenc:string" xsi:nil="true">12-16</streetNo>
                  <streetType xsi:type="soapenc:string" xsi:nil="true">Business</streetType>
                  <town xsi:type="soapenc:string" xsi:nil="true">Eltham</town>
                  <type xsi:type="soapenc:string">Business</type>
               </senderAddress>
               <senderCode xsi:type="soapenc:string">READING1</senderCode>
               <senderContactPhone xsi:type="soapenc:string">21323545</senderContactPhone>
               <senderEmail xsi:type="soapenc:string">sandra.demenezes@metapack.com</senderEmail>
                      <senderName xsi:type="soapenc:string">Westcoast</senderName>
                      <senderNotificationType xsi:type="soapenc:string" xsi:nil="true"/>
                      <senderPhone xsi:type="soapenc:string" xsi:nil="true"/>
                      <senderTimeZone xsi:type="soapenc:string">Europe/London</senderTimeZone>
                      <senderVatNumber xsi:type="soapenc:string" xsi:nil="true"/>
                      <shipmentTypeCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <shippingAccount xsi:type="soapenc:string" xsi:nil="true"/>
                      <shippingCharge xsi:type="xsd:double">0.0</shippingCharge>
                      <shippingChargeCurrencyCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <shippingChargeCurrencyRate xsi:type="xsd:double">0.0</shippingChargeCurrencyRate>
                      <shippingCost xsi:type="xsd:double">0.0</shippingCost>
                      <shippingCostCurrencyCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <shippingCostCurrencyRate xsi:type="xsd:double">0.0</shippingCostCurrencyRate>
                      <signatoryOnCustoms xsi:type="soapenc:string"/>
                      <specialInstructions1 xsi:type="soapenc:string">Leave in recycling box</specialInstructions1>
                      <specialInstructions2 xsi:type="soapenc:string" xsi:nil="true"/>
                      <startVatNumber xsi:type="soapenc:string" xsi:nil="true"/>
                      <status xsi:type="soapenc:string" xsi:nil="true"/>
                      <transactionType xsi:type="soapenc:string">Delivery</transactionType>
                      <twoManLiftFlag xsi:type="xsd:boolean">false</twoManLiftFlag>
               </consignment>
calculateTaxAndDuty (Boolean)

For calls that create consignments, this is a mandatory, Boolean value, that must appear after the consignment details and prior to the closing tags.

The value always be set to false for the time being:

...
<consignments xsi:type="soapenc:Array" soapenc:arrayType="tns1:Consignment[1]">
...
</consignments>
...
<calculateTaxAndDuty xsi:type="xsd:boolean">false</calculateTaxAndDuty>
...

Allocation method

If the call has allocate or despatch as part of its method title, then, after the consignment details and prior to the closing tags, you can specify a means of allocating the consignment(s):

Printing (Despatch)

If the API call is designed to generate paperwork (as with createPaperworkForConsignments, createPaperworkForCarton, despatchConsignmentWithBookingCode or despatchConsignment), then, after the consignment details and prior to the closing tags, you need to specify the required Printing Properties.

Closing Tags

Ensure that the closing Body and Envelope tag are present (in that order), e.g.

...
     </ser:despatchConsignmentWithBookingCode>
   </soapenv:Body>
</soapenv:Envelope>