Hotel reservation cancellation
To perform a reservation, an OTA_HotelResRQ request is sent to the CRS with a valut of "Cancel" for the "ResStatus" message attribute. The message contains the necessary IDs to uniquely identifies the reservation.
Request
XSD File : OTA_HotelResRQ.xsd
Request
<?xml version="1.0" encoding="utf-8"?> <OTA_HotelResRQ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="ECHOTOKEN" TimeStamp="2015-09-08T22:16:29.4146822+00:00" Target="Test" Version="1.0" TransactionIdentifier="TRANSACTIONIDENTIFIER" PrimaryLangID="en" AltLangID="en" ResStatus="Cancel" xmlns="http://www.opentravel.org/OTA/2003/05"> <POS> <Source> <RequestorID ID="YOURLOGIN" MessagePassword="YOURPASSWORD" Type="13"/> </Source> </POS> <HotelReservations> <HotelReservation> <POS> <Source> <BookingChannel Type="5"> <CompanyName>YOURCOMPANYNAME</CompanyName> </BookingChannel> </Source> </POS> <ResGlobalInfo> <HotelReservationIDs> <HotelReservationID ResID_Type="14" ResID_Value="YOURRESERVATIONID" ResID_Source="1" ResID_SourceContext="YOURCONTEXT" /> <HotelReservationID ResID_Type="34" ResID_Value="00L55eede856d274" ResID_SourceContext="WHITELABELNAME" /> </HotelReservationIDs> <BasicPropertyInfo HotelCode="HOTELCODE" /> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResRQ>
Details:
Element | Attribute | Description | Required | Repetitive |
---|---|---|---|---|
TransactionIdentifier | This attribute is mandatory and must have the same value in both HotelAvailRQ and HotelResRQ requests for a given transaction | yes | no | |
ResStatus | The status of the reservation, must have the value "Cancel" to perform a reservation cancellation | yes | no | |
HotelReservations | ||||
HotelReservation | ||||
POS | ||||
BookingChannel | The BookingChannel element contains information about the requesting booking channel. | yes | no | |
Type | The type of booking channel (e.g. Global Distribution System (GDS), Alternative Distribution System (ADS), Sales and Catering System (SCS), Property Management System (PMS), Central Reservation System (CRS), Tour Operator System (TOS), Internet and ALL). Refer to Booking Channel Type (BCT) | yes | no | |
CompanyName | The selling company name (will be shown on the hotelier's extranet so that he knows from where the reservation is coming from) | no | no | |
ResGlobalInfo | yes | no | ||
HotelReservationIDs | A Collection of HotelReservationID objects for a given reservation | yes | no | |
HotelReservationID | The HotelReservationID object contains various unique (ReservationID) and non unique (ConfirmationID, CancellationID) identifiers that the trading partners associate with a given reservation | yes | yes | |
ResID_Type | Defines the type of Reservation ID (e.g. reservation number, cancellation number). Refer to Unique Id Type (UIT) | yes | no | |
ResID_Value | This is the actual value associated with ResID_Type as generated by the system that is the source of the ResID_Type | yes | no | |
ResID_Source | A unique identifier to indicate the source system which generated the ResID_Value | yes | no | |
ResID_SourceContext | Additional information on Source | yes | no |
Response
XSD File : OTA_HotelResRS.xsd
Response
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelResRS xmlns="http://www.opentravel.org/OTA/2003/05" TransactionIdentifier="TRANSACTIONIDENTIFER" TimeStamp="2015-09-09T00:16:31+02:00" CorrelationID="CORRELATIONID" Version="1.0"> <Success></Success> <HotelReservations> <HotelReservation ForcedSellIndicator="0" OriginalDeliveryMethodCode="11" ResStatus="Cancel" RoomStayReservation="1" WalkInIndicator="0" CreateDateTime="2015-09-08T15:11:33+02:00" CreatorID="" LastModifyDateTime="2015-09-09T00:16:31+02:00" LastModifierID="" PrimaryLangID="en"> <POS> <Source> <RequestorID ID="0"/> <BookingChannel Type="5"> <CompanyName>COMPANYNAME</CompanyName> </BookingChannel> </Source> </POS> <RoomStays> <RoomStay IndexNumber="1" RoomStayStatus="Book"> <TPA_Extensions> <RemoteHotelCode></RemoteHotelCode> <RemoteHotelName></RemoteHotelName> </TPA_Extensions> <RoomTypes> <RoomType RoomID="GUESTROOMID" IsRoom="1"> <RoomDescription Name="Double"/> <TPA_Extensions> <RemoteRoomName></RemoteRoomName> <RemoteRoomID></RemoteRoomID> </TPA_Extensions> </RoomType> </RoomTypes> <RoomRates> <RoomRate EffectiveDate="2015-09-15" RatePlanName="Standard" RatePlanCode="RATEPLANID"> <TPA_Extensions> <RemoteRatePlanName></RemoteRatePlanName> <RemoteRatePlanCode></RemoteRatePlanCode> </TPA_Extensions> <RoomRateDescription> <Text>Standard</Text> </RoomRateDescription> <Rates> <Rate EffectiveDate="2015-09-15"> <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="100.00"/> <Base CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="100.00"/> </Rate> </Rates> </RoomRate> </RoomRates> <TimeSpan Start="2015-09-15" End="2015-09-16" Duration="1"/> <CancelPenalties> <CancelPenalty End="1900-01-01" Start="1900-01-01" Fri="1" Mon="1" Sat="1" Sun="1" Thur="1" Tue="1" Weds="1" PolicyCode="ABC"> <Deadline AbsoluteDeadline="2015-09-04T06:00:00+02:00" /> <AmountPercent Amount="280.00" DecimalPlaces="2" CurrencyCode="CHF" /> <PenaltyDescription Name="CANCELPENALTYNAME" Language="en"> <Text>CANCELPENALTYDESCRIPTION</Text> </PenaltyDescription> </CancelPenalty> </CancelPenalties> <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="100.00"/> <BasicPropertyInfo HotelCode="HOTELCODE" HotelName="HOTELNAME" CurrencyCode="CHF"/> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="1"/> </GuestCounts> <ResGuestRPHs>1</ResGuestRPHs> </RoomStay> </RoomStays> <ResGuests> <ResGuest ResGuestRPH="1"> <Profiles> <ProfileInfo StatusCode="4" CreateDateTime="2015-07-10T11:00:40+02:00" LastModifyDateTime="2015-09-08T15:11:36+02:00" ProfileType="1" OptInStatus="Unknown"> <UniqueID ID="00T559f89b8b4371" ID_Context="Internal" Type="1"/> <Profile> <Customer MaritalStatus="Unknown" Gender="Unknown"> <PersonName> <GivenName>GUEST GIVEN NAME</GivenName> <Surname>GUEST SURNAME</Surname> </PersonName> <Email EmailType="1" TextFormat="text/html" ShareMarketInd="Inherit" ShareSynchInd="Inherit">GUEST EMAIL ADDRESS</Email> <Address UseType="2" ValidationStatus="NotChecked" ValidInd="1" ShareMarketInd="Inherit" ShareSynchInd="Inherit"> <AddressLine>GUEST ADDRESS</AddressLine> <CityName>GUEST CITY</CityName> <CountryName>GUEST COUNTRY</CountryName> <PostalCode>GUEST POSTAL CODE</PostalCode> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> <ResGlobalInfo> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="1"/> </GuestCounts> <TimeSpan Start="2015-09-15" End="2015-09-16" Duration="1"/> <Comments> <Comment CreateDateTime="2015-09-08T15:11:34+02:00" LastModifyDateTime="2015-09-08T15:11:34+02:00" Language="en" ParagraphNumber="00L55eede86e16b3"> <Text></Text> </Comment> </Comments> <Guarantee GuaranteeType="CC/DC/Voucher" GuaranteeCode="00L55eede86e3d46"> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard CardCode="VI" ExpireDate="1115"> <CardNumber Mask="************4242"/> <CardHolderName>CARDHOLDER NAME</CardHolderName> <TPA_Extensions> <PaymentCardID>00L55eede87eee53</PaymentCardID> </TPA_Extensions> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> <Total CurrencyCode="CHF" AmountBeforeTax="0.00" AmountAfterTax="100.00"/> <HotelReservationIDs> <HotelReservationID ResID_Date="2015-09-08T15:11:35+02:00" ResID_Source="1" ResID_SourceContext="YOURCONTEXT" ResID_Type="14" ResID_Value="YOURRESERVATIONID"/> <HotelReservationID ResID_Date="2015-09-08T15:11:36+02:00" ResID_SourceContext="WHITELABELNAME" ResID_Type="34" ResID_Value="00L55eede856d274"/> </HotelReservationIDs> <BasicPropertyInfo HotelCode="HOTELCODE" HotelName="HOTELNAME" CurrencyCode="CHF" TTIcode=""/> <Profiles> <ProfileInfo StatusCode="4" CreateDateTime="2015-07-10T11:00:40+02:00" LastModifyDateTime="2015-09-08T15:11:36+02:00" ProfileType="1" OptInStatus="Unknown"> <UniqueID ID="00T559f89b8b4371" ID_Context="Internal" Type="1"/> <Profile> <Customer MaritalStatus="Unknown" Gender="Unknown"> <PersonName> <GivenName>CUSTOMER GIVEN NAME</GivenName> <Surname>CUSTOMER SURNAME</Surname> </PersonName> <Email EmailType="1" TextFormat="text/html" ShareMarketInd="Inherit" ShareSynchInd="Inherit">CUSTOMER EMAIL ADDRESS</Email> <Address UseType="2" ValidationStatus="NotChecked" ValidInd="1" ShareMarketInd="Inherit" ShareSynchInd="Inherit"> <AddressLine>CUSTOMER ADDRESS</AddressLine> <CityName>CUSTOMER CITY</CityName> <CountryName>CUSTOMER COUNTRY</CountryName> <PostalCode>CUSTOMER POSTAL CODE</PostalCode> </Address> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_HotelResRS>