Confirm Reservation
The OTA_NotifReportRQ message is sent by the PMS to PmsXchange in order to confirm the delivery of one of more reservations, modifications or cancellations. If a reservation, modification or cancellation is not confirmed as delivered, it will continue to be delivered to the PMS in response to the OTA_ReadRQ message. Please note that confirming the delivery of a reservation does not necessarily mean that the reservation was successfully created in the PMS. The OTA_NotifReportRQ message allows for confirming a delivery which was erroneous.
NOTE: pmsXchange will automatically 'Error' (fail) any reservation that meets the following criteria:
- Delivery attempts: 20 (Has been requested (OTA_ReadRQ) at least 20 times, with no valid OTA_NotifReportRQ returned from requesting PMS.)
- Timeout with no delivery attempts: 14 days
- Timeout with at least 1 delivery attempt: 1 hour (starting from the time of the first delivery attempt)
IMPORTANT: The above-mentioned functionality is a fail-safe feature, we expect to always receive either a 'Success' or 'Error' OTA_NotifReportRQ. This failsafe mechanism cannot be relied upon to fail reservations when they cannot be processed.
OTA_NotifReportRQ
Note that a OTA_NotifReportRQ must contain either a Success or an Errors element. If multiple reservations were processed and both a success and an error message need to be returned then two OTA_NotifReportRQ messages need to be sent. One containing the Success element and IDs for the successfully processed reservations and one containing the Errors and IDs for the reservations that failed to process.
Example of PMS confirming the delivery of a reservation that was processed successfully
- The presence of the <Success/> element indicates that the reservation was created in the PMS
- The UniqueID Type 16 element informs PmsXchange which reservation message is being confirmed
- The HotelReservationID holds the ID of the newly created reservation in the PMS
<OTA_NotifReportRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-08-20T09:29:47+02:00" EchoToken="echo-abc123"> <Success/> <NotifDetails> <HotelNotifReport> <HotelReservations> <HotelReservation CreateDateTime="2024-08-20T09:28:47+02:00" ResStatus="Book"> <UniqueID Type="16" ID="qlmumfgwx85nlkgmtb"/> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="PMS-111333"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </HotelNotifReport> </NotifDetails> </OTA_NotifReportRQ>
<OTA_NotifReportRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-08-20T09:45:47+02:00" EchoToken="echo-abc123"> <Success/> <NotifDetails> <HotelNotifReport> <HotelReservations> <HotelReservation LastModifyDateTime="2024-08-20T09:44:47+02:00" ResStatus="Modify"> <UniqueID Type="16" ID="bxlumfgwx85nlkgmtc"/> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="PMS-111333"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </HotelNotifReport> </NotifDetails> </OTA_NotifReportRQ>
Example of PMS confirming multiple reservations that was processed successfully
- The presence of the <Success/> element indicates that the reservations were created in the PMS
- The UniqueID Type 16 element informs PmsXchange which reservation messages are being confirmed
- The HotelReservationID holds the ID of the newly created reservations in the PMS
<OTA_NotifReportRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-11-30T14:40:04-3:00" EchoToken="abc-123"> <Success/> <NotifDetails> <HotelNotifReport> <HotelReservations> <HotelReservation CreateDateTime="2024-11-30T14:37:11-03:00" ResStatus="Book"> <UniqueID Type="16" ID="qlmumfgwx85nlkgmtb"/> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="PMSResID01"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> <HotelReservation CreateDateTime="2024-11-30T14:37:17-03:00" ResStatus="Book"> <UniqueID Type="16" ID="2frbvhw0e6ho89mkkq"/> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="PMSResID02"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> <HotelReservation CreateDateTime="2024-11-30T14:37:23-03:00" ResStatus="Book"> <UniqueID Type="16" ID="nnlek0hyw6ffbfubej"/> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="PMSResID03"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </HotelReservations> </HotelNotifReport> </NotifDetails> </OTA_NotifReportRQ>
Example of PMS confirming the delivery of a reservation that was NOT processed successfully
- The presence of the <Error/> element indicates that the reservation was not created in the PMS
- The UniqueID Type 16 element informs PmsXchange which reservation is being confirmed
- No HotelReservationID is present if the PMS was unable to save the reservation
<OTA_NotifReportRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-08-20T09:30:47+02:00" EchoToken="echo-abc123"> <Errors> <Error Type="3" Code="402">Invalid room type</Error> </Errors> <NotifDetails> <HotelNotifReport> <HotelReservations> <HotelReservation CreateDateTime="2024-08-20T09:28:00+02:00" ResStatus="Book"> <UniqueID Type="16" ID="txlugfiwx85nlkgmtb"/> </HotelReservation> </HotelReservations> </HotelNotifReport> </NotifDetails> </OTA_NotifReportRQ>
OTA_NotifReportRQ Specification
Node | Number | Description |
---|---|---|
OTA_NotifReportRQ | 1 | Root element |
@Version | 1 | Current Version 1.0 |
@EchoToken | 1 | Globally unique identifier for the request, the value will be returned in the response EchoToken. |
@TimeStamp | 1 | Time of the transaction in xml schema dateTime format. |
OTA_NotifReportRQ / Success | 0..1 | Either Success or Error element present |
OTA_NotifReportRQ / Errors | 0..1 | Contains a list of errors if the reservation, modification or cancellation failed to process. |
Errors / Error | 1..n | Should be at least one node if there is an Errors Node. |
@Type | 1 | Mandatory if Error present. 3: Biz rule (The business rules for the request message were not met) |
@Code | 0..1 | Any code from the OTA code table for 'Error Codes (ERR)' can be used. |
OTA_NotifReportRQ / NotifDetails / HotelNotifReport | 1 | Container for HotelReservations |
HotelNotifReport / HotelReservations / HotelReservation | 1..n | One for each reservation being confirmed |
@CreateDateTime | 0..1 | The time the reservation was created in the PMS. Mandatory if ResStatus is "Book". |
@LastModifyDateTime | 0..1 | The time the reservation was updated in the PMS. Mandatory if ResStatus is Modify or Cancel. |
@ResStatus | 0..1 | Allowed values are "Book", "Modify" or "Cancel" |
HotelReservation / UniqueID | 1 | The identifier of the reservation message as known to PmsXchange |
@Type | 1 | Value of '16' which refers to 'Reference' in the OTA Unique Id Type (UIT) code table |
@ID | 1 | PmsXchange identifier of the reservation. UniqueID of Type 16 from the OTA_ResRetrieveRS |
HotelReservation / ResGlobalInfo | 0..1 | Present if the reservation is part of a successful delivery batch |
HotelReservation / ResGlobalInfo / HotelReservationIDs / HotelReservationID | 1 | Container for the PMS reservation identifier |
@ResID_Type | 1 | Value of '14' which refers to 'Reservation' in the OTA Unique Id Type (UIT) code table |
@ResID_Value | 1 | The identifier of the reservation created by the PMS. This is the reservation ID in the PMS. |
OTA_NotifReportRS
This message is sent to the PMS in response to the OTA_NotifReportRQ message. It confirms the PmsXchange processed the OTA_NotifReportRQ message successfully.
<OTA_NotifReportRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-08-20T09:30:47+02:00" EchoToken="echo-abc123"> <Success/> </OTA_NotifReportRS>
<OTA_NotifReportRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2024-08-20T09:30:47+02:00" EchoToken="echo-abc123"> <Errors> <Error Type="3" Code="385">Could not find Notifications to confirm with notification id='3123456'</Error> </Errors> </OTA_NotifReportRS>
OTA_NotifReportRS Specification
Element | Number | Type |
---|---|---|
OTA_NotifReportRS | 1 | Root element |
@Version | 1 | Current version is 1.0 |
@EchoToken | 1 | Return the EchoToken from the request message. |
@TimeStamp | 1 | Time of the transaction in xml schema dateTime format |
OTA_NotifReportRS / Success | 0..1 | Either Success or Error element present |
OTA_NotifReportRS / Errors | 0..1 | Contains a list of errors if the confirmation failed to process. |
Errors / Error | 1..n | Should be at least one node if there is an Errors Node. |
@Type | 1 | Mandatory if Error present. 3: Biz rule (The business rules for the request message were not met) |
@Code | 0..1 | Any code from the OTA code table for 'Error Codes (ERR)' can be used. |