Skip to main content
The OTA_HotelResModifyRS is the response to a modification request for an existing hotel reservation. It confirms whether the requested change was accepted (minor vs. major), returns updated monetary totals when recalculation occurs, and may offer optional extras or upgrade options.

Purpose

This message is used to:
  • Acknowledge minor changes (e.g., comments, non–lead-pax name, contact details) without price recalculation.
  • Return updated totals for major changes (e.g., room/board change) when recalculation is required.
  • Provide status of the modification (<Success/> or <Errors>), and optionally expose Extras and Upgrades in TPA_Extensions.

Structure – Root Element

<OTA_HotelResModifyRS>
Key Attributes
  • Version: OTA message version (e.g., 2017.2).
  • EchoToken: Echoes the request token for pairing.
  • TimeStamp: Response generation time (ISO 8601 UTC).
  • xmlns: http://www.opentravel.org/OTA/2003/05.

Structure – Core Elements

Errors

Returned when the modification is rejected. Example rejection:
  • Booking not changed - data received differs from stored data.

HotelResModify

Container for the modified booking state.
<HotelResModify CreateDateTime="2025-10-15T14:21:20" LastUpdateDateTime="2025-10-15T14:22:59">
The attributes are ISO 8601 timestamps for creation and the last update of the reservation record.

Further Components

The rest of the response follows the same structure as a OTA_HotelResRS

Complete Example

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelResModifyRS
    xmlns="http://www.opentravel.org/OTA/2003/05" Version="2008.1">
    <Success/>
    <HotelResModifies>
        <HotelResModify CreateDateTime="2025-10-15T14:21:20" LastUpdateDateTime="2025-10-15T14:22:59">
            <RoomStays>
                <RoomStay RPH="1" IndexNumber="3">
                    <RoomTypes>
                        <RoomType RoomTypeCode="RMSD000000;0P000">
                            <RoomDescription>
                                <Text Language="EN">Double Standard Room (Non-Refundable)</Text>
                            </RoomDescription>
                        </RoomType>
                    </RoomTypes>
                    <RatePlans>
                        <RatePlan RatePlanID="0P000"/>
                    </RatePlans>
                    <RoomRates>
                        <RoomRate RoomTypeCode="RMSD000000;0P000">
                            <Features>
                                <Feature>
                                    <Description>
                                        <Text>BB</Text>
                                        <Text Language="EN">Breakfast</Text>
                                    </Description>
                                </Feature>
                            </Features>
                        </RoomRate>
                    </RoomRates>
                    <BasicPropertyInfo HotelCode="AMTSES08UI" HotelName="Hostal Cuba"/>
                    <Total CurrencyCode="EUR" AmountAfterTax="1811.33" RateOverrideIndicator="true"/>
                </RoomStay>
            </RoomStays>
            <ResGlobalInfo>
                <Total CurrencyCode="EUR" AmountAfterTax="1811.33" RateOverrideIndicator="true"/>
                <Comments>
                    <Comment Name="GENERAL" CommentOriginatorCode="DISTRIBUTOR">
                        <Text>late arrival - flight lands at 22:55 local time</Text>
                    </Comment>
                    <Comment Name="GENERAL" CommentOriginatorCode="DISTRIBUTOR">
                        <Text>late arrival - flight lands at 22:55 local time</Text>
                    </Comment>
                    <Comment Name="Applicant Notice" CommentOriginatorCode="DISTRIBUTOR">
                        <Text>late arrival - flight lands at 22:55 local time</Text>
                    </Comment>
                    <Comment Name="Applicant Notice" CommentOriginatorCode="DISTRIBUTOR">
                        <Text>Silent top floor non-smoking room please</Text>
                    </Comment>
                </Comments>
                <HotelReservationIDs>
                    <HotelReservationID ResID_Type="36" ResID_SourceContext="Client" ResID_Value="TEST_AXIS"/>
                    <HotelReservationID ResID_Value="68486556" ResID_Type="36" ResID_SourceContext="Internal"/>
                    <HotelReservationID Item_RPH="1" ResID_Value="TEST_AXIS_ac1" ResID_Type="37" ResID_SourceContext="Client"/>
                    <HotelReservationID Item_RPH="1" ResID_Value="3" ResID_Type="37" ResID_SourceContext="Internal"/>
                </HotelReservationIDs>
                <CancelPenalties>
                    <CancelPenalty Item_RPH="1">
                        <Deadline OffsetUnitMultiplier="0" OffsetTimeUnit="Hour" OffsetDropTime="AfterBooking" AbsoluteDeadline="2025-10-15T16:21:21"/>
                        <AmountPercent Amount="1811.33" CurrencyCode="EUR" BasisType="FullStay" Percent="100"/>
                    </CancelPenalty>
                    <CancelPenalty Item_RPH="2">
                        <Deadline OffsetUnitMultiplier="0" OffsetTimeUnit="Hour" OffsetDropTime="AfterBooking" AbsoluteDeadline="2025-10-15T16:23:01"/>
                        <AmountPercent Amount="1811.33" CurrencyCode="EUR" BasisType="FullStay" Percent="100"/>
                    </CancelPenalty>
                    <CancelPenalty Item_RPH="1">
                        <Deadline OffsetUnitMultiplier="0" OffsetTimeUnit="Hour" OffsetDropTime="AfterBooking" AbsoluteDeadline="2025-10-15T17:23:57"/>
                        <AmountPercent Amount="1811.33" CurrencyCode="EUR" BasisType="FullStay" Percent="100"/>
                    </CancelPenalty>
                </CancelPenalties>
                <BasicPropertyInfo HotelCodeContext="354402" AreaID="927" HotelName="Hostal Cuba" HotelCode="AMTSES08UI">
                    <VendorMessages>
                        <VendorMessage Title="IncidentsAndErrata" InfoType="5">
                            <SubSection>
                                <Paragraph>
                                    <Text>Tax Payable Locally,  Currency: EUR,  type: city tax</Text>
                                </Paragraph>
                            </SubSection>
                        </VendorMessage>
                        <VendorMessage Title="IncidentsAndErrata" InfoType="5">
                            <SubSection>
                                <Paragraph>
                                    <Text>Due to the local logistics infrastructure, there is a possibility that your meeting point for arrival and departure  transfer may not be direct at the hotel door,  Approx. Distance: &amp;gt; 600 m</Text>
                                </Paragraph>
                            </SubSection>
                        </VendorMessage>
                        <VendorMessage Title="IncidentsAndErrata" InfoType="5">
                            <SubSection>
                                <Paragraph>
                                    <Text>Restaurant for Breakfast,  Comment: Breakfast is served in the Sky Bar</Text>
                                </Paragraph>
                            </SubSection>
                        </VendorMessage>
                    </VendorMessages>
                </BasicPropertyInfo>
            </ResGlobalInfo>
            <TPA_Extensions>
                <ns1:BookingStatus
                    xmlns:ns1="http://www.opentravel.org/OTA/2003/05/tpa"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:BookingStatusType" ReservationStatusType="Available"/>
                    <Extras/>
                    <Upgrades/>
                </TPA_Extensions>
            </HotelResModify>
        </HotelResModifies>
    </OTA_HotelResModifyRS>

Best Practices

  • If a connected PMS/Channel Manager does not support modifications, the system returns an error; execute cancel & rebook under the same Distributor reference with a new Child reference.
  • Hotel changes (switching to a different property) require cancel & rebook.
  • Adding rooms: send a new OTA_HotelResRQ with the same Distributor reference and a new Child reference; no modify needed.
  • On every modify cycle: ReadRQModifyRQ (Quote) → review response → ModifyRQ (Commit).
  • Use RateOverrideIndicator to detect whether recalculation occurred at room and booking levels.