> For the complete documentation index, see [llms.txt](https://developer.rategain.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.rategain.com/ultradirect/xml-ultradirect-specifications/overview.md).

# Overview

The XML interface to UltraDirect allows the BSP to:

* Conduct property searches based on a variety of criteria.
* Obtain property information, including general information, availability, and rates.
* Make, modify and cancel reservations.
* Obtain brand and/or amenity information.

**Typical transaction flow**

There are three fundamental classes of transaction

1. Static data transactions
2. Hotel Content Database (HCD) transactions.
3. CRS database transactions.

Each of the transactions depicted below is discussed in more detail in the following subsections.

**Note:** It is important to note that the following transaction flows are intended only to provide an overview of how the XML UltraDirect interface may be used to book a reservation. The actual transaction flow will depend upon the BSP’s implementation of the XML UltraDirect interface.

A **static data transaction** is intended to allow the BSP to obtain typically primarily static information that could easily be persisted in a local database. These transactions are typically conducted before a BSP’s customer needs the information to minimize response time and associated processing. Transaction flows for static data transactions are as follows:

**Static Data Transaction Flow**

<figure><img src="https://3945324883-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp4y5dHVBc6vTCuYBLiHH%2Fuploads%2Fjt9WW1WCU9mHaxMFs0AS%2F413604729.png?alt=media" alt=""><figcaption></figcaption></figure>

An **HCD database transaction** is intended to allow the BSP to obtain aggregated information from the HCD database maintained by RateGain. These transactions are used to discover a property and obtain general information about that property. Transaction flows for HCD database transactions are as follows, where the shaded box denotes the starting point:

**HCD Database Transaction Flow**

<figure><img src="https://3945324883-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp4y5dHVBc6vTCuYBLiHH%2Fuploads%2Fne0xr5Dl7Cz8BAY2Iw0d%2F413604730.png?alt=media" alt=""><figcaption></figcaption></figure>

<br>

A **CRS database transaction** is intended to allow the BSP to access data and functionality in a CRS maintained by and/or for the hotel property. These transactions are used to obtain information from a specific property required to make decisions about booking a reservation. These transactions are also used to make or cancel a reservation. Transaction flows for CRS database transactions are as follows, where the shaded box denotes the starting points:

<br>

<figure><img src="https://3945324883-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fp4y5dHVBc6vTCuYBLiHH%2Fuploads%2FtJnubnEJNmqid8tJDgym%2F413604731.png?alt=media" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developer.rategain.com/ultradirect/xml-ultradirect-specifications/overview.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
