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박 숙박 중 각 1박에 적용됨을 나타냅니다.

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명이 제공되지 않을 경우 기본값은 2명입니다.

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

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

이 구문은 날짜를 기준으로 추가 투숙객 또는 어린이 요금이 변경되는 경우 유용합니다. 속성 수준에서 이러한 양을 정적으로 정의할 수 있는 경우 더 효율적인 ExtraGuestCharges 메시지를 사용하는 것이 좋습니다.

추가 투숙객 금액은 다음과 같이 적용됩니다.
  • 요금은 기본 숙박 인원 요금에 추가로 적용됩니다. 기본 점유율은 <BaseByGuestAmts>에 지정된 최고 숙박 인원으로, 사용자 검색의 성인 수보다 작거나 같습니다.
  • 회의실의 수용 인원 범위 내에 있는 사용자 검색에서 숙박 인원이 있는 한 적용됩니다.
  • <AdditionalGuestAmounts>NotifType델타 또는 오버레이일 때 항상 이전에 지정된 추가 금액을 새 금액으로 대체합니다.
  • NotifType델타인 경우에만 <AdditionalGuestAmounts>를 기본 요율과 별개로 전송할 수 있습니다. NotifTypeOverlay인 경우 <BaseByGuestAmts>를 지정해야 합니다.
  • NotifTypeDelta로 설정된 빈 <AdditionalGuestAmounts> 요소는 기본 요율에 영향을 주지 않고 기존 추가 금액을 삭제합니다.
  • <BaseByGuestAmt>에 지정된 통화가 적용됩니다.

예를 들어 기본 요금이 성인 1명 및 2명으로 지정되었다고 가정해 보겠습니다.

  • 사용자가 성인 3명을 검색하면 숙박 인원 2인 요금이 기본 요금으로 선택되고, 성인 1명에 대한 추가 투숙객 요금이 그 위에 적용됩니다.
  • 사용자가 성인 1명과 어린이 2명을 검색하는 경우 숙박 인원 1인 요금이 기본 요금으로 선택되고, 두 어린이에 대한 추가 금액이 기본 요금으로 적용됩니다.
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: 하위.

최대 1개의 AdditionalGuestAmount 요소에 대해 AgeQualifyingCode10로 설정할 수 있습니다.

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

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

MaxAge은(는) 0에서 17. 사이의 정수여야 합니다.

값을 0로 지정하면 하위 숙박자가 사용 중지됩니다.

17보다 큰 값은 17의 최대 허용 값으로 처리됩니다.

여러 개의 어린이 연령대는 별도의 AdditionalGuestAmount 요소를 통해 지정할 수 있습니다. 연령대는 연속적이고 겹치지 않아야 합니다.

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

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

이 섹션에서는 다음을 수행하는 방법을 강조하는 코드 예를 제공합니다.

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

요금 추가

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

오버레이 비율

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>

요금 삭제

2021년 10월 20일에서 2021년 12월 31일 사이에 RoomID_1 및 PackageID_1의 숙박 인원별 요금을 모두 삭제하려면 NotifTypeRemove로 설정합니다.

예를 들어 이 메시지가 다른 예시 메시지 중 하나의 이후에 전송된 경우 점유율은 저장되지 않습니다.

<?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>
추가 투숙객 금액 추가, 오버레이, 삭제

금액 추가

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

오버레이 분량

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>

추가 투숙객 수만 삭제

2021년 10월 20일에서 2021년 12월 31일 사이의 기본 요금에 영향을 주지 않고 RoomID_1 및 PackageID_1의 모든 추가 투숙객 금액을 삭제하려면 빈 <AdditionalGuestAmounts> 요소를 사용하여 NotifTypeDelta로 설정합니다.

예를 들어 이 메시지가 다른 예시 메시지 중 하나의 이후에 전송된 경우 기본 금액만 저장됩니다.

<?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 메시지가 성공적으로 처리되었음을 나타냅니다.

각 메시지에는 <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>