Skip to main content
The OTA_GroundAvailRS (Ground Availability Response) returns available ground transfer services in response to an OTA_GroundAvailRQ. Use it to read priced service options, conditions, and any applicable fees or penalties.

Structure – Root Element

<OTA_GroundAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="1912GBEZGBQ9" Version="2016.2">
  ...
</OTA_GroundAvailRS>
Key children: Success | Errors | GroundServices | Warnings (if products are OnRequest).

Success & Errors

  • On success, the message may include an empty <Success/> and populated <GroundServices>.
  • If no suitable services are found, the response returns <Errors> with Code="14" and ShortText="calculation error". Error Scenarios.
<OTA_GroundAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="1912GBEZGBQ9" Version="2016.2">
  <GroundServices/>
  <Errors>
    <Error ShortText="calculation error" Code="14">No suitable services found</Error>
    <Error ShortText="calculation error" Code="14">No suitable services found</Error>
  </Errors>
</OTA_GroundAvailRS>

Structure - Core Elements

GroundServices is a container of one or more GroundService items, each representing a priced transfer option and its rules.

GroundService

ServiceInfo

High‑level details for the service.
  • Attributes: DisabilityVehicleInd (boolean), ServiceType (e.g., AirportTransfer), MaximumPassengers (integer), ShortDescription (string).
  • Children: ServiceLevel (vehicle/contract code), VehicleType (OTA vehicle descriptor).
<ServiceInfo DisabilityVehicleInd="false" ServiceType="AirportTransfer" MaximumPassengers="99" ShortDescription="Airport PMI to Resorts PMI/Shared">
  <ServiceLevel Code="S0000"/>
  <VehicleType Code="3" Description="Bus"/>
</ServiceInfo>

RateQualifier

Shows the transfer stock code and the promotion (IN, OT or both).
<RateQualifier RateQualifier="TRESPMIPMI" PromotionCode="IN/OT"/>

Restrictions

Operational/financial flags at search time.
  • CalculationPenaltyInd="true" indicates cancellations may incur a penalty, specified under PaymentRules.
<Restrictions CalculationPenaltyInd="true"/>

TotalCharge

Total price (currency and amount) for the service option in the search response.
<TotalCharge CurrencyCode="EUR" Amount="45.00"/>

Extras

Optional or mandatory extras available. Use RequiredInd to distinguish if they are mandatory or not:
<Fees>
  <Fee RequiredInd="false" Description="Golf Clubs/IN" IncludedInRate="false" CurrencyCode="EUR" Amount="12.50"/>
</Fees>

PaymentRules

Cancellation rules (RuleType="1" = Cancel). When multiple rules apply, the one nearest to the service start date is used.
<PaymentRules>
  <PaymentRule RuleType="1" Amount="10.00" CurrencyCode="EUR" AbsoluteDeadline="2025-07-06T00:00:00"/>
  <PaymentRule RuleType="1" Amount="20.00" CurrencyCode="EUR" AbsoluteDeadline="2025-07-09T00:00:00"/>
</PaymentRules>

Shuttle (GeoCode Searches)

When the request used GeoCodes, services may include Shuttle/ServiceLocation entries. PickupInd marks direction membership; hotel candidates are sorted by distance from the provided GeoCode. If the distributor is Giata‑licensed, ResourceName can carry the Giata code.
<Shuttle>
  <ServiceLocation PickupInd="true" Sequence="1">
    <Address Latitude="3.12345" Longitude="6.12345" Distance="8">
      <LocationType Code="11" UniqueId="AMTSES1234" ResourceName="54123" DescriptionDetail="Hotel Happy 1"/>
    </Address>
  </ServiceLocation>
  <ServiceLocation PickupInd="true" Sequence="2">
    <Address Latitude="3.12366" Longitude="6.565" Distance="34">
      <LocationType Code="11" UniqueId="AMTSES1235" ResourceName="54163" DescriptionDetail="Hotel Happy 2"/>
    </Address>
  </ServiceLocation>
</Shuttle>

Per‑Resort Searches

If the search is per‑resort, the response may list available hotels under TPA_Extensions/Properties.
<TPA_Extensions>
  <Properties>
    <Property HotelCode="AMTSES0M1C" HotelName="Central Park" HotelCodeContext="35252"/>
    <Property HotelCode="AMTSES2EWO" HotelName="Anibal Hostal" HotelCodeContext="47988"/>
  </Properties>
</TPA_Extensions>

Warnings

When the request asks to include OnRequest products, the response includes warnings noting the service status.
<Warnings>
  <Warning Type="3" Code="507">Service S0000/S0000 is OnRequest</Warning>
  <Warning Type="3" Code="507">Service P0000/P0000 is OnRequest</Warning>
</Warnings>

Complete Examples

<?xml version="1.0" encoding="UTF-8"?>
<OTA_GroundAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2016.2">
  <Success/>
  <GroundServices>
    <GroundService>
      <ServiceInfo DisabilityVehicleInd="false" ServiceType="AirportTransfer" MaximumPassengers="99" ShortDescription="Airport PMI to Resorts PMI/Shared">
        <ServiceLevel Code="S0000"/>
        <VehicleType Code="3" Description="Bus"/>
      </ServiceInfo>
      <TotalCharge Amount="45.00" CurrencyCode="EUR"/>
      <Restrictions CalculationPenaltyInd="true"/>
      <PaymentRules>
        <PaymentRule RuleType="1" Amount="10.00" CurrencyCode="EUR" AbsoluteDeadline="2025-10-16T00:00:00"/>
        <PaymentRule RuleType="1" Amount="20.00" CurrencyCode="EUR" AbsoluteDeadline="2025-10-17T00:00:00"/>
      </PaymentRules>
      <Fees>
        <Fee RequiredInd="false" Description="Golf Clubs/IN" IncludedInRate="false" CurrencyCode="EUR" Amount="12.50"/>
        <Fee RequiredInd="false" Description="Surf Board/OT" IncludedInRate="false" CurrencyCode="EUR" Amount="12.50"/>
      </Fees>
    </GroundService>
  </GroundServices>
</OTA_GroundAvailRS>

Best Practices

  1. Always echo the request token in EchoToken.
  2. Validate totals before booking—TotalCharge is authoritative at search time.
  3. Cancellations: apply the rule with the deadline closest to the service start date.
  4. Extras: treat RequiredInd="true" as mandatory and auto‑include in pricing.