# Ultradirect transaction sets - XML

The purpose of this document is to provide detailed descriptions of all the transactions and functionality available in UltraDirect. This includes:

&#x20;

Detailed message formats – i.e. a description of all fields (XML elements and attributes) used in the request and response messages. This is particular useful to developers because it supplements the XML message definitions provided in the UltraDirect HotelML XML Schema Definition (XSD) files.

&#x20;

Examples of each request and response message showing the most commonly used functionality

&#x20;

Typical process/transaction flows

&#x20;

A brief summary of the UltraDirect transactions is provided below:

&#x20;

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top">Standard Multi-Availability</td><td valign="top">Returns the availability status, minimum &#x26; maximum rates for a set of properties identified by their property codes</td></tr><tr><td valign="top">Enhanced Shopping</td><td valign="top">Returns detailed information for each available room and rate for a set of properties identified by their property codes</td></tr><tr><td valign="top">Single Property Availability</td><td valign="top">Returns detailed information for each available room and rate for a one property identified by its property code.</td></tr><tr><td valign="top">Rate Rules</td><td valign="top">Returns very detailed information for a specific property, room type and rate. This is typically used to review the rate and policy information prior to booking the room.</td></tr><tr><td valign="top">Pre-Book</td><td valign="top">Re-check price and availability for a specific room type and rateplan immediately prior to making a booking</td></tr><tr><td valign="top">Booking Request</td><td valign="top">Makes a new hotel reservation</td></tr><tr><td valign="top">Modify Booking</td><td valign="top">Makes changes to an existing (confirmed) hotel reservation</td></tr><tr><td valign="top">Cancel Booking</td><td valign="top">Cancels an existing (confirmed) hotel reservation</td></tr><tr><td valign="top">Session Control</td><td valign="top">Used to commit or roll-back a new booking, modification or cancellation transaction. Only required when the distributor chooses to participate in session control.</td></tr><tr><td valign="top">Brand Information</td><td valign="top">Returns basic details of a hotel brand/chain identified by the brand code.</td></tr></tbody></table>

<br>

&#x20;

&#x20;

The definition of the above transactions are grouped together in the following sections of this document:

&#x20;

Rate and availability transactions – this section provides details of all transactions uses to obtain information about available rates and room types for one or more properties. It is unlikely that a single distributor will use all these transactions. Instead, they will normally use a subset of the transactions, which will vary depending on their specific business requirements. Therefore, the first part of this section outlines several usage scenarios relating to typical business requirements.

&#x20;

Booking transactions – this describes the transactions for creating, modifying and cancelling reservations. It also describes how the usage of these messages varies depending on whether the distributor chooses to use the session control functionality (also known as ‘transaction control’ or ‘two-phased commit’).

&#x20;

Reference data transactions – this describes the transactions that are used to retrieve reference data. Currently this is only brand information.

&#x20;

&#x20;

**References**

<table data-header-hidden><thead><tr><th valign="top"></th><th></th></tr></thead><tbody><tr><td valign="top"><p> </p><p>Name                                       Notes</p></td><td></td></tr><tr><td valign="top"><p> </p><p>Hotel Content Database (HCD) XML Content Retrieval Interface Specification</p></td><td><p> </p><p>Describes the OpenTravel XML web service for retrieving hoteldescriptive content from the RateGain HCD.</p></td></tr><tr><td valign="top"><p> </p><p>XML UltraDirect v1.1 Specification</p></td><td><p> </p><p>Provides an overview of UltraDirect, including technical information such as connection options (e.g. HTTP 1.1 with SSL) and errors/warnings etc</p></td></tr><tr><td valign="top"><p> </p><p>XML UltraDirect Error Codes</p></td><td><p> </p><p>Lists the error and warning codes</p></td></tr><tr><td valign="top"><p> </p><p>XML UltraDirect v1.1 Codes</p></td><td><p> </p><p>List codes used by UltraDirect for countries, currencies, credit card types etc</p></td></tr><tr><td valign="top"><p> </p><p>UltraDirect HotelML XML Schema</p><p>Definition Files</p></td><td><p> </p><p>XML Schema Definition (XSD) files for the</p><p>UltraDirect HotelML transactions.</p></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.rategain.com/ultradirect/ultradirect-transaction-sets-xml.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
