Skip to main content
The OTA_ResRetrieveRS (Reservation Retrieve Response) returns either a list of booking references or full booking details in response to an OTA_ReadRQ, depending on the request parameters. It can also include optional enrichments such as item statuses, cancellation rules, and per‑passenger rate breakdowns.

Purpose

  • Search bookings (list) — When the request uses ReturnListIndicator="true", the response returns only identifiers and status for each booking that matches the selection criteria.
  • Retrieve booking details — When the request uses ReturnListIndicator="false" and specifies a booking reference in UniqueID, the response returns the reservation details (hotel, transfers, excursions) for those bookings.

Structure – Root Element

<OTA_ResRetrieveRS xmlns="http://www.opentravel.org/OTA/2003/05">
Notes
  • The message may include <Success/> or <Warnings/> / <Errors/> according to outcome.
  • Payload content is returned inside ReservationsList.

Structure – Core Elements

ReservationsList

Container for one or more retrieved reservations.

HotelReservation (Summary List)

Returned when searching with ReturnListIndicator="true".
  • ResStatus — Current reservation status (e.g., Reserved, Cancelled).
  • Two UniqueID elements are expected per item:
    • Internal booking reference (ID_Context="Internal").
    • Client booking reference (ID_Context="Client").
  • Client code can be provided via CompanyName Code under the client UniqueID.

HotelReservation (Detailed)

Returned when retrieving details with ReturnListIndicator="false".
  • Follows the HotelReservationType structure (same as OTA_HotelResRS).
  • When requested via enrichment flags in OTA_ReadRQ.Instance, the response may include:
    • Item status for cancelled items (visible in the reservation content).
    • Cancellation policies / cancellation costs for active or cancelled items.
    • Per‑passenger rate breakdown (codes defined by the distributor; returned in extensions).

Examples

<OTA_ResRetrieveRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2008.1" EchoToken="1">
  <Success/>
  <ReservationsList>
    <HotelReservation ResStatus="Reserved">
      <UniqueID Type="36" ID="12345" ID_Context="Internal"/>
      <UniqueID Type="36" ID="TST1-001" ID_Context="Client">
        <CompanyName Code="TST1"/>
      </UniqueID>
    </HotelReservation>
    <HotelReservation ResStatus="Cancelled">
      <UniqueID Type="36" ID="12347" ID_Context="Internal"/>
      <UniqueID Type="36" ID="TST1-003" ID_Context="Client">
        <CompanyName Code="TST1"/>
      </UniqueID>
    </HotelReservation>
  </ReservationsList>
</OTA_ResRetrieveRS>

Common Use Cases

  • Booking list response — Minimal identifiers for all bookings matching SelectionCriteria and date filters from the request.
  • Booking details response — Full reservation content for specific UniqueID(s).
  • Enriched details — Include item statuses, cancellation rules, and per‑passenger price breakdowns when the request specifies appropriate Instance flags.

Best Practices

  1. Use EchoToken to correlate response to the originating request.
  2. Honor ResStatus in list responses; do not infer cancel status from missing items.
  3. When PrimaryLangID is set in the request, descriptions in the response (room/board) are returned in indicated language when available; otherwise default to English.
  4. If requesting enrichments, be prepared to process cancellation rules and per‑pax price breakdowns returned under extensions.