When you need to change number of guests or add a payment to existing reservation you can use LLT_ResUpdateRQ call.
Request sample
<LLT_ResUpdateRQ PrimaryLangID="eng" AltLangID="" Version="1.003"> <HotelReservations> <HotelReservation> <UniqueID ID="425054"/> <RoomStays> <RoomStay> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="3"/> // Adult <GuestCount AgeQualifyingCode="8" Count="1"/> // Child </GuestCounts> <TPA_Extensions> <Payments> <Payment Amount="1000.00">Credit Card (added w/o processing)</Payment> <Payment ProcessAmount="1.00">Credit Card (added with processing)</Payment> </Payments> </TPA_Extensions> </RoomStay> </RoomStays> <ResGlobalInfo> <Guarantee> <GuaranteesAccepted> <GuaranteeAccepted> <PaymentCard SeriesCode="321" CardNumber="4111111111111202" ExpireDate="2012"> <CardHolderName>Card Holder</CardHolderName> <Address> <AddressLine>Some Address-Line 32 1</AddressLine> <CityName>City</CityName> <County>US</County> <PostalCode>555555</PostalCode> <StateProv></StateProv> </Address> </PaymentCard> </GuaranteeAccepted> </GuaranteesAccepted> </Guarantee> </ResGlobalInfo> </HotelReservation> </HotelReservations> </LLT_ResUpdateRQ>
Required fields:
PrimaryLangID – OTA requires it
UniqueID
GuestCount and/or Payment
Response sample
<LLT_ResUpdateRS> <HotelReservations> <Result>Success</Result> <HotelReservations/> <HotelReservation CreateDateTime="2020-09-04 09:45:51" ResStatus="Reserved"> // Status might be Reserved OR Tentative. <POS> <Source> <BookingChannel> <CompanyName Code="resboard_direct">ColibriPMS.com</CompanyName> </BookingChannel> </Source> </POS> <UniqueID Type="14" ID="425054"/> <RoomStays> <RoomStay SourceOfBusiness="ColibriPMS.com"> <RoomRates> <RoomRate RoomTypeCode="C_2654" RatePlanCode="1799" NumberOfUnits="1" InvBlockCode="0"> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Night" EffectiveDate="2022-05-10" ExpireDate="2022-05-13"> <Base AmountAfterTax="1950.40" CurrencyCode="EUR"/> </Rate> </Rates> </RoomRate> </RoomRates> <GuestCounts IsPerRoom="1"> <GuestCount AgeQualifyingCode="10" Count="3"/> // Guest count match the number of guests you set in request <GuestCount AgeQualifyingCode="8" Count="1"/> </GuestCounts> <TimeSpan Start="2022-05-10" End="2022-05-13"/> <Total AmountAfterTax="5851.20" CurrencyCode="EUR"> <Taxes> <Tax Code="608" Amount="360.00" CurrencyCode="EUR"> <TaxDescription> <Text>VAT 6%</Text> </TaxDescription> </Tax> <Tax Code="606" Amount="24.00" CurrencyCode="EUR"> <TaxDescription> <Text>Municipal</Text> </TaxDescription> </Tax> </Taxes> </Total> <TPA_Extensions> <Payments> <Payment Amount="100.00" CurrencyCode="EUR">Deposit</Payment> // Existing payment from guest folio <Payment Amount="1000.00" CurrencyCode="EUR">Credit Card (via kiosk)</Payment> // Payment you just added via request </Payments> <BalanceDue AmountAfterTax="5573.60" CurrencyCode="EUR"/> // Current balance due <AllowedGuestCounts> // Number of guests allowed for this room <AllowedGuestCount Type="MinAdult" Value="0"/> <AllowedGuestCount Type="NormalAdult" Value="3"/> <AllowedGuestCount Type="MaxAdult" Value="3"/> <AllowedGuestCount Type="NormalChildren" Value="0"/> <AllowedGuestCount Type="MaxChildren" Value="0"/> </AllowedGuestCounts> </TPA_Extensions> <BasicPropertyInfo HotelCode="2651" ChainCode="233" BrandCode="Freedom Serviced Apartments, Lda."/> </RoomStay> </RoomStays> <ResGuests> <ResGuest ResGuestRPH="1"> <Profiles> <ProfileInfo> <UniqueID ID="357116"/> // This is Guest ID, not reservation ID <Profile> <Customer> <Address> <CountryName Code="US"/> </Address> <PersonName> <GivenName>John</GivenName> <Surname>Smith</Surname> </PersonName> <Email>email@example.com</Email> <Telephone PhoneNumber="11238890000"/> </Customer> </Profile> </ProfileInfo> </Profiles> </ResGuest> </ResGuests> </HotelReservation> </HotelReservations> </LLT_ResUpdateRS>
Response with an error sample
<LLT_ResUpdateRS xmlns="http://www.opentravel.org/OTA/2003/05"> <Errors> <Error>Credit card number invalid. (20070)</Error> </Errors> </LLT_ResUpdateRS>