Skip to main content
The OTA_GroundBookRS (Transfer Booking Response) returns the outcome of a quote or commit booking request for ground/transfer services, including final pricing, service details, and references. If the booking cannot be processed, the response omits Success and includes Errors.
Use this message to read final prices and booking references after a quote or commit operation.

Purpose

Get a successful response from the book request (either quote or commit). Recieve confirmation about the booking, meet and greet information, rates and cancellation rules.

Structure – Root Element

<OTA_GroundBookRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2012.2" EchoToken="1234">
Primary children: Reservation, TPA_Extensions.
When <Success/> is absent, inspect <Errors> for diagnostics; multiple <Error> items may be returned. Error Scenarios.

Reservation

Holds the booked/quoted service details, including locations, service, fees, charges and total.

Locations

Pickup/DropOff data required to operate the transfer. For airport legs provide flight number and arrival/departure timestamps; for hotels provide the OTS hotel code.
<Locations>
  <Location RPH="1">
    <Pickup>
      <Address>
        <LocationType Code="11" UniqueId="AMTSES0000"/>
      </Address>
    </Pickup>
    <DropOff>
      <Airline FlightNumber="2415" Code="AB"/>
      <AirportInfo>
        <Arrival CodeContext="IATA" LocationCode="PMI" DateTime="2020-07-18T14:00:00"/>
        <Departure CodeContext="IATA" LocationCode="FAO" DateTime="2020-07-18T10:00:00"/>
      </AirportInfo>
    </DropOff>
  </Location>
</Locations>

Service

Confirmed product and pricing key.
<Service>
  <ServiceLevel Code="S0000">Shuttle</ServiceLevel>
  <VehicleType Code="3" Description="Shared"/>
  <RateQualifier PromotionCode="IN/OT" RateQualifier="TRESPMIPMI"/>
</Service>

ServiceCharges & Total

<ServiceCharge Amount="18.00" CurrencyCode="EUR">
  <ChargePurpose Code="35" Description="Base Rate"/>
  <Calculation Quantity="3" UnitName="SERVICE"/>
</ServiceCharge>
<ServiceCharge Amount="18.00" CurrencyCode="EUR">
  <ChargePurpose Code="35" Description="Base Rate"/>
  <Calculation Quantity="3" UnitName="SERVICE"/>
</ServiceCharge>
<TotalCharge RateTotalAmount="36.00" CurrencyCode="EUR"/>
  • ServiceCharge lines provide a detailed breakdown of the calculation for each chargeable item. Each line includes:
    • Amount and CurrencyCode: The value and currency for the charge.
    • ChargePurpose (Code, Description): The reason for the charge (e.g., 35 = Base Rate, 28 = Optional, 3 = Discount, 36 = Mandatory).
    • Calculation (Quantity, UnitName): How the charge was calculated (e.g., per service, per passenger, per unit).
  • TotalCharge: The TotalCharge node provides the final price for the booking, which is the amount used for accountancy and invoicing. This value includes all service charges and extras.
  • Purpose Codes (VCP):
    • 3: Discount
    • 28: Optional
    • 35: Base Rate
    • 36: Mandatory
All amounts in ServiceCharge and Fees are included in TotalCharge. The final price is always the value in TotalCharge—no hidden or additional fees.
  • Example Breakdown:
    • Two ServiceCharge lines may appear if, for example, the base rate is charged per leg or per passenger.
    • Extras such as bicycles or large pets are shown as Fee lines, and their amounts are included in the total.
    • The response structure is consistent for both Quote and Commit.
Always check the ServiceCharge and Fees sections for a full breakdown of what is included in the TotalCharge. This helps with reconciliation and customer transparency.

Extras

Optional/mandatory supplements included in the total.
<Fees>
  <Fee Amount="15.00" CurrencyCode="EUR" Description="Large Pet/IN" IncludeInRate="true"/>
  <Fee Amount="23.00" CurrencyCode="EUR" Description="Bicycle/IN" IncludeInRate="true"/>
</Fees>
  • Fees: All optional or mandatory extras (such as child seats, pets, bicycles) are listed in the Fees section. Each Fee includes:
    • Amount, CurrencyCode, Description, and IncludeInRate (true if already included in TotalCharge).
    • If multiple extras of the same type are requested, they are merged into a single line with the total amount.

Meet and Greet

Language depends on the request’s PrimaryLangID; defaults to English when not available.
<Comments Language="EN">Arrival Instructions:
Once you have collected your luggage, please proceed to the MTS Globe Office desk at the arrivals hall.
Identify yourself by showing your voucher. Our staff will indicate the location of your vehicle.
Do not leave the arrivals hall until you have located our representative or your driver.
Emergency number: (+34) 871 170 555
</Comments>

TPA_Extensions

Master and child references (client and internal) used for post-booking operations.
<TPA_Extensions>
  <!-- Master (client) reference -->
  <UniqueID Type="36" ID_Context="Client" ID="191206094817263"/>

  <!-- Child lines: client + internal references -->
  <UniqueID Type="37" ID_Context="Client"  ID="Transfer_1" Item_RPH="1"/>
  <UniqueID Type="37" ID_Context="Internal" ID="1"           Item_RPH="1"/>
</TPA_Extensions>

Codes & Rules

Cancellation

Cancellation policy is returned in the response for both quote and commit flows. Use the master or child client reference to cancel the entire booking, or a specific child reference for partial cancellations.

Language

Arrival instructions text follows the PrimaryLangID from the original request. If the requested language is unavailable, English is returned by default.

Complete Examples

<OTA_GroundBookRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2012.2" EchoToken="1234">
  <Success/>
  <Reservation>
    <Locations>
      <Location RPH="1">
        <Pickup>
          <Address>
            <LocationType Code="11" UniqueId="AMTSES0000"/>
          </Address>
        </Pickup>
        <DropOff>
          <Airline FlightNumber="2415" Code="AB"/>
          <AirportInfo>
            <Arrival CodeContext="IATA" LocationCode="PMI" DateTime="2020-07-18T14:00:00"/>
            <Departure CodeContext="IATA" LocationCode="FAO" DateTime="2020-07-18T10:00:00"/>
          </AirportInfo>
        </DropOff>
      </Location>
    </Locations>
    <Service>
      <ServiceLevel Code="S0000">Shuttle</ServiceLevel>
      <VehicleType Code="3" Description="Shared"/>
      <RateQualifier PromotionCode="IN/OT" RateQualifier="TRESPMIPMI"/>
    </Service>
    <ServiceCharge Amount="18.00" CurrencyCode="EUR">
      <ChargePurpose Code="35" Description="Base Rate"/>
      <Calculation Quantity="3" UnitName="SERVICE"/>
    </ServiceCharge>
    <ServiceCharge Amount="18.00" CurrencyCode="EUR">
      <ChargePurpose Code="35" Description="Base Rate"/>
      <Calculation Quantity="3" UnitName="SERVICE"/>
    </ServiceCharge>
    <Fees>
      <Fee Amount="15.00" CurrencyCode="EUR" Description="Large Pet/IN" IncludeInRate="true"/>
      <Fee Amount="23.00" CurrencyCode="EUR" Description="Bicycle/IN" IncludeInRate="true"/>
    </Fees>
    <TotalCharge RateTotalAmount="36.00" CurrencyCode="EUR"/>
    <TPA_Extensions>
        <UniqueID Type="36" ID_Context="Client"   ID="191206094817263"/>
        <UniqueID Type="37" ID_Context="Client"   ID="Transfer_1" Item_RPH="1"/>
        <UniqueID Type="37" ID_Context="Internal" ID="1"           Item_RPH="1"/>
    </TPA_Extensions>
    <Comments Language="EN">Arrival Instructions:
Once you have collected your luggage, please proceed to the MTS Globe Office desk at the arrivals hall.
Identify yourself by showing your voucher. Our staff will indicate the location of your vehicle.
Do not leave the arrivals hall until you have located our representative or your driver.
Emergency number: (+34) 871 170 555
    </Comments>
  </Reservation>
</OTA_GroundBookRS>