> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axisdata.net/llms.txt
> Use this file to discover all available pages before exploring further.

# OTA_GroundBookRS

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`.

<Tip>Use this message to read **final prices** and **booking references** after a quote or commit operation.</Tip>

## 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

```xml theme={null}
<OTA_GroundBookRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2012.2" EchoToken="1234">
```

**Primary children:**  `Reservation`, `TPA_Extensions`.

<Tip>When `<Success/>` is absent, inspect `<Errors>` for diagnostics; multiple `<Error>` items may be returned. [Error Scenarios](../glossary/errors).</Tip>

### 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**.

```xml theme={null}
<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.

```xml theme={null}
<Service>
  <ServiceLevel Code="S0000">Shuttle</ServiceLevel>
  <VehicleType Code="3" Description="Shared"/>
  <RateQualifier PromotionCode="IN/OT" RateQualifier="TRESPMIPMI"/>
</Service>
```

#### ServiceCharges & Total

```xml theme={null}
<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

<Info>
  All amounts in `ServiceCharge` and `Fees` are included in `TotalCharge`. The **final price** is always the value in `TotalCharge`—no hidden or additional fees.
</Info>

* **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.

<Tip>
  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.
</Tip>

#### Extras

Optional/mandatory supplements included in the total.

```xml theme={null}
<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.

```xml theme={null}
<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.

```xml theme={null}
<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

<CodeGroup>
  ```xml Basic expandable theme={null}
  <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>
  ```
</CodeGroup>
