4. GEO Destinations

4.1. Webservice to retrieve GEO-Data

WSDL url: https://api.carhire-solutions.com/destination.asmx?WSDL

The data returned from the following calls does not change often and is suitable for long-retention caching or being loaded into a database. However, it should not be treated as static and should be refreshed daily.

Flow to get all airports / cities potentially needed to perform search requests

  • Call GetCountries

  • For every country call GetAirports and/or GetCities with specific CountryID

4.1.1. GetCountries

Description

Returns an up-to-date list of supported countries.

Parameters

  • Language

Example

curl --compressed \
     --location --request POST 'https://api.carhire-solutions.com/destination.asmx' \
     --header 'Content-Type: text/xml;charset=UTF-8' \
     --header 'Accept-Encoding: gzip,deflate' \
     --header 'SOAPAction: "http://www.opentravel.org/OTA/2003/05/GetCountries"' \
     --data '[Here goes request body using SOAP 1.1...]'
GetCountries request body
<soap:Envelope xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <VehicleCountryRequest>
            <Language>EN</Language>
        </VehicleCountryRequest>
    </soap:Body>
</soap:Envelope>
Response (abbreviated)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05">
    <soap:Body>
        <VehicleCountryResponse>
            <Countries>
                <Country id="1">
                    <Name>Germany</Name>
                    <ISO>DE</ISO>
                </Country>
                <Country id="3">
                    <Name>Spain</Name>
                    <ISO>ES</ISO>
                </Country>
                <Country id="7">
                    <Name>France</Name>
                    <ISO>FR</ISO>
                </Country>
                <Country id="8">
                    <Name>United States</Name>
                    <ISO>US</ISO>
                </Country>
                <Country id="12">
                    <Name>Italy</Name>
                    <ISO>IT</ISO>
                </Country>
                <Country id="17">
                    <Name>United Kingdom</Name>
                    <ISO>GB</ISO>
                </Country>
                <Country id="1668">
                    <Name>Poland</Name>
                    <ISO>PL</ISO>
                </Country>
            </Countries>
        </VehicleCountryResponse>
    </soap:Body>
</soap:Envelope>

4.1.2. GetAirports

Description

Returns an up-to-date list of supported airports. One of the optional parameters has to be provided.

Parameters

  • Language

  • CityID (optional)

  • CountryID (optional)

Example

Request
<soap:Envelope xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <VehicleAirportRequest>
      <Language>DE</Language>
      <CountryID>1</CountryID>
    </VehicleAirportRequest>
  </soap:Body>
</soap:Envelope>
Response (abbreviated)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05">
  <soap:Body>
    <VehicleAirportResponse>
      <Airports>
        <Airport id="4057" iata="SXF" latitude="52.380001" longitude="13.5225">
          <CityID>44</CityID>
          <Name>Berlin Schönefeld Airport (SXF)</Name>
        </Airport>
        <Airport id="4339" iata="TXL" latitude="52.559686" longitude="13.287711">
          <CityID>44</CityID>
          <Name>Berlin Tegel Airport (TXL)</Name>
        </Airport>
        <Airport id="2685" iata="CGN" latitude="50.865917" longitude="7.142744">
          <CityID>114</CityID>
          <Name>Cologne Bonn Airport (CGN)</Name>
        </Airport>
        <Airport id="1391" iata="MSY" latitude="29.9929813" longitude="-90.2556327"
        state-code="LA">
          <CityID>1885</CityID>
          <Name>New Orleans Louis Armstrong International Airport (MSY)</Name>
        </Airport>
        <Airport id="575" iata="JFK" latitude="40.6398262" longitude="-73.7787443"
        state-code="NY">
          <CityID>41</CityID>
          <Name>New York John F. Kennedy International Airport (JFK)</Name>
        </Airport>
        <Airport id="956" iata="LGA" latitude="40.7773237" longitude="-73.8751358"
        state-code="NY">
          <CityID>41</CityID>
          <Name>New York LaGuardia Airport (LGA)</Name>
        </Airport>
      </Airports>
    </VehicleAirportResponse>
  </soap:Body>
</soap:Envelope>

4.1.3. GetCities

Description

Returns an up-to-date list of supported cities. One of the optional parameters has to be provided.

Parameters

  • Language

  • CountryID (optional)

  • CountryISO (optional)

Example

Request
<soap:Envelope xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <VehicleCityRequest>
      <Language>DE</Language>
      <CountryISO>DE</CountryISO>
    </VehicleCityRequest>
  </soap:Body>
</soap:Envelope>
Response (abbreviated)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05">
  <soap:Body>
    <VehicleCityResponse>
      <Cities>
        <City id="59" iata="AAH" latitude="50.7781295776367" longitude="6.08849000930786">
          <Name>Aachen</Name>
          <RegionID>1</RegionID>
        </City>
        <City id="60" latitude="48.837760925293" longitude="10.0920295715332">
          <Name>Aalen</Name>
          <RegionID>1</RegionID>
        </City>
        <City id="8474" latitude="52.0726890563965" longitude="7.00794982910156">
          <Name>Ahaus</Name>
          <RegionID>1</RegionID>
        </City>
        <City id="61" latitude="53.6694488525391" longitude="10.2319297790527">
          <Name>Ahrensburg</Name>
          <RegionID>1</RegionID>
        </City>
        <City id="38600" state-code="NY" latitude="41.4706446" longitude="-74.1122506">
          <Name>New Windsor-NY</Name>
          <RegionID>24</RegionID>
        </City>
        <City id="41" state-code="NY" iata="NYC" latitude="40.7127753" longitude="-74.0059728">
          <Name>New York</Name>
          <RegionID>24</RegionID>
        </City>
      </Cities>
    </VehicleCityResponse>
  </soap:Body>
</soap:Envelope>