Cancellation XML Sample
Request Cancellations
Cancellations are requested by setting the SelectionCriteria ResStatus="Cancel".
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2005-08-01T09:30:47+08:00" EchoToken="echo-abc123"> <POS> <Source> <RequestorID Type="22" ID="PMS1"/> </Source> </POS> <ReadRequests> <HotelReadRequest HotelCode="ABC"> <SelectionCriteria SelectionType="Undelivered" ResStatus="Cancel"/> </HotelReadRequest> </ReadRequests> </OTA_ReadRQ>
NOTE: The Channel Manager will not process 'Availability' changes for 'Cancel' or 'Modify' status reservations. For modified or cancelled reservations, it is expected that the integrated PMS will pass back 'Availability' changes once the modification or cancellation message has been processed.
Cancellation XML
The cancellation xml structure is mostly identical to a new reservation with the exception of the HotelReservation ResStatus and the presence of the attribute LastModifyDateTime.
<OTA_ResRetrieveRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2005-08-01T09:32:47+08:00" EchoToken="echo-abc123"> <Success/> <ReservationsList> <HotelReservation LastModifyDateTime="2012-09-09T08:51:45" ResStatus="Cancel"> <POS> <Source> <RequestorID Type="22" ID="SITEMINDER"/> <BookingChannel Primary="true" Type="7"> <CompanyName Code="WTF">Wotif</CompanyName> </BookingChannel> </Source> </POS> <UniqueID Type="14" ID="WTF-001"/> <UniqueID Type="16" ID="1243132" ID_Context="MESSAGE_UNIQUE_ID"/> <RoomStays> <RoomStay> <RoomRates> <RoomRate RoomTypeCode="DR" RatePlanCode="RAC" NumberOfUnits="1"> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day" EffectiveDate="2013-03-12" ExpireDate="2013-03-15"> <Total AmountAfterTax="50.00" CurrencyCode="USD"/> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="1"/> </GuestCounts> <TimeSpan Start="2013-03-12" End="2013-03-15"/> <Total AmountAfterTax="150.00" CurrencyCode="USD"/> <BasicPropertyInfo HotelCode="10107"/> <ResGuestRPHs> <ResGuestRPH RPH="1"/> </ResGuestRPHs> </RoomStay> </RoomStays> <ResGuests> <ResGuest ResGuestRPH="1" ArrivalTime="10:30:00"> <Profiles> <ProfileInfo> <UniqueID Type="16" ID="12345" ID_Context="CHANNEL"/> <Profile ProfileType="1"> <Customer> <PersonName> <GivenName>James</GivenName> <Surname>Bond</Surname> </PersonName> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <Total AmountAfterTax="150.00" CurrencyCode="USD"/> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="RES_3243525"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </ReservationsList> </OTA_ResRetrieveRS>
It is possible that a cancellation only contain the unique identifiers of the reservation to be cancelled. This will only happen if the original reservation was not stored in PmsXchange. The receiving PMS can process the cancellation if it contains the original reservation or it can respond with an Error message if the cancellation cannot be processed due to missing information.
<OTA_ResRetrieveRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2005-08-01T09:32:47+08:00" EchoToken="echo-abc123"> <Success/> <ReservationsList> <HotelReservation LastModifyDateTime="2012-09-09T08:51:45" ResStatus="Cancel"> <POS> <Source> <RequestorID Type="22" ID="SITEMINDER"/> <BookingChannel Primary="true" Type="7"> <CompanyName Code="WTF">Wotif</CompanyName> </BookingChannel> </Source> </POS> <UniqueID Type="14" ID="WTF-001"/> <UniqueID Type="16" ID="1243132" ID_Context="MESSAGE_UNIQUE_ID"/> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="RES_3243525"/> </HotelReservationIDs> </ResGlobalInfo> </HotelReservation> </ReservationsList> </OTA_ResRetrieveRS>