Mishor 4 Documentation‎ > ‎5. API Methods‎ > ‎4. Cars‎ > ‎

1. Destination Search

1. Destination Search

The destination search is used to get availability for all cars 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>
    <language>en</language>
  </auth>
  <cars-search>
    <destinations>
      <destination type="pickUp" entityType="city" entityID="3474" date="2015-11-06" time="10:00"></destination>
      <destination type="dropOff" entityType="terminal" entityID="LGW" date="2015-11-14" time="07:00"></destination>
    </destinations>
    <pax-group customerCountryCode="AU">
      <pax>
        <adults count="2"></adults>
        <children count="0"></children>
      </pax>
    </pax-group>
    <currencies default="AUD">
      <currency code="AUD"></currency>
    </currencies>
  </cars-search>
</request>
Request Parameters:

 Parameter Type Comments
destination @type pickUp / dropOffwhich destination is it. pickUp is where you want to pick up the car from, dropOff, where you want to drop it off
destination @entityTypecity/terminal not mandatory, default is city 
destination @eneityId int/IATA code the identifier of the desired destination. if the entityType="city" then the entityId should be a cityid. if the entityType="terminal" then the entityId should be a 3 letter IATA code for the desired terminal. 
destination @date YYYY-mm-dd the date of the the desired intercation. on pickUp, it means the date you will be picking up the car
destination @time HH:mmthe time of the the desired intercation. on pickUp, it means the hour and minute you will be picking up the car
 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 @default currency  3 letter ISO code for the default currency
 currencies/currency @code currency 3 letter ISO code for the accepted currency

Optional parameters:

You can send optional parameters during the search request that are sometimes required by specific providers
<filters>
  <filter type="driverAge">66</filter>
</filters>
Usually no additional filters are required, consult with your account manager in case you have a special setup.

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



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>
  <cars-poll session="dv.Uw8IU6CsA" last="0"/>
</request>

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

Poll Response
<?xml version="1.0"?>
<response success="1" time="2015-03-05 04:04:20" session="h2.30581146211203">
  <job status="done"></job>
  <results last="1" count="37">
    <result provider="someprovider" transmission="auto" doors="0" maxPassengers="4" luggageLarge="1" luggageSmall="1" airConditionIndication="1">
      <minPrice amount="300" currency="AUD"></minPrice>
      <carName><![CDATA[Chevrolet Aveo Economy 2 Dr. Auto, A/C]]></carName>
      <carCompany><![CDATA[Dollar]]></carCompany>
      <image><![CDATA[http://www.example.com/images/car/Chev_Aveo.jpg]]></image>
      <type><![CDATA[]]></type>
      <class><![CDATA[Economy]]></class>
      <availability token="h2.5239146571" on-request="0">
        <price amount="300" currency="AUD"></price>
        <features>
          <feature><![CDATA[Fuel payable locally - Full to Empty]]></feature>
          <feature><![CDATA[Zero excess offer]]></feature>
        </features>
        <stations>
          <station type="pickUp">
            <carCompany companyId="ZR"><![CDATA[Dollar]]></carCompany>
            <stationName><![CDATA[Las Vegas McCarran Intl. Airport, Nevada (NV)]]></stationName>
            <address><![CDATA[Mccarren Intl Airport ]]></address>
            <city><![CDATA[Las Vegas, Nevada (NV)]]></city>
            <country><![CDATA[US]]></country>
            <zipCode><![CDATA[89119702]]></zipCode>
            <state><![CDATA[NV]]></state>
            <phone><![CDATA[]]></phone>
            <airport><![CDATA[LAS]]></airport>
            <coordinates>
              <latitude></latitude>
              <longitude></longitude>
            </coordinates>
            <days>
              <day day="Monday" isClosed="0" is24="1">
                <hours>
                  <hour open="00:00:00" close="00:00:00"></hour>
                  <hour open="00:00:00" close="00:00:00"></hour>
                </hours>
              </day>
              ...
              <day day="Sunday" isClosed="0" is24="1">
                <hours>
                  <hour open="00:00:00" close="00:00:00"></hour>
                  <hour open="00:00:00" close="00:00:00"></hour>
                </hours>
              </day>
            </days>
          </station>
          <station type="dropOff">
            <carCompany companyId="ZR"><![CDATA[Dollar]]></carCompany>
            <stationName><![CDATA[Los Angeles International Airport, CA]]></stationName>
            <address><![CDATA[9150 AVIATION BLVD INGLEWOOD]]></address>
            <city><![CDATA[Los Angeles, California (CA)]]></city>
            <country><![CDATA[US]]></country>
            <zipCode><![CDATA[90301]]></zipCode>
            <state><![CDATA[CA]]></state>
            <phone><![CDATA[]]></phone>
            <airport><![CDATA[LAX]]></airport>
            <coordinates>
              <latitude></latitude>
              <longitude></longitude>
            </coordinates>
            <days>
              <day day="Monday" isClosed="0" is24="1">
                <hours>
                  <hour open="00:00:00" close="00:00:00"></hour>
                  <hour open="00:00:00" close="00:00:00"></hour>
                </hours>
              </day>
              ...
              <day day="Sunday" isClosed="0" is24="1">
                <hours>
                  <hour open="00:00:00" close="00:00:00"></hour>
                  <hour open="00:00:00" close="00:00:00"></hour>
                </hours>
              </day>
            </days>
          </station>
        </stations>
      </availability>
       ....
    </result>
  <SearchParameters>
    <pickUp id="3607" date="2015-11-06" hour="10:00"></pickUp>
    <dropOff id="3607" date="2015-11-14" hour="07:00"></dropOff>
  </SearchParameters>
</response>

Parameter Type Comments
results @countinthow many results
results @lastintthe last @last attribute received from the previous poll
result @idintthe id to which this result price is addressing
result @providerstringfrom which provider is this result coming from
result @transmissionstringthe type of transmission the car has 
="1" ="1" ="1"
result @doorsintthe number of doors. if the value is 0 it means it's unknown
result @maxPassengersintthe maximum number of passengers allowed in the car 
result @luggageLargeintthe number of large suitcases that can fit in the trunk 
result @luggageSmallintthe number of small suitcases that can fit in the trunk   
result @airConditionIndicationbooleanwhether the car has air conditioning or not 
result/minPrice @amountfloatthe minimum price from all available availability options
result/minPrice @currencycurrency3 letter ISO code of the currency of the returned price
result/carNamestringthe name of the car
result/carCompanystringthe rental company name
result/imageurla url to a picture of the car
result/type  
result/classstring the class of the car 
result/availabilitynodeindividual option for the returned car. see note #1
result/availability @tokenstringthe token for the specific item you will use during the booking 
result/availability @on-requestboolean whether this result will be confirmed immediately  
result/availability/price @amountfloatthe price for this specific availability option
result/availability/price @currencycurrency 3 letter ISO code of the currency of the returned price
result/availability/featuresnodesfree-text features of the specific availability result
result/availability/stationsnodesthe pickup and dropoff station details
station @typepickUp / dropOff
station/carCompany @companyIdstringsee lookup section for full company codes 
station/carCompanynodethe name of the rental car company 
station/stationNamestringthe name of the rental company station
station/address, city, country, zipCode, state, phone, coordinatesnodespretty self explanatory 
station/airportairport code if the station is located inside an airport, this is the ISO code of the airport
station/daysnodesthe opening hours of the station in each weekday
station/days/daynodeeach day node has @day for the weekday, @isClosed as a boolean where 1=closed, and is24 as boolean for is it open 24 hours
station/days/day/hoursnodeopening and closing hours 
SearchParametersnode the parameters of the search the result was built for 
Notes
1. There could be multiple availability nodes for a single result. for example if the same car is available from multiple stations
2. In some cases the result will be returned without a stations node. in these cases, the stations nodes will be returned in the cars-info response.

Comments