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"인 경우 5의 UnitMultiplier은 이 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명으로 설정됩니다.

<AdditionalGuestAmounts>에 어린이 요금이 포함된 경우 NumberOfGuests성인만을 의미합니다. <AdditionalGuestAmounts>이 지정되지 않았거나 어린이 요금이 포함되지 않은 경우 NumberOfGuests는 성인과 어린이를 포함한 총 숙박 인원을 나타냅니다.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts 0..1 AdditionalGuestAmounts 추가 투숙객의 요금 수집을 위한 컨테이너입니다.

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

추가 투숙객 요금은 다음과 같이 적용됩니다.
  • 기본 점유율에 따라 적용됩니다. 기본 점유율은 <BaseByGuestAmts>에 지정된 가장 높은 숙박 인원으로 사용자 검색에 포함된 성인 수보다 작거나 같습니다.
  • 사용자 검색의 숙박 인원이 회의실 수용 인원 내에 있는 한 적용됩니다.
  • <AdditionalGuestAmounts>NotifType델타 또는 오버레이인 경우 항상 이전에 지정된 추가 금액을 새 금액으로 대체합니다.
  • <AdditionalGuestAmounts>NotifType델타인 경우에만 기본 요율과 별도로 전송할 수 있습니다. 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. 사이의 정수여야 합니다.

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

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float 세금 및 수수료를 제외한 금액입니다. 추가 투숙객의 기본 요금에 추가됩니다.

숙박자의 연령에 따른 세금 및 수수료는 <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>

요금 삭제

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

금액 추가

NotifTypeDelta로 설정하여 숙박 인원 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>

오버레이 금액

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>