Availability search

Product: transport
Type: availability

Availability search allows the client to search all available services on a requested trip.

Request

Request fields:

  • pickup: the place where the driver is expected to meet with the traveller
    • name: name of the point (i.e. "Piazza Del Colosseo" or "Piazzale Roma")
    • address: precise address of the point (with street name and number, city, postal code)
    • type: valid values are: generic (street, square, poi, other generic addresses), airport and lodging (hotels and other lodging places).
    • lat: latitude of the point
    • lng: longitude of the point
  • dropoff: the place where the driver is expected to leave the traveller
    • dropoff attributes are exacly the same of pickup
  • outbound: date and time when the driver is expected to meet the traveller
    • date: date in format YYYY-mm-dd
    • time: hour and minutes in format HH:mm
  • paxes
    • number: number of travellers
  • luggages
    • number: total number of luggages
  • language (optional): language used to provide info and descriptions. PLEASE NOTE: we do not guarantee to provide all texts translated into the requested language.
  • currency (optional): currency ISO code in which you want to receive prices. PLEASE NOTE: we do not support all the existing currencies, but we may add one if you need it and if agreed with TO.

Request example:

<envelope>
    <header>
        <actor>exampleactor</actor>
        <user>exampleuser</user>
        <password>*****</password>
        <version>1.7.0</version>
        <timestamp>20240112150441</timestamp>
    </header>
    <query type="availability" product="transport">
        <language>en</language>
        <paxes number="2"/>
        <luggages number="2"/>
        <pickup name="Piazzale Roma" address="Piazzale Roma, Venezia, Venice, Italy" type="generic" lat="45.43818842198814" lng="12.318325039604192" />
        <dropoff name="Aeroporto Marco Polo" address="Viale Galileo Galilei, 30, 30173 Venezia VE" type="airport" lat="45.50511599506822" lng="12.346679306243292" />
        <outbound date="2024-02-12" time="13:00"/>
    </query>
</envelope>
Response

Response example:

<envelope>
    <header>
        <version port="22222" host="example.netstorming.net">1.7.0</version>
        <timestamp>20240130132452</timestamp>
    </header>
    <response type="availability" product="transport">
        <search number="trsprts.avl65b8ea99ac0db" time_search="4.765" time_xml="0.018"/>
        <paxes number="2"/>
        <luggages number="2"/>
        <outbound date="2024-02-12" time="13:00"/>
        <pickup name="Piazzale Roma" address="Piazzale Roma, Venezia, Venice, Italy" type="generic" lat="45.43818842198814" lng="12.318325039604192"/>
        <dropoff name="Aeroporto Marco Polo" address="Viale Galileo Galilei, 30, 30173 Venezia VE" type="airport" lat="45.50511599506822" lng="12.346679306243292"/>
        <agreements count="2">
            <agreement code="LCL.33.132.1.NjJkY2E0" available="true" typology="PRIVATE" category="Economy+" vehicle="Standard car" luggage="2" deadline="2024-02-12 12:30:00" photo_url="https://d3uh87skopbdhk.cloudfront.net/ns/vehicles/1/standard/62b047d015be7.png">
                <prices>
                    <nett amount="115" currency="EUR"/>
                    <gross amount="115" currency="EUR"/>
                </prices>
                <cancellation_policies>
                    <policy from="2024-02-12 12:30:00" percentage="100"/>
                </cancellation_policies>
                <vehicle description="Doors: 5, Max passengers: 4, Max luggage pieces: 4, Luggage dimensions: 30cmX40cmX60cm">
                    <doors value="5"/>
                    <luggage_dimensions value="30cmX40cmX60cm"/>
                    <max_luggages value="4"/>
                    <max_passengers value="4"/>
                </vehicle>
                <features>
                    <feature text="Mandatory: Nightly rate charge (Included in the price)"/>
                    <feature text="Available: Water bottle"/>
                </features>
                <supplements>
                    <supplement code="SYS_SUPP_21@19" name="Nightly rate charge" quantity="1" max_quantity="1" type="int" prepaid="true" compulsory="true">
                        <prices_per_unit/>
                    </supplement>
                    <supplement code="SYS_SUPP_24@20" name="Water bottle" quantity="0" max_quantity="5" type="int" prepaid="true" compulsory="false">
                        <prices_per_unit>
                            <nett amount="2.5" currency="EUR"/>
                            <gross amount="2.5" currency="EUR"/>
                        </prices_per_unit>
                    </supplement>
                </supplements>
                <remarks>
                    <remark text="Driver's gratuity is included in the price"/>
                </remarks>
            </agreement>
            <agreement code="0xgb.4980.NzllZDQ3" available="true" typology="PRIVATE" category="Economy" vehicle="MPV" luggage="2" deadline="2024-02-11 12:30:00" photo_url="https://static-beta.staging.com/images/vehicles/economy_mpv.png">
                <prices>
                    <nett amount="122" currency="EUR"/>
                    <gross amount="122" currency="EUR"/>
                </prices>
                <cancellation_policies>
                    <policy from="2024-02-11 12:30:00" percentage="100"/>
                </cancellation_policies>
                <additional_info>
                    <driver_waiting_time value="15"/>
                    <driver_waiting_time_international value="15"/>
                    <transfer_duration value="18"/>
                </additional_info>
                <vehicle description="Seats: 4, Luggage: 4, Car type: VW Touran">
                    <example_vehicle value="VW Touran"/>
                    <max_luggages value="4"/>
                    <seats value="4"/>
                </vehicle>
                <features>
                    <feature text="Tolls are included in the price"/>
                    <feature text="Gratuity included in the price"/>
                    <feature text="Available children seat of categoryII/III: 15 - 36 kg"/>
                </features>
                <supplements>
                    <supplement code="children_seat_1" name="First child seat required" description="II/III: 15 - 36 kg" quantity="0" max_quantity="1" type="choice" prepaid="false" compulsory="false">
                        <choices>
                            <choice value="II: 15 - 25 kg"/>
                            <choice value="III: 22 - 36 kg"/>
                        </choices>
                        <prices_per_unit/>
                    </supplement>
                    <supplement code="animals" name="Animals to be transported" quantity="0" max_quantity="4" type="int" prepaid="false" compulsory="false">
                        <prices_per_unit>
                            <nett amount="0" currency="EUR"/>
                            <gross amount="0" currency="EUR"/>
                        </prices_per_unit>
                    </supplement>
                    <supplement code="extra_hours" name="Per-hour booking duration" quantity="0" max_quantity="24" type="int" prepaid="false" compulsory="false">
                        <prices_per_unit/>
                    </supplement>
                </supplements>
                <remarks>
                    <remark text="Please note - the following supplements are subject to availability and therefore not guaranteed: First child seat required"/>
                </remarks>
            </agreement>
        </agreements>
    </response>
</envelope>

Response fields:

paxes, luggages, outbound, pickup and dropoff are "echo" fields. They contains the data we parsed from your availability request.

search@number is a unique id of your availability search. You should treat it as a string and do not assume any maximum lenght. You'll need this ID to proceed with availability/booking flow.

Every response/agreements/agreement is an available solution for your request and contains all the info as described below:

  • @code: unique agreement code
  • @available: if true, agreement is immediately available. If false, the service is on request
  • @typology: service typology (i.e. private or shared)
  • @category: service category (i.e. standard, economy, luxury...)
  • @vehicle: brief description of the vehicle type (i.e. standard car, sedan, mini van...)
  • @luggage: number of allowed luggages
  • @deadline: dealine date for cancellation without penalties
  • @photo_url: picture URL
  • prices:
    • nett:
      • @amount: nett amount
      • @currency: nett currency
    • gross
      • @amount: gross amount (=nett amount + client markup)
      • @currency: gross currency
  • cancellation_policies (optional):
    • policy:
      • @from: date in format "YYYY-mm-dd H:i:s"
      • @percentage: number
  • vehicle (optional): contains info about vehicle. The attribute "description" contains a summarized version of the info inside the children tags. ALL the cildren tags are optional.
    • doors@value: number of doors
    • luggage_dimensions@value: maxumum allowed size for each luggage
    • max_luggages@value: maximum number of luggages
    • max_passengers@value: maximum number of passengers for the vehicle
    • min_passengers@value: minumum number of passengers for the vehicle
    • seats@value: number of seats
    • example_vehicle@value: example vehicle(s) the traveller should expect
  • features (optional): contains additional information about the service
    • feature@text: additional information about the service
  • remarks (optional): contains additional information about the service that should be shown to the customer. May contain useful info like inclusions/exclusions details, pickup/dropoff details and so on
    • remark@text: additional information about the service
  • supplements (optional): list of available supplements
    • supplement: supplement node
      • @code: supplement code
      • @name: supplement name
      • @quantity: supplement requested quantity
      • @max_quantity: supplement max requestable quantity
      • @type: supplement type (could be: int, string, date, choice).
      • @prepaid: if true, the price of the supplement is already included in the total
      • @compulsory: if true, the supplement cannot be removed (it could be, as an example, a compulsory nightly overcharge)
      • choices: only present if supplement@type is choice
        • choice@value: allowed values for this supplement
      • prices_per_unit: BE AWARE this node can be empty! If so, you'll get the prices in detailed availability if you select this supplement. Empty price node does not means the supplement is free! Supplements price are always PER UNIT.
        • nett:
          • @amount: nett supplement amount (each)
          • @currency: nett supplement currency
        • gross
          • @amount: gross supplement amount (each)
          • @currency: gross supplement currency