# Request message format

<table data-header-hidden><thead><tr><th valign="top">Element Path</th><th>Attribute</th><th>Occ</th><th>Type</th><th>Notes</th></tr></thead><tbody><tr><td valign="top"><p> </p><p>HotelML/Head/Process</p></td><td> </td><td><p> </p><p>1</p></td><td> </td><td> </td></tr><tr><td valign="top"> </td><td><p> </p><p>DataPath</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Char</p></td><td><p> </p><p>Set to "/HotelML/Form/PropertyInformation”</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>Function</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Char</p></td><td><p> </p><p>Set to “TI_PropertyInformationV1_1”</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>Token</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Char</p></td><td><p> </p><p>Unique ID for the transaction generated by the system sending the transaction.</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Head/Route</p></td><td> </td><td><p> </p><p>1</p></td><td> </td><td> </td></tr><tr><td valign="top"> </td><td><p> </p><p>Source</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Char 2-3</p></td><td><p> </p><p>Identifies the organization sending the transaction. The value to use will be provided during the implementation project.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>Destination</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Char 2</p></td><td><p> </p><p>Always set to “00” (i.e. zero zero).</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation/ Property</p></td><td> </td><td><p> </p><p>1</p></td><td> </td><td> </td></tr><tr><td valign="top"> </td><td><p> </p><p>PropertyCode</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Char</p></td><td><p> </p><p>Chain and property code, separated by a semi-colon – e.g. “UI;AB1234”</p></td></tr><tr><td valign="top"> </td><td>CityCode</td><td>0..1</td><td>Char</td><td>Property’s city code.  Not normally required.<br>(*Only Applicable for “Enhanced_V2”)</td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation/ Property/Locale</p></td><td> </td><td><p> </p><p>0..1</p></td><td> </td><td><p> </p><p>This is used to request the response in a specific language.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>Language</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Char 2</p></td><td><p> </p><p>Language code – e.g. “FR”</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>Country</p></td><td><p> </p><p>0..1</p></td><td><p> </p><p>Char</p></td><td><p> </p><p>Optional country name – e.g. “France”.</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation/ PropertyRate</p></td><td> </td><td><p> </p><p>1</p></td><td> </td><td><p> </p><p>Specifies rate selection criteria.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>  VersionCompliance</p></td><td><p> </p><p>  0..1</p></td><td><p> </p><p>  Enum</p></td><td><p> </p><p>  Must be set to “Enhanced_V1” for enhanced rate rule features.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>NumberOfAdults</p></td><td><p> </p><p>0..1</p></td><td><p> </p><p>Integer</p></td><td><p> </p><p>Number of adults per room.  This attribute is deprecated.  Should use GuestCount element instead (when using the Enhanced_V1 version).</p><p>If this is missing, Guest Count with Type=”Adult” is required.</p><p> </p></td></tr><tr><td valign="top"> </td><td><p> </p><p>NumberOfChildren</p></td><td><p> </p><p>0..1</p></td><td><p> </p><p>Integer</p></td><td><p> </p><p>Number of children per room.  This attribute is deprecated.  Should use GuestCount element instead.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>NumberOfRooms</p></td><td><p> </p><p>1</p></td><td><p> </p><p>Integer</p></td><td><p> </p><p>Total number of rooms required, which is used when checking availability. The prices in the response will be per room.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>NumberOfBeds</p></td><td><p> </p><p>0..1</p></td><td><p> </p><p>Integer</p></td><td><p> </p><p>Preferred number of beds per room</p></td></tr><tr><td valign="top"><p> </p><p>  HotelML/Form/PropertyInformation/</p><p>  PropertyRate/GuestCount</p></td><td> </td><td><p> </p><p>0..M</p></td><td> </td><td><p> </p><p>This element specifies the number of adults and children (optionally including child counts by age).</p><p> </p><p>GuestCount must occur once (and only once) with Type=”Adult”.</p><p> </p><p>It can also occur once with Type=”Child” if no Age attribute is supplied. Alternatively, it can multiple times for Type=”Child” when an Age attribute is specified.</p><p> </p><p>  It should be used instead of the NumberOfAdults and NumberOfChildren</p><p>  attributes of PropertyRate because it allows the age of each child to be</p><p>  specified.</p><p> </p><p>  This element is an enhanced rate rule feature, and VersionCompliance must</p><p>  be set to “Enhanced_V1” for this to be used in the request.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>  Type</p></td><td><p> </p><p>  1</p></td><td><p> </p><p>  Enum</p></td><td><p> </p><p>  Values “Adult” or “Child”</p><p> </p><p>  This attribute is an enhanced rate rule feature, and VersionCompliance must</p><p>  be set to “Enhanced_V1” for this to be used in the request.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>  Count</p></td><td><p> </p><p>  1</p></td><td><p> </p><p>  Integer</p></td><td><p> </p><p>  Number of guests of this type</p><p> </p><p>  This attribute is an enhanced rate rule feature, and VersionCompliance must</p><p>  be set to “Enhanced_V1” for this to be used in the request.</p></td></tr><tr><td valign="top"> </td><td><p> </p><p>  Age</p></td><td><p> </p><p>  0..1</p></td><td><p> </p><p>  Integer</p></td><td><p> </p><p>  The optional age of the guest. Only applicable when Type=”Child”.</p><p> </p><p>  This attribute is an enhanced rate rule feature, and VersionCompliance must</p><p>  be set to “Enhanced_V1” for this to be used in the request.</p></td></tr><tr><td valign="top">HotelML/Form/PropertyInformation/ PropertyRate/ExtraBed</td><td> </td><td>  0..2</td><td> </td><td><p>  This element is an enhanced rate rule feature, and VersionCompliance must</p><p>  be set to “Enhanced_V1” for this to be used in the request.</p></td></tr><tr><td valign="top"> </td><td>  Number</td><td>  0..2</td><td>  Integer</td><td><p>  Number of extra beds</p><p> </p><p>  This attribute is an enhanced rate rule feature, and VersionCompliance must</p><p>  be set to “Enhanced_V1” for this to be used in the request.</p></td></tr><tr><td valign="top"> </td><td>  Type</td><td>  0..2</td><td>  Enum</td><td><p>Type of extra bed required. Valid values are:</p><p>  AdultRollAway, ChildRollAway, Crib</p><p> </p><p>  This attribute is an enhanced rate rule feature, and VersionCompliance must</p><p>  be set to “Enhanced_V1” for this to be used in the request.</p></td></tr></tbody></table>

<br>

&#x20;

&#x20;

<table data-header-hidden><thead><tr><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th><th valign="top"></th></tr></thead><tbody><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation/ PropertyRate/AgentInfo</p></td><td valign="top"> </td><td valign="top"><p> </p><p>0..1</p></td><td valign="top"> </td><td valign="top"> </td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>Number</p></td><td valign="top"><p> </p><p>1</p></td><td valign="top"><p> </p><p>Char 8</p></td><td valign="top"><p> </p><p>Travel agent identifier – often the IATA number.</p></td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>Type</p></td><td valign="top"><p> </p><p>1</p></td><td valign="top"><p> </p><p>Enum.</p></td><td valign="top"><p> </p><p>Identifies the type of travel agent identifier. Values are: “ARC” , “IATA”, “TIDS”, “CLIA”, “AAA”, “GDS”, “Other”.</p></td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>City</p></td><td valign="top"><p> </p><p>0..1</p></td><td valign="top"><p> </p><p>Char 3</p></td><td valign="top"><p> </p><p>Originating Agent’s City. Not normally required.</p></td></tr><tr><td valign="top"> </td><td valign="top">PseudoCityCode</td><td valign="top">0..1</td><td valign="top">Char 1-6</td><td valign="top">Agent’s Pseudo City Code.  Not normally required<br>(*Only Applicable for “Enhanced_V2”)</td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>Country</p></td><td valign="top"><p> </p><p>0..1</p></td><td valign="top"><p> </p><p>Char 2</p></td><td valign="top"><p> </p><p>Originating Agent’s Country Code (ISO Standard Codes). Not normally required.</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation/ PropertyRate/RatePlan</p></td><td valign="top"> </td><td valign="top"><p> </p><p>1</p></td><td valign="top"> </td><td valign="top"> </td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>Code</p></td><td valign="top"><p> </p><p>1</p></td><td valign="top"> </td><td valign="top"><p> </p><p>Rate plan code</p></td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>InDate</p></td><td valign="top"><p> </p><p>1</p></td><td valign="top"><p> </p><p>Date</p></td><td valign="top"><p> </p><p>The arrival date in format “2011-12-24”</p></td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>OutDate</p></td><td valign="top"><p> </p><p>1</p></td><td valign="top"><p> </p><p>Date</p></td><td valign="top"><p> </p><p>The departure date in format “2011-12-27”</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation/ PropertyRate/RatePlan/AutoInfo</p></td><td valign="top"><p> </p><p>Code</p></td><td valign="top"><p> </p><p>0..5</p></td><td valign="top"><p> </p><p>Char 25</p></td><td valign="top"><p> </p><p>Auto Frequent Traveler Number</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation</p><p>/PropertyRate/RatePlan/CorpInfo</p></td><td valign="top"><p> </p><p>Code</p></td><td valign="top"><p> </p><p>0..1</p></td><td valign="top"><p> </p><p>Char 25</p></td><td valign="top"><p> </p><p>Corporate Account Number.</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation</p><p>/PropertyRate/RatePlan/FlyerInfo</p></td><td valign="top"><p> </p><p>Code</p></td><td valign="top"><p> </p><p>0..5</p></td><td valign="top"><p> </p><p>Char 25</p></td><td valign="top"><p> </p><p>Frequent Flyer Number</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation</p><p>/PropertyRate/RatePlan/FreqGuest</p></td><td valign="top"><p> </p><p>Code</p></td><td valign="top"><p> </p><p>0..1</p></td><td valign="top"><p> </p><p>Char 25</p></td><td valign="top"><p> </p><p>Frequent Guest Number</p></td></tr><tr><td valign="top"><p> </p><p>HotelML/Form/PropertyInformation/ PropertyRate/RatePlan/RoomType</p></td><td valign="top"> </td><td valign="top"><p> </p><p>1</p></td><td valign="top"> </td><td valign="top"> </td></tr><tr><td valign="top"> </td><td valign="top"><p> </p><p>Code</p></td><td valign="top"><p> </p><p>1</p></td><td valign="top"><p> </p><p>Char 10</p></td><td valign="top"><p> </p><p>Room type code</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/rate-rules/request-message-format.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.
