findDeliveryOptionsWithBookingCode

This allocation method tells you what the cheapest costs and associated delivery options for a proposed consignment would be if a particular booking code was used.

No consignments are actually created or allocated using this method.

Important

In order to use this method, you need to be an API user with Delivery Options permissions. Please contact Support for more information.

This method is useful for validating delivery options immediately prior to rate shopping and wave picking, so that subsequent label print failures at the pack bench are kept to a minimum.

How to submit a request

Proceed as follows:

  1. If you have not already done so, open a new project using the WSDL AllocationService.xml.

  2. Create a new request under findDeliveryOptionseWithBookingCode.

  3. Enter the authorisation for the request.

  4. Create a consignment, specifying the following as a minimum:

    1. The consignmentLevelDetailsFlag.

    2. The consignmentValue if the consignmentLevelDetailsFlag is set to true. However, if this flag is set to false, then the parcelValue is required instead (refer to the Parcels Array).

    3. The consignmentWeight if the consignmentLevelDetailsFlag is set to true. However, if this flag is set to false, then the parcelWeight is required instead (refer to the Parcels Array).

    4. The maxDimension if the consignmentLevelDetailsFlag is set to true. However, if this flag is set to false, then it is calculated automatically from the dimensions of each parcel (refer to the Parcels Array).

    5. The orderNumber.

    6. The parcelCount.

    7. 'n' items in the Parcels Array if 'n' is the parcelCount.

    8. The recipentAddress.

    9. The recipientName.

    10. The senderAddress.

    11. The senderCode.

    12. The senderName.

    Note

    If you do not yet know all the details of the consignment, e.g. the parcelWeights, then you will need to provide estimates, by, for example, using an average weight per parcel.

  5. Specify the required bookingCode.

  6. Set calculateTaxAndDuty to false.

  7. Click Arrow.png to submit the request.

You know that the call has been successful once delivery options are returned.

The response returns all the carrier services that can deliver the package to the recipientAddress, using the criteria in the bookingCode.

The returned services are sorted in order of cost, with the cheapest first (refer to Setting up the Carrier Costs).

Note

If there is more than one service available for allocation, and the costs are identical, then, normally, the one that leaves the warehouse first will be selected. However, if you append /LATEST at the end of the booking code, then this forces Delivery Manager to prioritise the service with the latest despatch time, allowing you to plan the packaging of the consignment in the warehouse.

For each carrier service that can make the scheduled delivery, the call returns the collectionSlots and collectionWindow, together with cutOffDateTime, and then the associated deliverySlots and deliveryWindow.

Example Request

<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:findDeliveryOptionsWithBookingCode soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
          <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>
                      <committedCollectionWindow xsi:type="ns2:DateRange" xsi:nil="true"/>
                      <committedDeliveryWindow xsi:type="ns2:DateRange" xsi:nil="true"/>
                      <consDestinationReference xsi:type="soapenc:string" xsi:nil="true"/>
                      <consOriginReference xsi:type="soapenc:string" xsi:nil="true"/>
                      <consRecipientReference xsi:type="soapenc:string" xsi:nil="true"/>
                      <consReference xsi:type="soapenc:string" xsi:nil="true"/>
                      <consSenderReference xsi:type="soapenc:string" xsi:nil="true"/>
                      <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>
                      <custom1 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom10 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom2 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom3 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom4 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom5 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom6 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom7 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom8 xsi:type="soapenc:string" xsi:nil="true"/>
                      <custom9 xsi:type="soapenc:string" xsi:nil="true"/>
                      <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">peter.mcgee@metapack.com</recipientEmail>
                      <recipientMobilePhone xsi:type="soapenc:string">01211554975</recipientMobilePhone>
                      <recipientName xsi:type="soapenc:string">Peter McGee</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"/>
                      <taxAndDuty xsi:type="xsd:double">0.0</taxAndDuty>
                      <taxAndDutyCurrencyCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <taxAndDutyCurrencyRate xsi:type="xsd:double">0.0</taxAndDutyCurrencyRate>
                      <taxAndDutyStatusText xsi:type="soapenc:string" xsi:nil="true"/>
                      <taxDutyDeclarationCurrencyCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <termsOfTradeCode xsi:type="soapenc:string" xsi:nil="true"/>
                      <transactionType xsi:type="soapenc:string">Delivery</transactionType>
                      <twoManLiftFlag xsi:type="xsd:boolean">false</twoManLiftFlag>
               </consignment>
         <bookingCode xsi:type="soapenc:string">@NEXT/2020-07-21/00:01-23:59</bookingCode>
         <calculateTaxAndDuty xsi:type="xsd:boolean">false</calculateTaxAndDuty>
      </ser:findDeliveryOptionsWithBookingCode>
   </soapenv:Body>
</soapenv:Envelope>

In the above example, the API call is looking for services in the NEXT carrier 'service group' that can despatch on 21st July 2020. For an example response, see below.

Example Response

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ns1:findDeliveryOptionsWithBookingCodeResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:DeliveryManager/services">
         <findDeliveryOptionsWithBookingCodeReturn soapenc:arrayType="ns2:DeliveryOption[2]" xsi:type="soapenc:Array" xmlns:ns2="urn:DeliveryManager/types" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
            <findDeliveryOptionsWithBookingCodeReturn xsi:type="ns2:DeliveryOption">
               <bookingCode xsi:type="soapenc:string">DPD07NEXTDAY/2020-07-21/*-*/*/*-*</bookingCode>
               <carrierCode xsi:type="soapenc:string">DPD07</carrierCode>
               <carrierCustom1 xsi:type="soapenc:string" xsi:nil="true"/>
               <carrierCustom2 xsi:type="soapenc:string" xsi:nil="true"/>
               <carrierCustom3 xsi:type="soapenc:string" xsi:nil="true"/>
               <carrierServiceCode xsi:type="soapenc:string">DPD07NEXTDAY</carrierServiceCode>
               <carrierServiceTypeCode xsi:type="soapenc:string">UNTIMED</carrierServiceTypeCode>
               <collectionSlots soapenc:arrayType="ns2:DateRange[1]" xsi:type="soapenc:Array">
                  <collectionSlots xsi:type="ns2:DateRange">
                     <from xsi:type="xsd:dateTime">2020-07-21T17:30:00.000Z</from>
                     <to xsi:type="xsd:dateTime">2020-07-21T18:30:59.999Z</to>
                  </collectionSlots>
               </collectionSlots>
               <collectionWindow xsi:type="ns2:DateRange">
                  <from xsi:type="xsd:dateTime">2020-07-21T17:30:00.000Z</from>
                  <to xsi:type="xsd:dateTime">2020-07-21T18:30:59.999Z</to>
               </collectionWindow>
               <cutOffDateTime xsi:type="xsd:dateTime">2020-07-19T17:30:00.000Z</cutOffDateTime>
               <deliveryLocation xsi:type="soapenc:string" xsi:nil="true"/>
               <deliverySlots soapenc:arrayType="ns2:DateRange[1]" xsi:type="soapenc:Array">
                  <deliverySlots xsi:type="ns2:DateRange">
                     <from xsi:type="xsd:dateTime">2020-07-22T07:00:00.000Z</from>
                     <to xsi:type="xsd:dateTime">2020-07-22T17:00:59.999Z</to>
                  </deliverySlots>
               </deliverySlots>
               <deliveryWindow xsi:type="ns2:DateRange">
                  <from xsi:type="xsd:dateTime">2020-07-22T07:00:00.000Z</from>
                  <to xsi:type="xsd:dateTime">2020-07-22T17:00:59.999Z</to>
               </deliveryWindow>
               <groupCodes soapenc:arrayType="soapenc:string[1]" xsi:type="soapenc:Array">
                  <groupCodes xsi:type="soapenc:string">NEXT</groupCodes>
               </groupCodes>
               <name xsi:type="soapenc:string">DPD Next day</name>
               <nominatableCollectionSlot xsi:type="xsd:boolean">false</nominatableCollectionSlot>
               <nominatableDeliverySlot xsi:type="xsd:boolean">false</nominatableDeliverySlot>
               <recipientTimeZone xsi:type="soapenc:string">Europe/London</recipientTimeZone>
               <score xsi:type="xsd:double">1.0</score>
               <senderTimeZone xsi:type="soapenc:string">Europe/London</senderTimeZone>
               <shippingCharge xsi:type="xsd:double">0.0</shippingCharge>
               <shippingCost xsi:type="xsd:double">1.6</shippingCost>
               <taxAndDuty xsi:type="xsd:double">0.0</taxAndDuty>
               <taxAndDutyStatusText xsi:type="soapenc:string" xsi:nil="true"/>
               <vatRate xsi:type="xsd:double">0.0</vatRate>
            </findDeliveryOptionsWithBookingCodeReturn>
            <findDeliveryOptionsWithBookingCodeReturn xsi:type="ns2:DeliveryOption">
               <bookingCode xsi:type="soapenc:string">HERMNDG/2020-07-21/*-*/*/*-*</bookingCode>
               <carrierCode xsi:type="soapenc:string">HERMESPOS</carrierCode>
               <carrierCustom1 xsi:type="soapenc:string" xsi:nil="true"/>
               <carrierCustom2 xsi:type="soapenc:string" xsi:nil="true"/>
               <carrierCustom3 xsi:type="soapenc:string" xsi:nil="true"/>
               <carrierServiceCode xsi:type="soapenc:string">HERMNDG</carrierServiceCode>
               <carrierServiceTypeCode xsi:type="soapenc:string">UNTIMED</carrierServiceTypeCode>
               <collectionSlots soapenc:arrayType="ns2:DateRange[1]" xsi:type="soapenc:Array">
                  <collectionSlots xsi:type="ns2:DateRange">
                     <from xsi:type="xsd:dateTime">2020-07-21T17:30:00.000Z</from>
                     <to xsi:type="xsd:dateTime">2020-07-21T18:30:59.999Z</to>
                  </collectionSlots>
               </collectionSlots>
               <collectionWindow xsi:type="ns2:DateRange">
                  <from xsi:type="xsd:dateTime">2020-07-21T17:30:00.000Z</from>
                  <to xsi:type="xsd:dateTime">2020-07-21T18:30:59.999Z</to>
               </collectionWindow>
               <cutOffDateTime xsi:type="xsd:dateTime">2020-07-21T17:00:00.000Z</cutOffDateTime>
               <deliveryLocation xsi:type="soapenc:string" xsi:nil="true"/>
               <deliverySlots soapenc:arrayType="ns2:DateRange[1]" xsi:type="soapenc:Array">
                  <deliverySlots xsi:type="ns2:DateRange">
                     <from xsi:type="xsd:dateTime">2020-07-22T07:00:00.000Z</from>
                     <to xsi:type="xsd:dateTime">2020-07-22T19:00:59.999Z</to>
                  </deliverySlots>
               </deliverySlots>
               <deliveryWindow xsi:type="ns2:DateRange">
                  <from xsi:type="xsd:dateTime">2020-07-22T07:00:00.000Z</from>
                  <to xsi:type="xsd:dateTime">2020-07-22T19:00:59.999Z</to>
               </deliveryWindow>
               <groupCodes soapenc:arrayType="soapenc:string[2]" xsi:type="soapenc:Array">
                  <groupCodes xsi:type="soapenc:string">PLNEXTDAY</groupCodes>
                  <groupCodes xsi:type="soapenc:string">NEXT</groupCodes>
               </groupCodes>
               <name xsi:type="soapenc:string">Courier Service Next Day</name>
               <nominatableCollectionSlot xsi:type="xsd:boolean">false</nominatableCollectionSlot>
               <nominatableDeliverySlot xsi:type="xsd:boolean">false</nominatableDeliverySlot>
               <recipientTimeZone xsi:type="soapenc:string">Europe/London</recipientTimeZone>
               <score xsi:type="xsd:double">1.0</score>
               <senderTimeZone xsi:type="soapenc:string">Europe/London</senderTimeZone>
               <shippingCharge xsi:type="xsd:double">13.0</shippingCharge>
               <shippingCost xsi:type="xsd:double">9.9</shippingCost>
               <taxAndDuty xsi:type="xsd:double">0.0</taxAndDuty>
               <taxAndDutyStatusText xsi:type="soapenc:string" xsi:nil="true"/>
               <vatRate xsi:type="xsd:double">0.0</vatRate>
            </findDeliveryOptionsWithBookingCodeReturn>
         </findDeliveryOptionsWithBookingCodeReturn>
      </ns1:findDeliveryOptionsWithBookingCodeResponse>
   </soapenv:Body>
</soapenv:Envelope>

Next Steps

Once you have used the returned delivery options to determine the carrier service to which you want to allocate the consignment, go to either createAndAllocateConsignmentsWithBookingCode or despatchConsignmentWithBookingCode. You can then create and allocate the consignment in a single call.

When entering the booking code to allocate the consignment, you can now simply copy the booking code for the preferred delivery option from the response to findDeliveryOptionsWithBookingCode, e.g.

<bookingCode xsi:type="soapenc:string">HERMNDG/2020-07-21/*-*/*/*-*</bookingCode>