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, at minimum, those that are marked as Mandatory.

Table 15. 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 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

  • cash = CAS

  • check = CHE

  • credit card = CCA

  • Debit card = DCA

  • PayPal = PPA

  • others = OTH

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

 

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.

committedCollectionWindow

dateTime range

The range of times between which you are committing to have the consignment picked up from the warehouse.

committedDeliveryWindow

dateTime range

The range of times between which you are committing to deliver to the consumer, e.g.

<committedDeliveryWindow xsi:type="ns2:DateRange">
<from xsi:type="xsd:dateTime">2020-11-24T18:30:00.000Z
</from>
<to xsi:type="xsd:dateTime">2020-11-25T18:30:00.000Z</to>
</committedDeliveryWindow>

This field is required if you are using Ops Reporting and Delivery Intelligence to view customer delivery data.

consignmentCode

string

Read only. The consignment code, beginning with 'DMC', that Delivery Manager automatically generates.

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

 

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

 

The currency rate associated with the consignmentValue.

consignmentWeight

 

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.

exporterEORInumber

string

If you are a B2B exporter shipping to the territories described in EORI Numbers, then you need to specify this as the EORI number for the sender address (e.g. your warehouse).

The number will appear in your customs documentation, manifest files, and live carrier APIs (where applicable), and also in any paperless solutions being used.

Refer also to the importerEORInumber.

fragileGoodsFlag

boolean

A flag 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 typestring

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 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.

importerEORInumber

string

If are are a B2B importer shipping from the territories described in EORI Numbers, then you need to specify this as the EORI number for the recipient address.

The number will appear in your customs documentation, manifest files, and live carrier APIs (where applicable), and also in any paperless solutions being used.

Refer also to the exporterEORInumber.

insuranceCharge

double precision floating point number

The insurance charge applied to this consignment.

From 1 July 2021, new EU VAT e-commerce obligations require online sellers to break down shipping costs. For more information about this, see What the IOSS means for you.

insuranceValue

 

The value of the consignment for insurance purposes.

insurancetValueCurrencyCode

string

The currency code associated with the insuranceValue.

insuranceValueCurrencyRate

 

The currency rate associated with the insuranceValue.

IOSSNumber

double precision floating point number

The Import One-Stop Shop (IOSS) number of this consignment.

For direct sales to EU consumers, this number will be the IOSS number of your business

For sales to EU consumers that involve a marketplace or platform, this number will be the IOSS number of the relevant electronic interface.

For more information about this, see What the IOSS means for you.

languageCode

string

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

liquidGoodsFlag

boolean

A flag 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

 

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 typestring

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 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 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.

movementIndicator

enum

The arrangements for parcels

  • Business to Consumer (B2C): Goods sent by a business to a private individual for personal use.

  • Consumer to Business (C2B): Goods sent by a private individual to a business (a customer returning an item to a business).

  • Consumer to Consumer (C2C): Goods of a non-commercial nature sent by a private individual to a private individual for personal use.

  • Business to Business (B2B): Goods sent by a business to a business

Enum:"b2b""b2c""c2b""c2c"

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.

orderShippingCharge

double precision floating point number

The order shipping charge applied to this consignment.

From 1 July 2021, new EU VAT e-commerce obligations require online sellers to break down shipping costs. For more information about this, see What the IOSS means for you.

orderValue

 

The overall value of the order.

otherCharge

double precision floating point number

The handling or related charge applied to this consignment.

From 1 July 2021, new EU VAT e-commerce obligations require online sellers to break down shipping costs. For more information about this, see What the IOSS means for you.

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 typeparcel

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 deliverytransactionType, this is the consumer's address. However, for the pick-uptransactionType, this is the seller's warehouse address.

The countryCode defaults to the country associated with the default warehouse and must contain a valid entry. You can use an ISO 3166 Alpha-2, Alpha-3, or Numeric code.

The postCode must contain a valid entry.

The address type can be either Business or Residential.

The address lines follow these guidelines:

  • line1 (mandatory) is the street of an address.

  • line2 (mandatory) is either the city of an address (if line3 is not populated) or address details (if line3 is populated).

  • line3 (optional) is the city (or town) of an address.

  • line4 (optional) is the region, province, state, or suburb of an address.

  • floor (optional) is the floor of the building required for Delivery at work services.floor (optional) is the floor of the building required for Delivery at work services.

  • building (optional) is the name of the building required for Delivery at work services.

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 deliverytransactionType, this is the return address for the outbound label (e.g. the warehouse address). However, for the pick-uptransactionType, 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 deliverytransactionType, this is the seller's warehouse address. However, for the pick-uptransactionType, this is the original consumer delivery address.

The countryCode defaults to the country associated with the default warehouse and must contain a valid entry. You can use an ISO 3166 Alpha-2, Alpha-3, or Numeric code.

The postCode must contain a valid entry.

The address type can be either Business or Residential.

The address lines follow these guidelines:

  • line1 (mandatory) is the first line of an address.

  • line2 (mandatory) is either the city of an address (if line3 is not populated) or address details (if line3 is populated).

  • line3 (optional) is the city (or town) of an address.

  • line4 (optional) is the region, province, state, or suburb of an address.

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-uptransactionType, 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.

startVatNumber

string

The VAT number of the sender.

shipmentTypeCode

string

The type of goods in a consignment. Example values include 'Gifts’, ‘Manufacture’, ‘Merchandise’, ‘Possessions, ‘Repack’, 'Repair', and ‘Samples’.

shippingCharge

 

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

 

The currency rate used for the carrier charges.

shippingCost

 

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

 

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.

taxIdNumber

string

Tax Identification number is used to identify taxpayers and facilitate the administration of their national tax affairs.

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>
            

totalDiscountValue

double precision floating point number

The total value of any discounts or rebates applied to an order.

For VAT and duty purposes, customs documents sometimes require a breakdown of values used to calculate the total invoice amount of an order.

If any discounts or rebates are applied by a shipper on an order, they will affect the total invoice amount.

Any values entered for this property are not validated by the SOAP Shipping API but must not be negative.

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.

what3words

string

Refer to How do I specify a what3words location?.

windsorNotAtRiskIndicator

boolean

Default: false

True/False flag under the Windsor Framework where goods are moving from GB-NI via direct movement and are “not at risk” of entering the EU.


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"/>
                         <building 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>
                      <startVatNumber 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>
               <movementIndicator>b2b</movementIndicator>
                      <windsorNotAtRiskIndicator>true</windsorNotAtRiskIndicator>
                      <references soapenc:arrayType="ns2:Map[0]" xsi:type="soapenc:Array">
                            <reference xsi:type="ns2:Map">
                                <key xsi:type="xsd:string">senderUKIMSNumber</key>
                                <value xsi:type="xsd:string">123456</value>
                            </reference>
                           </references>
</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 must always be set to false for the time being, as tax and duty are not calculated:

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

References

We have introduced a references section where a key-value map contains custom references that some carriers need to use for external platforms.

<references soapenc:arrayType="ns2:Map[0]" xsi:type="soapenc:Array">
                            <reference xsi:type="ns2:Map">
                                <key xsi:type="xsd:string">senderUKIMSNumber</key>
                                <value xsi:type="xsd:string">123456</value>
                            </reference>
                            <reference xsi:type="ns2:Map">
                                <key xsi:type="xsd:string">recipientUKIMSNumber</key>
                                <value xsi:type="xsd:string">654321</value>
                            </reference>
                    </references>

Here you can pass the following keys with a value (Currently, only these keys are supported by the system):

[externalitemcode, externalordercode, specialProvision, senderUKIMSNumber, recipientUKIMSNumber].

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 tags are present (in that order), e.g.

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