OTA_HotelRateAmountNotifRQ

요청

구문

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

모든 <RateAmountMessage>에 적용할 알림 유형입니다.

유효한 값은 다음과 같습니다.

이러한 속성의 작동 방식을 알아보려면 를 확인하세요.

  • Overlay: <StatusApplicationControl>에 지정된 객실 유형, 요금제, 날짜의 모든 숙박인당 요금을 삭제하고 새 요금으로 바꿉니다.
  • Remove: <StatusApplicationControl>에 지정된 객실 유형, 요금제, 날짜의 기존 객실별 요금을 모두 삭제합니다.
  • Delta: (NotifType이 지정되지 않은 경우 기본값) <StatusApplicationControl>에 지정된 객실 유형, 요금제, 날짜의 기존 숙박 인원별 요금을 추가하거나 업데이트합니다.
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

모든 <RateAmountMessage>에 적용할 NotifType의 범위입니다.

유효한 값은 다음과 같습니다.

  • ProductRate: (NotifScopeType이 지정되지 않은 경우 기본값) NotifType은 객실 유형 (InvTypeCode)과 요금제 (RatePlanCode)의 조합인 제품에 적용됩니다.
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의 계정 설정 페이지에 표시된 '파트너 키' 값입니다.

참고: 여러 계정의 피드를 제공하는 백엔드가 있는 경우 이 값은 동일한 계정의 거래 (숙박 시설 데이터) 메시지의 partner 속성 값 및 <OTA_HotelAvailNotifRQ> 메시지의 <RequestorID> 요소에 있는 ID 속성 값과 일치해야 합니다.

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 값 이상이어야 합니다. startend이 동일한 경우 업데이트가 해당 날짜에 적용됩니다. Google은 최대 3년의 데이터를 지원합니다.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon 0..1 boolean 월요일을 명시적으로 포함하려면 true 또는 1로 설정합니다.

true로 설정하면 명시적으로 true로 설정되지 않은 다른 요일이 제외됩니다 (사실상 StartEnd 내의 날짜에서 필터링됨).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean 화요일을 명시적으로 포함하려면 true 또는 1로 설정합니다.

true로 설정하면 명시적으로 true로 설정되지 않은 다른 요일이 제외됩니다 (사실상 StartEnd 내의 날짜에서 필터링됨).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean 수요일을 명시적으로 포함하려면 true 또는 1로 설정합니다.

true로 설정하면 명시적으로 true로 설정되지 않은 다른 요일이 제외됩니다 (사실상 StartEnd 내의 날짜에서 필터링됨).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean 목요일을 명시적으로 포함하려면 true 또는 1으로 설정합니다.

true로 설정하면 명시적으로 true로 설정되지 않은 다른 요일이 제외됩니다 (사실상 StartEnd 내의 날짜에서 필터링됨).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean 금요일을 명시적으로 포함하려면 true 또는 1으로 설정합니다.

true로 설정하면 명시적으로 true로 설정되지 않은 다른 요일이 제외됩니다 (사실상 StartEnd 내의 날짜에서 필터링됨).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean 토요일을 명시적으로 포함하려면 true 또는 1로 설정합니다.

true로 설정하면 명시적으로 true로 설정되지 않은 다른 요일이 제외됩니다 (사실상 StartEnd 내의 날짜에서 필터링됨).

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean 일요일을 명시적으로 포함하려면 true 또는 1으로 설정합니다.

true로 설정하면 명시적으로 true로 설정되지 않은 다른 요일이 제외됩니다 (사실상 StartEnd 내의 날짜에서 필터링됨).

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 기반 가격 책정을 사용하려면 RateTimeUnitUnitMultiplier를 지정해야 합니다. 그렇지 않으면 둘 다 지정하면 안 됩니다.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer 이 요금의 숙박 기간을 구성하는 RateTimeUnits 수입니다.

예를 들어 RateTimeUnits 값이 "Day"인 경우 UnitMultiplier이 5이면 이 Rate 객체 아래에 지정된 요금이 5박 숙박의 각 밤에 적용됩니다.

Rate 객체 아래에 지정된 숙박률은 UnitMultiplier(숙박 기간)을 곱하여 숙박의 총가격을 산출합니다.

LOS 기반 가격 책정을 사용하려면 RateTimeUnitUnitMultiplier를 지정해야 합니다. 그렇지 않으면 둘 다 지정하면 안 됩니다.

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

세금 및 수수료를 제외한 객실 요금의 일일 가격입니다.

AmountBeforeTaxAmountAfterTax를 모두 지정할 수 있습니다. AmountBeforeTax가 지정되지 않은 경우 AmountAfterTax를 지정해야 합니다. AmountBeforeTax이 지정되고 AmountAfterTax이 지정되지 않으면 세금과 수수료를 <TaxFeeInfo> 메시지에 지정해야 합니다.

프로모션을 사용하는 경우 할인이 AmountBeforeTax에 적용되며, 비율 할인도 AmountAfterTax에 적용됩니다. 일부 세금 구조에서는 작동하지 않으므로 여기에 AmountBeforeTax만 지정하고 <TaxFeeInfo>를 사용하여 세금 및 수수료를 지정하는 것이 좋습니다.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax 0..1 float 관련 세금 및 수수료를 포함한 객실 요금의 일일 가격입니다. AmountAfterTax가 지정된 경우 속성별 <TaxFeeInfo> 메시지를 별도로 전송하지 않아도 됩니다. 이 속성은 AmountBeforeTax와 함께 사용하여 특정 지역의 사용자에게 표시할 수 있는 기본 요율과 총 요율을 모두 제공할 수 있습니다.

경고: 프로모션을 사용하는 경우 AmountAfterTax 금액을 사용하지 않는 것이 좋습니다. 할인을 사용하려면 <TaxFeeInfo> 메시지를 사용하여 세금과 수수료를 지정하세요. 할인은 AmountBeforeTax 금액에 적용됩니다.

참고: AmountBeforeTax이 지정되지 않은 경우 AmountAfterTax을 지정해야 합니다.

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명입니다.

<AdditionalGuestAmounts>에 아동 요금이 포함된 경우 NumberOfGuests성인만 나타냅니다. <AdditionalGuestAmounts>가 지정되지 않았거나 어린이 요금이 포함되지 않은 경우 NumberOfGuests는 성인과 어린이를 모두 포함한 총 숙박 인수를 나타냅니다.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts 추가 투숙객 요금 모음의 컨테이너입니다.

이 구문은 날짜에 따라 추가 게스트 또는 아동 요금이 변경되는 경우에 유용합니다. 이러한 금액을 속성 수준에서 정적으로 정의할 수 있는 경우 더 효율적인 ExtraGuestCharges 메시지를 사용하는 것이 좋습니다.

추가 투숙객 금액은 다음과 같이 적용됩니다.
  • 기본 점유율에 추가로 적용됩니다. 기본 점유율은 <BaseByGuestAmts>에 지정된 점유율 중 사용자 검색의 성인 수 이하인 가장 높은 점유율입니다.
  • 사용자 검색의 숙박 인원이 객실의 수용 인원 이내인 경우에 적용됩니다.
  • NotifTypeDelta 또는 Overlay인 경우 <AdditionalGuestAmounts>는 항상 이전에 지정된 추가 금액을 새 금액으로 대체합니다.
  • <AdditionalGuestAmounts>NotifTypeDelta인 경우에만 기본 요금과 별도로 전송될 수 있습니다. NotifTypeOverlay인 경우 <BaseByGuestAmts>를 지정해야 합니다.
  • NotifTypeDelta로 설정된 빈 <AdditionalGuestAmounts> 요소는 기본 요율에 영향을 주지 않고 기존 추가 금액을 삭제합니다.
  • <BaseByGuestAmt>에 지정된 통화를 사용하여 적용됩니다.

예를 들어 성인 1명과 2명의 기본 요금이 지정되어 있다고 가정해 보겠습니다.

  • 사용자가 성인 3명을 검색하면 2인실 요금이 기본 요금으로 선택되고 성인 1명에 대한 추가 게스트 금액이 그 위에 적용됩니다.
  • 사용자가 성인 1명과 어린이 2명을 검색하는 경우 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 추가 게스트의 유형(성인 또는 아동)을 정의합니다. 유효한 옵션은 다음과 같습니다.
  • 10: 성인
  • 8: 자녀

AgeQualifyingCode은(는) 최대 하나의 AdditionalGuestAmount 요소에 대해 10로 설정할 수 있습니다.

AgeQualifyingCode8인 경우 MaxAge을 지정해야 합니다.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer AgeQualifyingCode8인 경우 MaxAge을 지정해야 합니다. AgeQualifyingCode10인 경우 지정하면 안 됩니다.

MaxAge0에서 17. 사이의 정수여야 합니다.

0 값을 지정하면 자녀 거주자가 사용 중지됩니다.

17보다 큰 값은 허용되는 최대값인 17로 처리됩니다.

별도의 AdditionalGuestAmount 요소를 통해 여러 자녀 연령대를 지정할 수 있습니다. 연령대는 연속적이고 중복되지 않아야 합니다.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float 추가 투숙객별 기본 요금에 추가된 세금 및 수수료 전 금액입니다.

숙박객의 연령에 따라 달라지는 세금 및 수수료는 <TaxFeeInfo> 메시지의 <AgeBrackets> 요소를 통해 지정해야 합니다.

이 섹션에서는 다음 작업을 수행하는 방법을 보여주는 코드 예시를 제공합니다.

add, overlay 또는 remove 값을 설정할 때 목표에 따라 날짜 범위가 동일하거나 다를 수 있습니다. 예를 들어 '추가 비율' 메시지에 설정된 전체 범위가 아닌 12월 휴일의 몇 주만 설정하는 데 overlay를 사용할 수 있습니다. 이렇게 하면 이 기간의 점유율만 대체됩니다.

날짜별 가격

객실 및 요금제별로 속성당 최대 50개의 점유율이 있을 수 있습니다. 모든 숙박 인원에 요금이 동일한 경우 필수 가격과 함께 최대 숙박 인원만 전송하면 됩니다. 이렇게 하면 Google은 점유율이 낮은 객실에도 동일한 기본 요금이 적용된다고 추론합니다.

기본 요금 및 총 요금 설정

예 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>
요금 추가, 오버레이, 삭제

속성당 제품(객실 유형 및 패키지 조합)은 5,000개로 제한됩니다. Overlay 또는 Remove 알림 유형을 사용하여 이전에 정의된 제품을 삭제합니다.

요금 추가

2021년 10월 20일과 2021년 12월 31일 사이에 RoomID_1 및 PackageID_1의 숙박당 요금을 추가하려면 NotifTypeDelta로 설정합니다. 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>

오버레이 비율

NotifTypeOverlay로 설정하여 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>

요금 삭제

NotifTypeRemove로 설정하여 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에 대해 숙박 인원 1 및 2의 기본 요금과 추가 게스트 금액을 추가하려면 NotifTypeDelta로 설정합니다.

추가 게스트 금액은 사용자 검색의 숙박 인원에 따라 결정되는 기본 요금에 추가됩니다. 사용자가 지정한 점유율은 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>

오버레이 금액

NotifTypeOverlay로 설정하여 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>

금액 삭제

NotifTypeDelete로 설정하여 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>

추가 게스트 금액만 삭제

<AdditionalGuestAmounts> 요소가 비어 있는 NotifTypeDelta로 설정하여 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="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>에 표시된 제품의 모든 숙박 기간 및 체크인 날짜 범위의 요금을 대체합니다.

이 메시지를 사용하면 지정된 도착 날짜의 모든 숙박 기간에 대한 1인당 요금이 삭제되고 숙박 기간 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>

숙박 기간 삭제

숙박 기간 기반 가격 책정을 사용하면 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 메시지가 성공적으로 처리되었음을 나타냅니다.

각 메시지에 <Success> 또는 <Errors>가 있습니다.

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors OTA_HotelRateAmountNotifRQ 메시지를 처리하는 동안 발생한 하나 이상의 문제 컨테이너입니다.

각 메시지에 <Success> 또는 <Errors>가 있습니다.

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>