1. Destination Search

The destination search is used to get availability for all events in a specific destination. By default it returns an Asynchronous  response allowing the user to control the search flow:

Initiate Request:

<request version="4.0">
  <auth>
    <username>example</username>
    <password>example</password>
    <agent>example</agent>
  </auth>
  <event-search entityType="location" entityID="3474">
    <dates from="2014-07-09" to="2014-07-29" />
    <filters>
      <filter type="category">3</filter>
      <filter type="eventid">456</filter>
    </filters>
    <pax-group customerCountryCode="FR">
      <pax>
        <adults count="2" />
        <children count="2">
          <age>12</age>
          <age>8</age>
        </children>
      </pax>
    </pax-group>
    <currencies default="USD">
      <currency code="EUR" />
      <currency code="GBP" />
      <currency code="USD" />
    </currencies>
  </event-search>
</request>
Request Parameters:

 Parameter Type Comments
 entityType location/hotel location=city search
 entityId int the identifier of the desired city
 dates @from YYYY-mm-dd the start date of the search
 dates @to YYYY-mm-dd the end-out date of the search
 filters @type="category" integer the type of the desired ticket. see event type lookup for details
 filters @type="eventid" integer  search for a specific event id (not mandatory) 
 pax-group @customerCountryCode country code 2 letter ISO code for the customer country
 pax/adults @count int the number of adults
 pax/children @count int the number of children
 pax/children/age int the age of each child
 currencies @defaultcurrency  3 letter ISO code for the default currency
 currencies/currency @code currency 3 letter ISO code for the accepted currency

Notes

  1. customerCountryCode is mandatory, and the same code should be used for the entire session flow. i.e. when searching for a specific country code, you must use the same country code for booking.
  2. children are optional. if you are not search for a room with children, do not include the children node.
  3. currencies are returned according to the list in the request. properties that use a currency that does not appear on the list will be converted to the "default" currency. to remove restrictions and return all currencies, add an attribute to the currencies node: all="true"

Asynchronous Response:
<response success="1" session="dv.Uw8IU6CsA">
  <search status="working">
    <server>http://mishor.example.com/</server>
  </search>
</response>

The Asynchronous response consists of the following elements:
Parameter Type Comments
response @successboolean was the request successful
response @sessionstring the search id of the requested search
serverurlthe url  of the search server to use for polling and booking
1. Destination Search


Initiate Poll

With the search response session id, it is now possible to start polling the results. For a description of the flow, please revert to section 3: Search Flow
Poll Request
<request version="4.0">
  <auth>
    <username>example</username>
    <password>example</password>
    <agent>example</agent>
  </auth>
  <event-poll session="dv.Uw8IU6CsA" last="0"/>
</request>

Parameter Type Comments
hotel-poll @sessionstringthe session id of the requested search
hotel-poll @lastintthe last @last attribute received from the previous poll

Poll Response
<response success="1" session="dv.Uw8IU6CsA">
  <job status="working" />
  <results last="0" count="10">
    <result id="6015" providers="innstanttravel-b2b">
      <price currency="EUR" final="0" minCommissionablePrice="10.9161" />
    </result>
    ...
    <result id="22471" providers="innstanttravel-b2b">
      <price currency="EUR" final="0" minCommissionablePrice="31.0306" />
    </result>
    ...
    <result id="22471" providers="innstanttravel-b2b">
      <price currency="EUR" final="0" minCommissionablePrice="31.0306" />
      <extra-products>
        <extra-product token="dv.4716375844" mandatory="1" min-quantity="1">
          <price amount="11.785468996207" currency="USD"/>
          <name><![CDATA[ BIG BAG ]]></name>
          <description><![CDATA[ something for your stuf ]]></description>
          <images><image url="http://example.com/url.jpg"><![CDATA[ test image ]]></image></images>      
        </extra-product>
      </extra-products>
    </result>
  </results>
</response>
Parameter Type Comments
results @countinthow many results
results @lastintthe last @last attribute received from the previous poll
result @idintthe event id to which this result price is addressing
result @providersstringfrom which provider is this result coming from
result/price @minCommissionablePricefloatthe minimum commissionable price of the current result
result/price @minNonCommissionablePricefloatthe minimum non-commissionable price of the current result
result/price @minAllowedPricefloatreturned if there is a price restriction on the ticket (see notes below)
result/price @currencycurrency3 letter ISO code of the currency of the returned price
result/price @finalbooleanis the price final or will it change during the info check
result/extra-products/extra-productnodeavailable extra-products that can be added to this result 
extra-product @mandatoryboolean is the extra product mandatory in order to make the booking  
extra-product @min-quantityintthe minimum quantity that must be booked of this product 
extra-product/images/imagenode optional node with the image of the extra-product 
Notes
1. minNonCommissionablePrice and minAllowedPrice will only be returned if there are relevant results applicable
2. if final is false (0) the prices should be treated as "From" only, and not as accurate or final figures.

Comments