When you need to update an existing reservation you can use OTA_HotelResModifyRQ call.
Request sample
<OTA_HotelResModifyRQ Version="1" xmlns="http://www.opentravel.org/OTA/2003/05">
<HotelResModifies>
<HotelResModify>
<UniqueID Type="14" ID="265913" />
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="C_2208" />
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode="1201" />
</RatePlans>
<RoomRates>
<RoomRate RoomTypeCode="C_2208" NumberOfUnits="1" RatePlanCode="1201">
<Rates>
<Rate UnitMultiplier="3">
<Total AmountAfterTax="730" CurrencyCode="EUR" />
</Rate>
</Rates>
</RoomRate>
</RoomRates>
<GuestCounts>
<GuestCount AgeQualifyingCode="1" Count="1" />
</GuestCounts>
<TimeSpan Start="2017-11-11" End="2017-11-14" />
<Guarantee>
<GuaranteesAccepted>
<GuaranteeAccepted>
<PaymentCard CardType="2" CardNumber="4111111111111111" SeriesCode="555" ExpireDate="05/2020">
<CardHolderName>Guest Name</CardHolderName>
</PaymentCard>
</GuaranteeAccepted>
</GuaranteesAccepted>
</Guarantee>
<BasicPropertyInfo HotelCode="2181" />
<ResGuestRPHs>
<ResGuestRPH RPH="11" />
</ResGuestRPHs>
</RoomStay>
</RoomStays>
<ResGuests>
<ResGuest ResGuestRPH="11">
<Profiles>
<ProfileInfo>
<Profile>
<Customer>
<PersonName>
<GivenName>Guest</GivenName>
<Surname>Name</Surname>
</PersonName>
<Telephone PhoneNumber="+12345678900" />
<Email>guest.email@email.email</Email>
<Address>
<CityName>Paris</CityName>
<CountryName>Fr</CountryName>
</Address>
</Customer>
</Profile>
</ProfileInfo>
</Profiles>
</ResGuest>
</ResGuests>
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ResID_Value="265913" />
</HotelReservationIDs>
</ResGlobalInfo>
</HotelResModify>
</HotelResModifies>
</OTA_HotelResModifyRQ>
Required fields:
RoomTypeCode – Room Category Code. Note it starts from C for hotel rooms and from P for apartments and virtual units
RatePlanCode – Rate plan code
AmountAfterTax – Amount
CurrencyCode – Currency code based on ISO 4217
TimeSpan – Period of reservation
Start — Check-In date
End — Check-Out date
CardType — Credit card type. Use 1 for Visa, 2 for Master Card, 3 for Maestro, 4 for American Express and 5 for Dinners Club
CardNumber — Credit Card number
SeriesCode — CVV2
ExpireDate — CC expiration date
CardHolderName — Cardholder’s name
HotelCode — Hotel ID
PrimaryLangID – Use ISO 639-3 language codes
Version – This is strange, but OTA requires it to be a required field
Response sample
<OTA_HotelResModifyRS xmlns="http://www.opentravel.org/OTA/2003/05">
<Success/>
<HotelResModifies>
<HotelResModify>
<ResGlobalInfo>
<HotelReservationIDs>
<HotelReservationID ResID_Type="14" ResID_Value="S_265913" ResID_Source="colibry_pms"/>
</HotelReservationIDs>
</ResGlobalInfo>
</HotelResModify>
</HotelResModifies>
</OTA_HotelResModifyRS>
Response fields explained:
HotelReservationID