Detailed availability search

Product: activity
Type: detailed_availability

Detailed availability search allows the client to obtain updated and detailed data about the selected agreement.

Request

Request fields:

  • search
    • @number: search number from previous availability search
  • agreement
    • @code: selected agreement code from previous availability search
  • additional_required_info (required if additional_required_info is returned in the availability search)
    • required_info
      • @name: required info name as returned in availability search
      • @value: input value from your client in the correct format as requested by the @type attribute and considering any suggested values (if avaialable)

Request example:

<envelope>
    <header>
        <actor>exampleactor</actor>
        <user>exampleuser</user>
        <password>*****</password>
        <version>1.7.0</version>
        <timestamp>20260512150641</timestamp>
    </header>
    <query type="detailed_availability" product="activity">
        <search number="activities.avl6a2bf9ea7090f"/>
        <agreement code="0x0e8.E-E10-A0BCNO0033-33834358#TOUR.ODQxZGE5"/>
        <additional_required_info>
            <required_info name="start_time" value="11:00"/>
        </additional_required_info>
    </query>
</envelope>
Response

Response example:

<envelope>
    <header>
        <version port="22222" host="example.netstorming.net">1.7.0</version>
        <timestamp>20260603150441</timestamp>
    </header>
    <response type="detailed_availability" product="activity">
        <search number="activities.avl6a2bf9ea7090f" time_search="0.564" time_xml="0.002"/>
        <start_date date="2026-06-25"/>
        <paxes required="1" optional="3" leader_phone_required="false" leader_email_required="false"/>
        <additional_fields>
            <additional_field code="start_time" name="starting time" description="" type="string" max_length="5" compulsory="true"/>
        </additional_fields>
        <agreement code="0x0e8.E-E10-A0BCNO0033-33834358#TOUR.ODQxZGE5" available="true" bookable="true" private="false" deadline="2026-06-21 00:00:00">
            <calendars>
               ...
            </calendars>
            <activity_info>
               ...
            </activity_info>
            <prices>
                <nett amount="1113" currency="USD"/>
                <gross amount="1115" currency="USD"/>
            </prices>
            <cancellation_policies>
                <policy from="2026-06-21 00:00:00" percentage="100"/>
            </cancellation_policies>
            <remarks/>
        </agreement>
    </response>
</envelope>

Response fields:

search and start_date contains the same data the of the first availability search.

Refer to availabiliy search response for details about agreement content.

  • paxes
    • @required: number of required paxes data
    • @optional: number of optional paxes data
    • @leader_phone_required: if true it is mandatory to provide traveller's phone number
    • @leader_email_required: if true it is mandatory to provide traveller's email address
    • @leader_country_required: if true it is mandatory to provide traveller's pax nationality. Pax nationality must be a ISO 3166-1 alpha-2 country code

Even though some passenger data can be classified under @optional, you must account for every single participant. The total number of physical passengers must match the sum of @required and @optional paxes. For each passenger counted here, a corresponding data structure must be provided. If a passenger is an adult, you can omit the optional child-specific attributes. However, please note that if the passenger is a child, the ages attribute becomes strictly mandatory.

  • additional_fields
    • additional_field
      • @code: additional field code
      • @name: additional field name
      • @description: brief description of required data
      • @type: additional field type. Could be string, int, bool, date (YYYY-mm-dd), time (HH:ii), datetime (YYYY-mm-dd HH:ii:ss), choice.
      • @compulsory: if true, this value is mandatory for booking
      • choices: only present if additional_field@type is choice
        • choice@value: allowed values for this additional_field