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.

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="10:30"/>
    </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="10:30"/>
        <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 10: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 10: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/>
                    </supplement>
                    <supplement code="SYS_SUPP_24@20" name="Water bottle" quantity="0" max_quantity="5" type="int" prepaid="true" compulsory="false">
                        <prices>
                            <nett amount="2.5" currency="EUR"/>
                            <gross amount="2.5" currency="EUR"/>
                        </prices>
                    </supplement>
                </supplements>
            </agreement>
            <agreement code="0xgb.4980.NzllZDQ3" available="true" typology="PRIVATE" category="Economy" vehicle="MPV" luggage="2" deadline="2024-02-11 10: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 10: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/>
                    </supplement>
                    <supplement code="animals" name="Animals to be transported" quantity="0" max_quantity="4" type="int" prepaid="false" compulsory="false">
                        <prices>
                            <nett amount="0" currency="EUR"/>
                            <gross amount="0" currency="EUR"/>
                        </prices>
                    </supplement>
                    <supplement code="extra_hours" name="Per-hour booking duration" quantity="0" max_quantity="24" type="int" prepaid="false" compulsory="false">
                        <prices/>
                    </supplement>
                </supplements>
            </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
  • 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: 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!
        • nett:
          • @amount: nett supplement amount
          • @currency: nett supplement currency
        • gross
          • @amount: gross supplement amount
          • @currency: gross supplement currency