Allocated Room and Hotel Guest Information
Hotel:BookingGuestInformation
Implementation by Provider
See Implemented Transactions for provider functionality specific to each transaction.
Provider |
Implementation |
---|---|
Galileo (1G) | Galileo does not support guest information using the BookingGuestInformation element. See Exceptions in Implemented Transactions. |
Apollo (1V) | Apollo does not support guest information using the BookingGuestInformation element. See Exceptions in Implemented Transactions for details. |
Worldspan (1P) | Worldspan does not support guest information using the BookingGuestInformation element. See Exceptions in Implemented Transactions for details. |
Request
As with other hotel modifiers, the same guest and room data should be added in Booking Guest Information for the entire shopping and booking process in Hotel Search, Hotel Rate and Rule Search, and Hotel Booking.
Request Data
Element/Attribute | Description |
---|---|
BookingGuestInformation |
Required. Supports searching and booking one or more hotel rooms and allows Adult and Child guests to be allocated in specific room combinations. |
/Room |
Required. An individual room in a single or multiple room request. Each occurrence of the Room element correlates to an individual room in the request:
|
/Room/Adults |
Required. Each occurrence of an Adults child element in a Room element indicates an adult guest allocated to that room. For each Adults element in the booking, a corresponding Room/BookingTravelerRef element is required in the Hotel Booking request. The age of an Adult, as defined by an aggregator or supplier, may vary. If there is a discrepancy between the requested traveler type or the guest and the traveler type supported by the aggregator, this difference is indicated in the Hotel Booking response in the AdaptedGuestRoomAllocation element. |
/BookingTravelerRef |
Required. Used only in Hotel Booking (HotelCreateReservationReq). A unique reference key for each adult guest. A reference key must be added for each adult guest present in the booking request. The same reference key must also be included in BookingTraveler @Key. There must be the same number of BookingTravelerRef occurrences as there are number of adults in the booking. |
/Child |
Optional. Required if children are in the booking. A child guest allocated to the room. Each occurrence of the Child element correlates to a child guest in the parent Room node. Zero to six occurrences are supported by Universal API. However, the maximum may vary by aggregator or supplier (hotel property). Because a maximum of 10 guests are supported per room with a maximum of six children per room. If a maximum of six children are allocated to the room, then a maximum of four adults can also be added to the room. |
/Child @Age |
Child @Age
If there is a discrepancy between in the requested traveler type or the guest and the traveler type supported by the aggregator, this difference is indicated in the Hotel Booking response in the AdaptedGuestRoomAllocation element. |
/Child @BookingTravelerRef |
Required. Used only in Hotel Booking (HotelCreateReservationReq). A reference key must be added for each adult and child guest present in the booking request. The same reference key must also be included in BookingTraveler @Key. |
Response
The following attributes are returned if available from the aggregator.
Implemented Transactions
BookingGuestInformation is implemented in HotelSearchAvailabiltyReq, HotelDetailsReq, HotelCreateReservationReq, and HotelCreateReservationRsp.

HotelReqRsp.xsd
HotelSearchAvailablityReq/HotelSearchModifiers/BookingGuestInformation
HotelSearchAvailablityAsynchReq/HotelSearchModifiers/BookingGuestInformation
In a Hotel Search request, BookingGuestInformation is required.
Notes:
- The Hotel Search request can be skipped if identifiers for a specific property are already known. In this case, a Stand-Alone Rate and Rule Search request can be made using HotelDetailsReq to specify the property.
- Asynchronous Hotel Searches (HotelSearchAvailabilityAsynch) technically support multiple rooms. However, because the Asynchronous Hotel Search request is only used for aggregated search with multiple providers, it conflicts with the current multi-rooms requirement for non-aggregated searches.

Condition | Error or Warning Message |
---|---|
If an unaggregated GDS provider request (1G, 1V, or 1P) sends data in BookingGuestInformation, an error is returned. | For GDS providers (1G, 1V, and 1P) , use @NumberOfAdults, @NumberOfRooms, and <NumberOfChildren> instead of <BookingGuestInformation>. |
If more than nine instances of the Room element are sent in a request, a warning is returned. | A maximum of nine rooms can be searched and booked. Only the first nine rooms in the request have been processed. |
If the request includes a total number of guests (adults and children) that is greater than 10, an error is returned. Or, if the total number of guests includes more than 9 adults or more than 6 children, an error is returned. | The total number of guests (adults and children) cannot be more than 10 for each room. The maximum number of guests supported may vary by aggregator or supplier. |
If a request includes more than 9 adult guests, an error is returned. | Incorrect number of adults in the request. |
If a request includes more than 6 children in one room, an error is returned. | Incorrect number of children in one room. Total number of children cannot be more than 6 in one room. |
If a request is missing an Age attribute for the corresponding Child element, an error is returned. | The child age is between “0” and “17”. Infants are “0”. |
If Child @Age contains an invalid value or is empty, and error is returned. |
The child age is between “0” and “17”. Infants are “0”. |
Exceptions
Galileo (1G), Apollo (1V), and Worldspan (1P)
Guest information continues to be sent in HotelSearchModifiers @NumberOfAdults, @NumberOfRooms, and /NumberOfChildren. See Hotel Search by Number of Rooms and Hotel Search by Number of Travelers for details.

HotelReqRsp.xsd
HotelDetailsReq/HotelDetailsModifiers/BookingGuestInformation
In addition to the minimum requirements for a Hotel Rate and Rule Search, the Loyalty Program information can be included by adding program information hotel chain and loyalty card information in the LoyaltyCard element.
Using HotelDetailsReq, loyalty card functionality is supported for both full Hotel Rate and Rule Search (and Hotel Rate and Rule Search for Rate Plans Only, but is not supported for Hotel Description, which does not return rate information.

- If @RateRuleDetail=“Complete”, a full Hotel Rate and Rule Search response is returned with availability, rates, and descriptive data.
- If @RateRuleDetail=“None” or is empty, a Hotel Description response is returned with only descriptive information, and no availability or rate information.
- If @RateRuleDetail=“RatePlansOnly”, an abridged Hotel Rate and Rule Search for Rate Plans Only response is returned with only availability and rates, but no descriptive data.
Exceptions
Galileo (1G), Apollo (1V), and Worldspan (1P)
Guest information continues to be sent in HoteDetailsModifiersModifiers @NumberOfAdults, @NumberOfRooms, and /NumberOfChildren. See for details.

HotelReqRsp.xsd
HotelCreateReservationReq/BookingGuestInformation
HotelCreateReservationRsp/UniversalRecord/HotelReservation/BookingGuestInformation
In addition to the minimum requirements for a Hotel Rate and Rule Search, the Loyalty Program information can be included by adding program information hotel chain and loyalty card information in the LoyaltyCard element.
Exceptions
Galileo (1G), Apollo (1V), and Worldspan (1P)
Guest information continues to be sent in GuestInformation. See Hotel Booking with Guest Information for details.