Reservation Notification

The Hooroo API will post a reservation notification message to notify to Channel Managers of reservations made on the Hooroo booking channel. The Hooroo API will expect a message response as a synchronous operation.

While the reservation request structure (and the OTA spec) allows for multiple room types and rate plans, a reservation will only contain a single room type and offer. Where a customer has booked multiple rooms, the RoomType.NumberOfUnits will reflect the quantity of rooms booked, however this will always be for a quantity of a single room type and offer.

The Rates in this message are net rates, Hooroo's commission has already been removed.

The Hooroo API expects that Channel Managers will provide an HTTP endpoint that can receive the notification request as an XML payload.

Differences from the OTA specification

Request Fields

FieldRequiredNotes
ResStatusYAlways "Book"
CreateDateTimeYTime stamp of the creation.
RoomStayReservationYAlway true.
CreatorIDYIdentifies Hooroo as the creator of the message
IDYUnique booking reservation identifier create by the Hooroo Extranet
RoomTypeCodeYThe room type code as identified by the Hooroo Extranet
NumberOfUnitsYThe number of rooms booked for the reservation.
RoomDescriptionNThe room type description as identified by the Hooroo Extranet
RatePlanCodeYCode identifying the offer for which the reservation was made
RatePlanDescriptionYDescription of the offer
RoomRate EffectiveDateYStart date (i.e. check-in date) of the reservation
RoomRate ExpireDateYEnd date (i.e. check-out date) of the reservation
Base AmountAfterTaxYThen base rate amount including taxes for a rate applied to the reservation. This will be repeated for each rate applied to the reservation
AdditionalGuestAmountNThe rate charged for additional guests. Separate elements will be included for each age code, for instance adult or child
TimespanYThe checkin and check out dates for the entire length of the booking duration
Total AmountAfterTaxYThe total reservation amount including taxes
GuestCountYThe number of guests appearing in the reservation. A separate element is included for Adult, Child or Infant
ResGuestYPersonal details of the guest making the reservation.
SupplierRemittanceNDetails of the Virtual Credit Card created to pay the supplier for the reservation.

Request

Reservation requests will be posted to the channel manager's configured endpoint URL, for instance:

POST https://api.hotelchannelmanager.com.au/hooroo

Body:

Expected Responses

Channel Managers should return a response to a reservation notification message as follows. Hooroo will store the UniqueID and HotelReservationID values provided for correlation purposes, however the values they contain can be defined by the sender. As some properties will be able to provide a PmsConfirmNumber, the ResGlobalInfo element is optional.

Success

Reservations successfully received and confirmed:

HTTP Status Code: 200 OK

Body:

Reservations successfully received with warnings:

HTTP Status Code: 200 OK

Body:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResNotifRS TimeStamp="2011-06-16T00:19:28+08:00" xmlns="http://www.opentravel.org/OTA/2003/05">
  <Warnings>
    <Warning Type="1">Error [OTA_HotelResNotifRS::makeBooking(): Could not find mapping for RatePlanCode: "1234" with incoming booking "13353455".]</Warning>
  </Warnings>
</OTA_HotelResNotifRS>

Failure

HTTP status code 400 Bad Request (client error)
HTTP status code 500 Internal Server Error (server error)

Body:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2011-06-26T15:47:42+08:00">
  <Errors>
    <Error Type="12" ShortText="Error text."/>
  </Errors>
</OTA_HotelResNotifRS>