3. Booking

The booking request is done after the Booking Info request was completed, and you have collected all the customer details required for the booking, including the special fields which are sent dynamically based on the option you selected during search.
Booking Request
<request version="4.0">
  <auth>
    <username><![CDATA[example]]></username>
    <password><![CDATA[example]]></password>
    <agent><![CDATA[example]]></agent>
    <customfields></customfields>
  </auth>
  <transfers-book session="dv.1234" clientRef="987654">
    <customer>
      <title><![CDATA[M]]></title>
      <firstName><![CDATA[John]]></firstName>
      <lastName><![CDATA[Smith]]></lastName>
      <phone type="home"><![CDATA[001234567]]></phone>
      <email><![CDATA[john@exmaple.com]]></email>
      <address><![CDATA[26 MAIN STREET]]></address>
      <postCode><![CDATA[1234]]></postCode>
      <city><![CDATA[SOMETOWN]]></city>
      <state><![CDATA[]]></state>
      <countryCode><![CDATA[DE]]></countryCode>
    </customer>
    <special-request-fields>
      <field code="Arrivalflightnumber"><![CDATA[AB 346]]></field>
      <field code="Departureflightnumber"><![CDATA[AB 471]]></field>
    </special-request-fields>
    <results>
      <result token="dv.345"></result>
      <result token="dv.678"></result>
    </results>
  </transfers-book>
</request>
Parameter Type Comments
transfers-book @sessionstringthe session id as returned by the search
transfers-book @clientRefstringyour reference
customernode the lead customer details, pretty self explanatory
special-request-fieldsnode These are the fields specified in the booking-info request. you must use the same names, and send the value entered by the user as the node value.
results/result @tokenstringthe token(s) of the options you are looking to book
Notes:
  1. the countryCode of the customer node should be the same country code as was passed to the search
Booking Response
<?xml version="1.0"?>
<response success="1" time="2016-08-29 06:26:44" session="dv.1234">
  <reservation id="dv.5555" status="confirmed" clientReference="987654">
    <item status="confirmed" id="1" type="arrival" token="dv.345">
      <serviceDate type="arrival" date="2016-11-28"></serviceDate>
      <source>
        <reference>XXX-123</reference>
        <price amount="29.13" currency="EUR"></price>
      </source>
      <booking billable="1">
        <price amount="44.588188753167" currency="EUR"></price>
      </booking>
      <remark><![CDATA[
For the larger family or for a group party of five or more who want to travel together. Pre-Book one of larger vehicles for your party rather than waiting for several taxis. This is an ideal way of getting to your accommodation with ease and style. Your vehicle will be waiting for you upon arrival and whisk you off to your accommodation making your onward journey hassle free. Groups of any size can be catered for.
<strong>Instructions:</strong>
    Your driver / representative will be waiting for you at the <b>GATE EXIT number 4</b> in the arrivals hall (<b>level 2</b>) and will be holding a sign with your name on it<br>Please identify yourself by showing them a copy of your booking voucher.<br><b><br>DIFFICULTY IN LOCATING YOUR DRIVER</b><br>In the unlikely event you should have any difficulty in locating your designated driver/representative, please call our emergency helpline where an English speaking representative will help you. (If calling from a mobile, the international dialling code must be dialled. If calling from a land line there is no need.) <br><br>
...
]]></remark>
      <vehicleType>Minibus</vehicleType>
      <transferType>Private Minibus</transferType>
      <customer>
        <title><![CDATA[M]]></title>
        <firstName><![CDATA[John]]></firstName>
        <lastName><![CDATA[Smith]]></lastName>
        <age><![CDATA[]]></age>
      </customer>
      <origin type="terminal" id="436">
        <locationName><![CDATA[Bangkok Suvarnabhumi International Airport]]></locationName>
        <locationInfo>
          <name><![CDATA[Suvarnabhumi International]]></name>
          <city><![CDATA[Bangkok]]></city>
          <state><![CDATA[]]></state>
          <country><![CDATA[Thailand]]></country>
          <latitude>13.681108</latitude>
          <longitude>100.747283</longitude>
        </locationInfo>
      </origin>
      <destination type="hotel" id="94433">
        <locationName><![CDATA[Bangkok City Centre]]></locationName>
        <locationInfo>
          <name><![CDATA[Oakwood Residence Garden Towers Ban]]></name>
          <address><![CDATA[Moo 14 Bangna Trad Road, KM6.5, Bangkaew, Bangplee 2/4-5, Bangkok, Thailand]]></address>
          <latitude>13.6576</latitude>
          <longitude>100.662</longitude>
        </locationInfo>
      </destination>
      <cancellation>
        <frame endTime="2016-11-24 00:00:00" timezone="UTC" type="fully-refundable"></frame>
        <frame endTime="2016-11-28 21:45:00" timezone="UTC" type="non-refundable"></frame>
      </cancellation>
    </item>
    <item status="confirmed" id="2" type="return" token="dv.567">
      <serviceDate type="return" date="2017-01-01"></serviceDate>
      <source>
        <reference>XXX-234</reference>
        <price amount="29.13" currency="EUR"></price>
      </source>
      <booking billable="1">
        <price amount="44.588188753167" currency="GBP"></price>
      </booking>
      <remark><![CDATA[
For the larger family or for a group party of five or more who want to travel together. Pre-Book one of larger vehicles for your party rather than waiting for several taxis. This is an ideal way of getting to your accommodation with ease and style. Your vehicle will be waiting for you upon arrival and whisk you off to your accommodation making your onward journey hassle free. Groups of any size can be catered for.

<strong>Instructions:</strong>
    How to find out your pick up time? There is no need to contact the suppliers for your pick up time for PRIVATE transfers unless you wish to change these from the time stated on your booking confirmation. Please ensure that you are at your pick up point at least 10/15 minutes in advance and have your voucher ready to give to the driver.<br>We cannot accept any responsibility for clients who are not collected on time and subsequently miss their return flight if details of the booking have changed and we have not been advised accordingly.
...
]]></remark>
      <vehicleType>Minibus</vehicleType>
      <transferType>Private Minibus</transferType>
      <customer>
        <title><![CDATA[M]]></title>
        <firstName><![CDATA[John]]></firstName>
        <lastName><![CDATA[Smith]]></lastName>
        <age><![CDATA[]]></age>
      </customer>
      <origin type="hotel" id="436">
        <locationName><![CDATA[Bangkok City Centre]]></locationName>
        <locationInfo>
          <name><![CDATA[Oakwood Residence Garden Towers Ban]]></name>
          <address><![CDATA[Moo 14 Bangna Trad Road, KM6.5, Bangkaew, Bangplee 2/4-5, Bangkok, Thailand]]></address>
          <latitude>13.6576</latitude>
          <longitude>100.662</longitude>
        </locationInfo>
      </origin>
      <destination type="terminal" id="94433">
        <locationName><![CDATA[Bangkok Suvarnabhumi International Airport]]></locationName>
        <locationInfo>
          <name><![CDATA[Suvarnabhumi International]]></name>
          <city><![CDATA[Bangkok]]></city>
          <state><![CDATA[]]></state>
          <country><![CDATA[Thailand]]></country>
          <latitude>13.681108</latitude>
          <longitude>100.747283</longitude>
        </locationInfo>
      </destination>
      <cancellation>
        <frame endTime="2016-11-28 00:00:00" timezone="UTC" type="fully-refundable"></frame>
        <frame endTime="2016-11-28 21:45:00" timezone="UTC" type="non-refundable"></frame>
      </cancellation>
    </item>
  </reservation>
</response>
Parameter Type Comments
response @successbooleanwas the request successful - note that this isNOT the booking status response
reservation @idstringthe reservation identifier
reservation @statusstringsee "lookups" for possible returned statuses
reservation @clientReferencestring your reference as received during the booking request
item @tokenstring the option token that was booked
item @statusstring see "lookups" for possible returned statuses
item @idintan incremental counter 
item @typestringavailable values: "arrival", "departure", "arrival/departure"
item/serviceDate @typestringavailable values: "arrival", "departure", "arrival/departure"
item/serviceDate @datedateYYYY-MM-DD 
item/source/referencestring the provider reference that must be displayed on the voucher
item/source/pricenodeamount and currency of the booked option
item/remarksnode mandatory remarks to show to the customer and on the voucher 
item/booking @billableboolean is the provider a direct provider (0=direct) 
item/booking/price @amountdoublethe price of the booking 
item/booking/price @currencycurrencycurrency ISO code of the price
item/vehicleTypestring the type of vehicle that was booked (i.e. minibus, private van, etc.)
item/transferTypestringthe type of transfer that was booked (i.e. private transfer, shared vehicle, etc.)
item/customernode the customer details that were passed to the transfer facilitator 
item/originnode the pick up location. see the search response for details about this node 
item/destination node  the drop off location. see the search response for details about this node 
cancellationnode see cancellation policy section for details 

Comments