요청
문법
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명으로 설정됩니다.
|
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 | 세금 및 수수료를 제외한 금액입니다. 추가 투숙객의 기본 요금에 추가됩니다.
숙박자의 연령에 따른 세금 및 수수료는 |
예
이 섹션에서는 다음 작업을 실행하는 방법을 강조하는 코드 예를 제공합니다.
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>
요금 삭제
NotifType
를 Remove
로 설정하여 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>
추가 투숙객 금액 추가, 오버레이, 삭제
금액 추가
NotifType
를 Delta
로 설정하여 숙박 인원 1과 2의 기본 요금을 추가하고 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>