요청
문법
OTA_HotelRateAmountNotifRQ
메시지는 다음 구문을 사용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
요소 및 속성
OTA_HotelRateAmountNotifRQ
메시지에는 다음과 같은 요소와 속성이 있습니다.
요소 / @Attribute | 발생 횟수 | 유형 | 설명 |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | 요금 메시지의 루트 요소입니다. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | XML 네임스페이스입니다. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | 이 요청 메시지의 고유 식별자입니다. 이 값은 응답 메시지에 반환됩니다. 허용되는 문자는 a-z , A-Z , 0-9 , _ (underscore) , - (dash) 입니다. |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | 이 메시지를 작성한 날짜 및 시간입니다. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | OpenTravel 메시지 버전입니다. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | 모든 유효한 값은 다음과 같습니다. 이러한 속성의 작동 방식을 이해하려면 예를 참고하세요.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | 모든 유효한 값은 다음과 같습니다.
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | 이 메시지의 파트너 계정을 지정하기 위한 컨테이너입니다. 보통 백엔드에서 여러 파트너 계정에 가격 피드를 제공하는 경우 사용됩니다. |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | <POS> 가 있는 경우 필수입니다. <RequestorID> 의 컨테이너입니다. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | <POS> 가 있는 경우 필수입니다. 파트너 계정을 정의합니다. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | 이 메시지의 파트너 계정입니다. 이 문자열 값은 Hotel Center의
계정 설정 페이지에 나열된 '파트너 키' 값입니다.
참고: 여러 계정에 피드를 제공하는 백엔드가 있는 경우 이 값은 거래 (속성 데이터) 메시지의 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | 요금을 정의하는 <RateAmountMessage> 요소의 모음입니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | 숙박 시설의 고유 식별자입니다. 이 값은 호텔 목록 피드의<listing> 요소에서 <id>를 사용하여 지정된 호텔 ID와 일치해야 합니다. 호텔 ID는 Hotel Center에도 표시됩니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | 객실 요금 (특정 기간의 객실 유형 및 요금제 조합)의 가격을 설정하기 위한 컨테이너입니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | 기간과 객실 유형(InvTypeCode ) 및 요금제 (RatePlanCode )의 식별자를 정의합니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | 기간의 시작 날짜 (속성 시간대를 기준으로 함)입니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | 기간의 종료일 (속성 시간대를 기준으로 함)입니다. start 값 이상이어야 합니다.
start 와 end 가 같으면 업데이트가 해당 날짜에 적용됩니다. Google에서는 최대 3년간의 데이터를 지원합니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | 월요일을 명시적으로 포함하려면 true 또는 1 로 설정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | 화요일을 명시적으로 포함하려면 true 또는 1 로 설정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | 수요일을 명시적으로 포함하려면 true 또는 1 로 설정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | 목요일을 명시적으로 포함하려면 true 또는 1 로 설정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | 금요일을 명시적으로 포함하려면 true 또는 1 로 설정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | 토요일을 명시적으로 포함하려면 true 또는 1 로 설정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | 일요일을 명시적으로 포함하려면 true 또는 1 로 설정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | 인벤토리의 고유 식별자입니다 (방 유형). 이 값은 트랜잭션 (숙박 시설 데이터) 메시지에서 <RoomID> 에 매핑됩니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | 요금제의 고유 식별자입니다. 이 식별자는 트랜잭션 (숙박 시설 데이터) 메시지의 <PackageID> 에 매핑됩니다. 요금제는 추가로 정의되고 <OTA_HotelRateAmountNotifRQ> 및 <OTA_HotelAvailNotifRQ> 메시지의 <StatusApplicationControl> 에서 참조됩니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | 이 가격 업데이트에 적용되는 ARI 가격 책정 모델의 유형을 나타내는 식별자입니다. 이 가격 책정은 LOS 기반 가격 책정 모델을 사용할 때 26 값을 사용하여 지정해야 합니다. 이 속성을 제외하면 날짜별 가격 책정 업데이트임을 나타냅니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | <Rate> 요소 컬렉션의 컨테이너입니다. NotifType 가 "Remove" 이면 이 요소를 지정해서는 안 됩니다. 그렇지 않으면 이 요소를 정확히 한 번만 지정해야 합니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | <BaseByGuestAmts> 요소 모음의 컨테이너입니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | 숙박 기간이 지정되는 단위입니다. 유일하게 지원되는 값은 "Day" 이며, 이 경우 숙박 기간이 일 단위로 지정됩니다.
LOS 기반 가격 책정을 사용하려면 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | 이 요금의 숙박 기간을 구성하는 RateTimeUnits 수입니다.
예를 들어 이 LOS 기반 가격 책정을 사용하려면 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | 기본 요금 모음의 컨테이너입니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | 지정된 통화로 객실 가격을 지정합니다. 가격은 각각 NumberOfGuests 값이 다른 여러 <BaseByGuestAmt> 요소를 사용하여 숙박 인원별로 책정할 수 있습니다.
그 외의 경우에는 NumberOfGuests 로 정의된 최대 숙박 인원에 가격이 적용됩니다. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
세금 및 수수료를 제외한 객실 요금의 일일 가격입니다. 프로모션을 사용하는 경우 할인은 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | 관련 세금 및 수수료를 포함한 후 객실 요금의 일일 가격입니다. AmountAfterTax 가 지정되면 속성별 별도의 <TaxFeeInfo> 메시지를 전송할 필요가 없습니다. 이 속성을 AmountBeforeTax 와 함께 사용하면 특정 지역의 사용자에게 표시될 수 있는 기본 요금과 총 요금을 모두 제공할 수 있습니다.
경고: 프로모션을 사용하는 경우 참고: |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | 특정 통화 단위의 ISO 4217 (3) 알파 문자 코드입니다.
지원되는 통화 목록을 참고하세요. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | 이 요금으로 수용할 수 있는 최대 투숙객 수입니다.
투숙객 2명이 제공되지 않을 경우 기본값은 2명입니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | 추가 투숙객에 대한 요금 모음의 컨테이너입니다.
이 구문은 날짜를 기준으로 추가 투숙객 또는 어린이 요금이 변경되는 경우 유용합니다. 속성 수준에서 이러한 양을 정적으로 정의할 수 있는 경우 더 효율적인
예를 들어 기본 요금이 성인 1명 및 2명으로 지정되었다고 가정해 보겠습니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | AgeQualifyingCode 를 통해 지정된 투숙객 유형 및 MaxAge 를 통해 지정된 투숙객의 연령(해당하는 경우)을 기준으로 가격을 지정합니다.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | 추가 투숙객의 유형(성인 또는 어린이)을 정의합니다. 유효한 옵션은 다음과 같습니다.
최대 1개의
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | AgeQualifyingCode 이 8 인 경우 MaxAge 를 지정해야 합니다. AgeQualifyingCode 가 10 인 경우에는 지정해서는 안 됩니다.
값을
여러 개의 어린이 연령대는 별도의 |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | 추가 투숙객 1명당 기본 요금에 추가되는 세금 및 수수료 별도 금액입니다.
투숙객의 연령에 따른 세금 및 수수료는 |
예
이 섹션에서는 다음을 수행하는 방법을 강조하는 코드 예를 제공합니다.
add
, overlay
또는 remove
값을 설정하면 목표에 따라 기간이 동일하거나 다를 수 있습니다. 예를 들어 overlay
을 사용하여 '요금 추가' 메시지에 설정된 전체 범위가 아닌 12월 휴일의 몇 주만 설정할 수 있습니다. 이렇게 하면 이 기간의 점유율만 대체됩니다.
날짜별 가격 책정
기본 요율 및 총 요율 설정
예 1
기본 숙박 인원 (2배)의 기본 요금 (세금 또는 수수료 제외)입니다. 이 모델에서는 <TaxFeeInfo>
메시지를 사용하여 속성의 세금과 수수료를 정의해야 합니다. 특정 지역에서 검색하는 사용자에게는 기본 요금이 더 두드러지게 표시됩니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
예 2
기본 숙박 인원 (2배)의 기본 및 총 요금입니다. 이 모델에서는 <TaxFeeInfo>
메시지를 사용하여 세금과 수수료를 별도로 정의하면 안 됩니다. 특정 지역에서 검색하는 사용자에게는 기본 요금이 더 두드러지게 표시됩니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
예시 3
여러 숙박 인원의 총 요금 (세금 및 수수료 포함) 이 모델에서는 <TaxFeeInfo>
메시지를 사용하여 세금 및 수수료를 별도로 정의하면 안 됩니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
예 4
여러 기간 동안의 여러 객실 유형 및 요금제의 기본 및 총 요금입니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
요금 추가, 오버레이, 삭제
요금 추가
NotifType
를 Delta
로 설정하여 2021년 10월 20일과 2021년 12월 31일 사이에 RoomID_1 및 PackageID_1의 숙박 인원당 요금을 추가합니다. Google에서는 최대 3년간의 데이터를 지원합니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
오버레이 비율
NotifType
를 Overlay
로 설정하여 2021년 10월 20일과 2021년 12월 31일 사이의 RoomID_1 및 PackageID_1에 대한 모든 숙박 인원당 요금을 삭제하고 새로 지정된 숙박 인원당 요금으로 바꿉니다.
예를 들어 '요금 추가' 메시지 이후에 이 메시지가 전송된 경우 점유율 1, 2, 3 요금이 삭제되고 새로운 숙박 인원 1 요금만 저장됩니다. 기간을 더 짧게 설정할 수도 있습니다(예: 2021년 12월 20일 및 2021년 12월 31일)이 공휴일과 같은 특정 날짜의 일부 숙박 요금만 대체합니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
요금 삭제
2021년 10월 20일에서 2021년 12월 31일 사이에 RoomID_1 및 PackageID_1의 숙박 인원별 요금을 모두 삭제하려면 NotifType
를 Remove
로 설정합니다.
예를 들어 이 메시지가 다른 예시 메시지 중 하나의 이후에 전송된 경우 점유율은 저장되지 않습니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
추가 투숙객 금액 추가, 오버레이, 삭제
금액 추가
NotifType
를 Delta
로 설정하여 2021년 10월 20일부터 2021년 12월 31일까지 RoomID_1 및 PackageID_1에 숙박 인원 1과 2의 기본 요금과 추가 투숙객 금액을 추가합니다.
추가 투숙객 금액은 기본 요금에 추가로 적용되며, 기본 요금은 사용자 검색에서 숙박 인원에 따라 결정됩니다. 사용자가 지정한 숙박 인원은 RoomID_1의 수용 인원 내에 있어야 합니다.
이 예에서 추가 투숙객 금액은 다음과 같이 적용됩니다.
- 만 0~10세 어린이의 경우 5달러 (포함)입니다.
- 만 11~17세 어린이의 경우 10달러 (포함)
- 성인은 20달러입니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
오버레이 분량
NotifType
를 Overlay
로 설정하여 2021년 10월 20일부터 2021년 12월 31일까지 RoomID_1 및 PackageID_1의 모든 숙박 인원과 추가 투숙객 수를 삭제하고 새로 지정된 숙박 인원 및 추가 금액으로 바꿉니다.
예를 들어 '요금 추가' 메시지 이후에 이 메시지가 전송된 경우 기본 숙박 인원 1과 2 요금이 삭제되고 새로운 기본 숙박 인원 1 요금만 저장됩니다. 이전의 추가 게스트 금액 세트가 삭제되고 새 금액 세트만 저장됩니다. 이제 추가 투숙객 금액에는 새로운 숙박 인원 1 요금이 기본 요금으로 사용됩니다. 이 업데이트 후에는 자녀에 대한 추가 투숙객 요금이 정의되지 않습니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
금액 삭제
NotifType
를 Delete
로 설정하여 2021년 10월 20일에서 2021년 12월 31일 사이에 모든 숙박 인원당 기본 요금과 RoomID_1 및 PackageID_1의 모든 추가 투숙객 금액을 삭제합니다.
예를 들어 이 메시지가 다른 예시 메시지 중 하나의 이후에 전송된 경우 숙박 인원당 기본 요금 또는 추가 투숙객 요금이 저장되지 않습니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
추가 투숙객 수만 삭제
2021년 10월 20일에서 2021년 12월 31일 사이의 기본 요금에 영향을 주지 않고 RoomID_1 및 PackageID_1의 모든 추가 투숙객 금액을 삭제하려면 빈 <AdditionalGuestAmounts>
요소를 사용하여 NotifType
를 Delta
로 설정합니다.
예를 들어 이 메시지가 다른 예시 메시지 중 하나의 이후에 전송된 경우 기본 금액만 저장됩니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
LOS 기반 가격 책정
LOS 기반 세율 설정
예 1
2020년 5월 18일부터 1박, 2박, 3박 숙박에 대한 요금을 설정합니다. 이 예시에서 1박, 2박, 3박 총 요금은 각각 $100, $180, $240입니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
LOS 기반 요율 추가, 오버레이, 삭제
숙박 기간 추가
LOS 기반 가격 책정을 사용하면 Delta
작업을 통해 <StatusApplicationControl>
에 표시된 체크인 기간 및 각 하위 Rate
요소의 UnitMultiplier
에서 표시한 모든 숙박 기간에 대해 요금을 점진적으로 업데이트할 수 있습니다.
적용 가능한 각 체크인 날짜 및 숙박 기간에 대해 모든 숙박 인원 요금을 지정해야 합니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
오버레이 숙박 기간
LOS 기반 가격 책정을 사용하면 Overlay
작업이 <StatusApplicationControl>
에 표시된 제품 숙박 기간 및 체크인 기간에 대한 요금을 대체합니다.
이 메시지를 통해 지정된 도착 날짜의 모든 숙박 기간에 대한 숙박 인원 요금이 삭제되고 숙박 기간 3에 대해서만 정의된 2인 숙박 요금으로 대체됩니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
숙박 기간 삭제
LOS 기반 가격 책정에서 Remove
작업은 <StatusApplicationControl>
에 표시된 제품의 모든 숙박 기간 및 체크인 기간에 대한 요금을 삭제합니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
응답
문법
OTA_HotelRateAmountNotifRS
메시지는 다음 구문을 사용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
요소 및 속성
OTA_HotelRateAmountNotifRS
메시지에는 다음과 같은 요소와 속성이 있습니다.
요소 / @Attribute | 발생 횟수 | 유형 | 설명 |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | 참석 여부 메시지에 대한 응답의 루트 요소입니다. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | 이 메시지를 작성한 날짜 및 시간입니다. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | 연결된 OTA_HotelRateAmountNotifRQ 메시지의 고유 식별자입니다. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | OTA_HotelRateAmountNotifRQ 메시지가 성공적으로 처리되었음을 나타냅니다.
각 메시지에는 |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | OTA_HotelRateAmountNotifRQ 메시지를 처리하는 동안 발생한 하나 이상의 문제에 대한 컨테이너입니다.
각 메시지에는 |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | OTA_HotelRateAmountNotifRQ 메시지를 처리하는 동안 발생한 오류에 대한 설명입니다. 이러한 오류에 관한 자세한 내용은 피드 상태 오류 메시지에서 확인할 수 있습니다. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | 오류와 관련된 OpenTravel Alliance EWT (오류 경고 유형)입니다. 12 (Processing exception) 값만 사용됩니다. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | 오류와 관련된 OpenTravel Alliance ERR (오류 코드)입니다.
450 (Unable to process) 값만 사용됩니다. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | 원래 요청의 상태입니다. NotProcessed 값만 사용됩니다. |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | 문제의 Google 식별자입니다. 이러한 오류에 관한 자세한 내용은 피드 상태 오류 메시지에서 확인할 수 있습니다. |
예
성공
다음은 성공적으로 처리된 OTA_HotelRateAmountNotifRQ 메시지에 대한 응답입니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
오류
다음은 오류로 인해 처리되지 않은 OTA_HotelRateAmountNotifRQ 메시지에 대한 응답입니다.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>