HotelRatePlanInventoryNotif

Providers send a HotelRatePlanInventoryNotifRQ message to push the Hotel SetUp information into the TGX database. TGX then processes the data and responds with an error code if needed or success if everything is correct.

HotelRatePlanInventoryNotifRQ

XML Example

<HotelRatePlanInventoryNotif xmlns = "http://schemas.xmltravelgate.com/hubpush/provider/2012/10">
    <request PrimaryLangID = "ES" Version = "0">
        <RatePlans HotelCode = "1" HotelStatusType = "Active" xmlns = "http://www.opentravel.org/OTA/2003/05">
            <RatePlan Duration = "0" CurrencyCode = "EUR" RatePlanCode = "BAR" RatePlanStatusType = "Active" RatePlanNotifType = "New" RatePlanType = "0">
                <Commission Percent="10"/>
                <BookingRules>
                    <BookingRule>
                        <CancelPenalties>
                            <CancelPenalty>
                                <Deadline OffsetTimeUnit = "Day" OffsetUnitMultiplier = "20" OffsetDropTime = "BeforeArrival"/>
                                <AmountPercent NmbrOfNights = "3"/>
                            </CancelPenalty>
                            <CancelPenalty Start = "2018-03-01" End = "2018-03-06">
                                <Deadline OffsetTimeUnit = "Day" OffsetUnitMultiplier = "10" OffsetDropTime = "BeforeArrival"/>
                                <AmountPercent Amount = "10"/>
                            </CancelPenalty>
                            <CancelPenalty NonRefundable = "true" Start = "2018-03-13" End = "2018-03-15"/>
                        </CancelPenalties>
                    </BookingRule>
                    <BookingRule>
                        <Viewerships>
                            <Viewership>
                                <LocationCodes LocationCodesInclusive = "true">
                                    <LocationCode CountryCode = "ES"/>
                                </LocationCodes>
                            </Viewership>
                            <Viewership>
                                <LocationCodes LocationCodesInclusive = "false"/>
                            </Viewership>
                        </Viewerships>
                    </BookingRule>
                </BookingRules>
                <Rates>
                    <Rate>
                        <AdditionalGuestAmounts>
                            <AdditionalGuestAmount AgeQualifyingCode = "8" MaxAge = "12"/>
                            <AdditionalGuestAmount AgeQualifyingCode = "7" MaxAge = "2"/>
                        </AdditionalGuestAmounts>
                        <PaymentPolicies>
                            <GuaranteePayment PaymentCode = "MerchantPayment"/>
                            <GuaranteePayment PaymentCode = "DirectPayment">
                                <AcceptedPayments>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "VI"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "AX"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "CA"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "DS"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "L"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "EU"/>
                                    </AcceptedPayment>
                                </AcceptedPayments>
                            </GuaranteePayment>
                            <GuaranteePayment PaymentCode = "BookingDatePayment">
                                <AcceptedPayments>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "VI"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "AX"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "CA"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "DS"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "L"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "EU"/>
                                    </AcceptedPayment>
                                </AcceptedPayments>
                            </GuaranteePayment>
                            <GuaranteePayment PaymentCode = "ArrivalDatePayment">
                                <AcceptedPayments>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "VI"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "AX"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "CA"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "DS"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "L"/>
                                    </AcceptedPayment>
                                    <AcceptedPayment>
                                        <PaymentCard CardCode = "EU"/>
                                    </AcceptedPayment>
                                </AcceptedPayments>
                            </GuaranteePayment>
                        </PaymentPolicies>
                        <MealsIncluded MealPlanCodes = "14"/>
                    </Rate>
                </Rates>
                <SellableProducts>
                    <SellableProduct InvCode = "STD" InvType = "ROOM" InvStatusType = "Active" InvNotifType = "New">
                        <GuestRoom>
                            <Quantities StandardNumBeds = "2"/>
                            <Occupancy MinOccupancy = "2" MaxOccupancy = "2" AgeQualifyingCode = "10"/>
                            <Room RoomTypeCode = "STD" RoomID = "1"/>
                            <Description>
                                <Text>Standard</Text>
                            </Description>
                        </GuestRoom>
                    </SellableProduct>
                    <SellableProduct InvCode = "STD" InvType = "ROOM" InvStatusType = "Active" InvNotifType = "New">
                        <GuestRoom>
                            <Quantities StandardNumBeds = "2"/>
                            <Occupancy MinOccupancy = "2" MaxOccupancy = "2" AgeQualifyingCode = "10"/>
                            <Occupancy MinOccupancy = "1" MaxOccupancy = "1" AgeQualifyingCode = "7"/>
                            <Room RoomTypeCode = "STD" RoomID = "1"/>
                            <Description>
                                <Text>Standard</Text>
                            </Description>
                        </GuestRoom>
                    </SellableProduct>
                    <SellableProduct InvCode = "STD" InvType = "ROOM" InvStatusType = "Active" InvNotifType = "New">
                        <GuestRoom>
                            <Quantities StandardNumBeds = "2"/>
                            <Occupancy MinOccupancy = "1" MaxOccupancy = "1" AgeQualifyingCode = "10"/>
                            <Occupancy MinOccupancy = "1" MaxOccupancy = "1" AgeQualifyingCode = "8"/>
                            <Occupancy MinOccupancy = "1" MaxOccupancy = "1" AgeQualifyingCode = "7"/>
                            <Room RoomTypeCode = "STD" RoomID = "1"/>
                            <Description>
                                <Text>Standard</Text>
                            </Description>
                        </GuestRoom>
                    </SellableProduct>
                    <SellableProduct InvCode = "JSUIT" InvType = "ROOM" InvStatusType = "Active" InvNotifType = "New">
                        <GuestRoom>
                            <Quantities StandardNumBeds = "2"/>
                            <Occupancy MinOccupancy = "1" MaxOccupancy = "1" AgeQualifyingCode = "10"/>
                            <Room RoomTypeCode = "JSUIT" RoomID = "8"/>
                            <Description>
                                <Text>Junior Suite</Text>
                            </Description>
                        </GuestRoom>
                    </SellableProduct>
                    <SellableProduct InvCode = "JSUIT" InvType = "ROOM" InvStatusType = "Active" InvNotifType = "New">
                        <GuestRoom>
                            <Quantities StandardNumBeds = "2"/>
                            <Occupancy MinOccupancy = "2" MaxOccupancy = "2" AgeQualifyingCode = "10"/>
                            <Room RoomTypeCode = "JSUIT" RoomID = "8"/>
                            <Description>
                                <Text>Junior Suite</Text>
                            </Description>
                        </GuestRoom>
                    </SellableProduct>
                    <SellableProduct InvCode = "JSUIT" InvType = "ROOM" InvStatusType = "Active" InvNotifType = "New">
                        <GuestRoom>
                            <Quantities StandardNumBeds = "2"/>
                            <Occupancy MinOccupancy = "3" MaxOccupancy = "3" AgeQualifyingCode = "10"/>
                            <Room RoomTypeCode = "JSUIT" RoomID = "8"/>
                            <Description>
                                <Text>Junior Suite</Text>
                            </Description>
                        </GuestRoom>
                    </SellableProduct>
                </SellableProducts>
                <Taxes>
                    <Tax Amount = "20" ChargeFrequency = "PerNight" ChargeUnit = "">
                        <TaxDescription>
                            <Text>city</Text>
                        </TaxDescription>
                    </Tax>
                </Taxes>
                <AdditionalDetails>
                    <AdditionalDetail Code = "REP" Type = "39">
                        <DetailDescription>
                            <Text>Repsol</Text>
                        </DetailDescription>
                    </AdditionalDetail>
                </AdditionalDetails>
                <Fees>
                    <AmendFees>
                        <AmendFee Amount = "4" CurrencyCode = "EUR" ChargeUnit = "20"/>
                        <AmendFee Percent = "5" CurrencyCode = "EUR" ChargeUnit = "15"/>
                    </AmendFees>
                </Fees>
                <Description>
                    <Text>bb</Text>
                </Description>
            </RatePlan>
        </RatePlans>
        <TPA_Extensions xmlns = "http://www.opentravel.org/OTA/2003/05">
            <Attribute key = "HotelNotifType" value = "New"/>
        </TPA_Extensions>
    </request>
</HotelRatePlanInventoryNotif>

**Example for a Derived RatePlan**

<HotelRatePlanInventoryNotif xmlns = "http://schemas.xmltravelgate.com/hubpush/provider/2012/10">
    <request PrimaryLangID = "ES" Version = "0">
        <RatePlans HotelCode = "1" HotelStatusType = "Active" xmlns = "http://www.opentravel.org/OTA/2003/05">
            <RatePlan BaseRatePlanCode = "BAR" RatePlanStatusType = "Active" RatePlanCode = "DERIVED" RateReturn = "false"  RatePlanType = "0">
		<RatePlanInclusionsType>
                    <RatePlanInclusionDescription>
                        <Name>BaseMealPlanSupplement</Name>
                    </RatePlanInclusionDescription>
                </RatePlanInclusionsType>
                <Description>
                    <Text>Derived Rate</Text>
                </Description>
            </RatePlan>
        </RatePlans>
</HotelRatePlanInventoryNotif>

Example for Offers

<HotelRatePlanInventoryNotif xmlns = "http://schemas.xmltravelgate.com/hubpush/provider/2012/10">
    <request PrimaryLangID = "ES" Version = "0">
        <RatePlans HotelCode = "1"  HotelStatusType = "Active" xmlns = "http://www.opentravel.org/OTA/2003/05">
            <RatePlan BaseRatePlanCode = "BAR" RatePlanStatusType = "Active" RatePlanCode = "DERIVED" RateReturn = "false">
	        <Offers>
		    <Offer OfferCode="offer" OfferStatusType="Active" OfferNotifType = "New">
			<OfferRules>
			    <OfferRule>
				<LengthsOfStay ArrivalDateBased="false">
				    <LengthOfStay Time="2" MinMaxMessageType="MinLOS" />
				    <LengthOfStay Time="6" MinMaxMessageType="MaxLOS" />
				</LengthsOfStay>
				<DOW_Restrictions>
				    <AvailableDaysOfWeek Mon="true" Tue="true" Weds="true" Thur="true" Fri="true" Sat="true" Sun="true" />
				</DOW_Restrictions>
				<Inventories>
                      		    <Inventory InvCode="1BDAPT" />
                    		</Inventories>
			    </OfferRule>
			</OfferRules>
			<Discount NightsDiscounted="1" DiscountPattern="Last" />
			<OfferDescription>
			    <Text>Offer Test</Text>
			</OfferDescription>
		    </Offer>
		</Offers>
            </RatePlan>
        </RatePlans>
</HotelRatePlanInventoryNotif>
Element Number Type Description
HotelRatePlanInventoryNotif/request 1 Root Node.
RatePlans 1
@HotelCode 1 String Hotel code whose information is provided by the method.
@HotelStatusType 1 String Active or Deactivated.
RatePlans/RatePlan 0..n Present if rate exists.
@RatePlanCode 1 String Rate code.
@BaseRatePlanCode 0..1 String Rate code of the base RatePlan. Only used for derived rates.
@RateReturn 0..1 String Indicates if the Derived Rate Code should be passed to the channel manager in booking notifications or the Base Rate Code. Only used for derived rates.
@RatePlanNotifType 0..1 String New, Delta or Remove
@RatePlanStatusType 1 String Active or Deactivated. This attribute activates or deactivates the rate.
@CurrencyCode 0..1 String ISO Currency (EUR). Not used for derived rates.
@Start 0..1 Date Start date of the rate booking window (Booking Dates for which the rate will be available).
@End 0..1 Date End date of the rate booking window (Booking Dates for which the rate will be available).
@RatePlanType 0..1 String Rate rule to apply. 0 - No selected, 7 - Large Family, 8 - Public Servant, 10 - Negotiated, 11 - Package, 34 - Canary Resident, 35 - Balearic Resident, 36 - Honeymoon. If the attribute is not present and it is a base rate, the value will be 0, if it is a derived rate, the value will be the same as the parent rate.
@PromotionCode 0..1 String Promotion code to apply. 0 - NoPromotion, 25 - Senior55 26 - Senior60, 27 - Senior65. If the attribute is not present and it is a Base rate there is no promotion code (same as sent 0), but if it is a derived rate, this inherits de base rate promotion.
@FreeBaby 1 Boolean Free babies promotion
@FreeChild 1 Boolean Free children promotion
RatePlan/Commission 0..1
@Percent 1 Decimal Commission percentage applied
RatePlan/BookingRules 0..1 Present if exists booking rules for the given RatePlan.
BookingRules/BookingRule 1..n Booking rules.
@Code 0..1 String Code of the booking rule (empty if are viewships conditions).
BookingRule/CancelPenalties 1 Cancel penalties of the current booking rule.
CancelPenalties/CancelPenalty 1..n Cancel penalty.
@NonRefundable 1 Boolean Indicates if the rateplan is refundable or not.
CancelPenalty/Deadline 1 Contains information about the the deadline of the cancel penalty.
@OffsetTimeUnit 1 String Indicates the units of time that apply to the deadline.
@OffsetUnitMultiplier 1 Integer The number of units of DeadlineTimeUnit.
@OffsetDropTime 1 String Indicating when the deadline drop time goes into effect.
CancelPenalty/AmountPercent 1 Contains information about the the deadline of the cancel penalty.
@NmbrOfNights 0..1 Integer Number of nights that will be charged in case of cancellation applying the current cancel penalty. NmbrOfNights, Percent or Amount must be present.
@Percent 0..1 Decimal Percent of the total amount that will be charged in case of cancellation applying the current cancel penalty. NmbrOfNights, Percent or Amount must be present.
@Amount 0..1 Decimal Amount that will be charged in case of cancellation applying the current cancel penalty. NmbrOfNights, Percent or Amount must be present.
@CurrencyCode 0..1 String Currency code of the amount. Must be present if amount is present.
BookingRule/Viewerships 0..1 Present if exits viewerships conditions.
BookingRule/Viewerships/Viewership 1..n
BookingRule/Viewerships/Viewership/LocationCodes 1 One node for each viewership condition.
@LocationCodesInclusive 1 Boolean When it’s true, this rate can be request for next countryCode, when false cannot be requested for this country.
BookingRule/Viewerships/Viewership/LocationCodes/LocationCode 0..1 If it’s missing, applies to all countryCode againthe other viewership condition.
@CountryCode 1 String Country ISO2 code from can or cannot be requested this rate.
RatePlans/RatePlan/Rates 1
RatePlans/RatePlan/Rates/Rate 1..n
RatePlans/RatePlan/Rates/AdditionalGuestAmounts 1
AdditionalGuestAmounts/AdditionalGuestAmount 1..2
@AgeQualifyingCode 1 Integer Qualifying code of the additional guest. 8 - Child, 7 - Infant
@MaxAge 1 Integer Max age not inclusive of the additional guest. Not inclusive.
RatePlans/RatePlan/Rates/Rate/PaymentPolicies 1 Node that contains the accepted payments information.
PaymentPolicies/GuaranteePayment 1..n Node that contains information about an accepted payment.
@PaymentCode 1 Contains the payment method accepted by the rate. See Payment Type Codes list in section 7.6.3.
GuaranteePayment/AcceptedPayments 0..1 Node that contains the accepted payments information. Only present if PaymentCode is not “MerchantPayment”.
AcceptedPayments/AcceptedPayment 1..n Node that contains the credit card accepted.
AcceptedPayment/PaymentCard 1..n Node that contains the credit card accepted.
@CardCode 1 String Contains the credit card code. See Credit Card Codes list in section 7.6.4.
RatePlans/RatePlan/Rates/Rate/MealsIncluded 0..1 Present if board is included with this rate.
@MealPlanCodes 1 Integer OTA MPT Code.
RatePlans/RatePlan/SellableProducts 0..1 List of sellable products. In derived rates, if it is not present it applies to all rooms. In other cases, it informs the rooms that applies.
SellableProducts/SellableProduct 0..n Present if rooms associed with this rate.
@InvCode 1 String Sellable Product Code.
@InvTypeCode 0..1 String External information about the room (own code, own description, etc.)
@InvType 1 String Sellable product type (ROOM).
@InvStatusType 1 String Active or Deactivated.
@InvNotifType 0..1 String New, Delta or Remove
RatePlans/RatePlan/SellableProduct/GuestRoom 1..n
RatePlans/RatePlan/SellableProduct/GuestRoom/Quantities 1
@StandardNumBeds 1 Integer Standard occupation of room.
RatePlans/RatePlan/SellableProduct/GuestRoom/Occupancy 1
@MinOccupancy 1 Integer Min occupation.
@MaxOccupancy 1 Integer Max occupation.
@AgeQualifyingCode 1 Integer (10 - Adult,8 - Child,7 - Infant).
RatePlans/RatePlan/SellableProduct/GuestRoom/Room 1
@RoomTypeCode 1 String Room Code.
@RoomID 1 Integer Room Id.
RatePlans/RatePlan/SellableProduct/GuestRoom/Description/Text 1 String Room description.
RatePlans/RatePlan/Taxes 0..1
RatePlans/RatePlan/Taxes/Tax 1..n Tax to apply to the room prices of the rate
@Amount 0..1 Decimal Indicates that the tax will be applied relative to an amount. The tax has to be specified as Amount or Percent not both at the same time.
@Percent 0..1 Decimal Indicates that the tax will be applied relative to a percentage. The tax has to be specified as Amount or Percent not both at the same time.
@ChargeFrequency 1 String If PerNight indicates that tax is applied relative to the Amount of Nights booked
@ChargeUnit 1 String If PerPax indicates that tax is applied relative to the Amount of Paxes booked
@Type 0..1 String If Inclusive indicates that tax has to be added to the final price. If Type is different than Inclusive or is not present the tax is only informative.
RatePlans/RatePlan/Taxes/Tax/TaxDescription 1
RatePlans/RatePlan/Taxes/Tax/TaxDescription/Text 1 String Description of tax type. Values: “City”, “Local”,“Resort Fee”, “Supplement to be paid on spot”
RatePlans/RatePlan/RatePlanInclusionsType 0..1 Only used for derived rates.
RatePlans/RatePlan/RatePlanInclusionsType/RatePlanInclusionDescription 1 Only used for derived rates.
RatePlans/RatePlan/RatePlanInclusionsType/RatePlanInclusionDescription/Name 1 If present, derived rate will apply base rate meal plan supplements. Value = BaseMealPlanSupplement. Only used for derived rates.
RatePlans/RatePlan/Description/Text 1 String Rate description.
RatePlans/RatePlan/Offers 0..1 List of Offers
RatePlans/RatePlan/Offers/Offer 1..n
@OfferCode 1 String Offer code.
@OfferStatusType 1 String Active or Deactivated.
@OfferNotifType 0..1 String New, Delta or Remove
RatePlans/RatePlan/Offers/Offer/OfferRules 1
RatePlans/RatePlan/Offers/Offer/OfferRules/OfferRule 1
…/OfferRules/OfferRule/LengthsOfStay 1
…/OfferRules/OfferRule/LengthsOfStay/LengthOfStay 1..2
@Time 1 Integer Indicates the number of nights for this stay.
@MinMaxMessageType 1 String (MinLOS, MaxLOS) Indicates the minimum or maximum stay for his Offer.
…/OfferRule/DOW_Restrictions 1
…/OfferRule/DOW_Restrictions/AvailableDaysOfWeek 1
@Mon 1 Boolean Indicates whether the Offer data applies to Mondays.
@Tue 1 Boolean Indicates whether the Offer data applies to Tuesdays.
@Weds 1 Boolean Indicates whether the Offer data applies to Wednesdays.
@Thur 1 Boolean Indicates whether the Offer data applies to Thursdays.
@Fri 1 Boolean Indicates whether the Offer data applies to Fridays.
@Sat 1 Boolean Indicates whether the Offer data applies to Saturdays.
@Sun 1 Boolean Indicates whether the Offer data applies to Sundays.
RatePlans/RatePlan/Offers/Offer/OfferRules/OfferRule/Inventories 0..1 Rooms wich the offer will apply to. If no Inventory are sent, the offer will apply for all the rooms in the Rate.
RatePlans/RatePlan/Offers/Offer/OfferRules/OfferRule/Inventories/Inventory 1..n
@InvCode 1 String Room code.
RatePlans/RatePlan/Offers/Offer/Dicount 1
@NightsDiscounted 1 String Nights the offer will discount from the total stay amount.
@DiscountPattern 1 String Booking night/s the offer will dicount. Possible values are First, Last or Cheapest.
RatePlans/RatePlan/Offers/Offer/OfferDescription/Text 1 String Offer desription.
RatePlans/RatePlan/AdditionalDetails 0..1 Rate plan additional details
RatePlans/RatePlan/AdditionalDetails/AdditionalDetail 0..n List of additional details
@Code 1 String Trading partner code associated with the detail
@Type 1 String Define the information. Only allowed “39” (Contract/negotiated booking information)
RatePlans/RatePlan/AdditionalDetails/AdditionalDetail/DetailDescription 1 Details Description
RatePlans/RatePlan/AdditionalDetails/AdditionalDetail/DetailDescription/Text 1 String Description. If additional details type is “39”, the name of the trading partner for this rate.
RatePlans/RatePlan/Fees 0..1 Rate plan Fees
RatePlans/RatePlan/Fees/AmendFees 0..n List of Amend Fees. Only present when IsModifiable equals true and the modifications apply fees.
RatePlans/RatePlan/Fees/AmendFees/AmendFee 1..n Amend Fee
@Amount 0..1 Decimal Amount that will be charged in case of modifications applying the current fee
@Percent 0..1 Decimal Percent that will be charged in case of modifications applying the current fee
@ChargeUnit 1 Integer Indicates the days before check-in to apply the Amend Fees
TPA_Extensions 0..1 Optional, only added when create or delete an hotel.
TPA_Extensions/Attribute 1
@key 1 String HotelNotifType.
@value 1 String New - You will create an hotel. Remove - You will remove all the hotel setup.

HotelRatePlanInventoryNotifRS

Success Response

    <HotelRatePlanInventoryNotifResponse xmlns="http://schemas.xmltravelgate.com/hubpush/provider/2012/10">
             <HotelRatePlanInventoryNotifResult>
                <Success xmlns="http://www.opentravel.org/OTA/2003/05"/>
             </HotelRatePlanInventoryNotifResult>
    </HotelRatePlanInventoryNotifResponse>

Error Response

    <HotelRatePlanInventoryNotifResponse xmlns="http://schemas.xmltravelgate.com/hubpush/provider/2012/10">
         <HotelRatePlanInventoryNotifResult>
            <Errors xmlns="http://www.opentravel.org/OTA/2003/05">
               <Error Language="en" ShortText="Unexpected error" Code="-1">Hotel 1610 already exists in CP.</Error>
            </Errors>
         </HotelRatePlanInventoryNotifResult>
      </HotelRatePlanInventoryNotifResponse>