메시지 평가

개요

요금 메시지 (OTA_HotelRateAmountNotifRQ)는 특정 날짜 범위에 대한 각 객실 유형 및 요금제 조합의 숙박 요금을 정의합니다. 요금 메시지의 일부로 Google은 점유율 기반 가격 책정을 지원하므로 의도한 최대 숙박 인원수에 따라 다른 숙박 요금을 지정할 수 있습니다.

다음 섹션에서는 요금을 추가 및 업데이트하고 요금 메시지를 전송하는 방법을 시작하는 데 도움이 되는 일반 가이드라인, 기본 예시, 방법 시나리오를 다룹니다.

일치율 동작

사용자가 특정 숙박 인원을 요청하면 표시되는 요금은 요금 메시지에서 가격을 정의하는 방식에 따라 달라집니다. 이 섹션에서는 이러한 사용자 요청이 요청의 숙박 인원과 정의한 요금에 따라 요금과 일치하는 방법을 설명합니다.

핵심 원칙

  • 특정 점유율에 대해 정의된 요금은 달리 정의되지 않는 한 모든 낮은 점유율에 적용됩니다.

  • 정의된 것보다 높은 점유율은 불가능한 것으로 간주됩니다.

  • 점유율 기반 가격 책정은 아래에 설명된 일별 가격 책정 모델과 LOS 기반 가격 책정 모델 모두에 적용됩니다. 즉, 각 점유율에 대한 요금을 지정할 수 있습니다. 특정 숙박 인원에 대한 요금이 없는 경우 다음으로 높은 숙박 인원에 대한 요금이 사용됩니다. AdditionalGuestAmounts 또는 ExtraGuestCharges를 사용하여 추가 게스트 및 아동 요금을 정의할 수도 있습니다. 이 요금은 객실에 정의된 최대 수용 인원까지 적용됩니다.

혜택 및 예

효율성

요금 금액이 동일한 여러 숙박의 경우 숙박별로 요금을 설정할 필요가 없습니다. 객실 유형과 요금제에서 지원하는 최대 숙박 인원수 값만 설정하여 메시지를 단순화할 수 있습니다. 사용자에게는 설정된 값 이하의 모든 숙박에 대해 해당 요금이 표시됩니다.

예: 객실 유형 및 요금제의 요금이 숙박 인원 1~4명에 대해 동일합니다. Rate 메시지를 사용하여 최대 점유율 4에 대한 요금을 하나 설정합니다. 1인, 2인, 3인 숙박을 검색하는 사용자에게 동일한 요금이 표시됩니다. 5 이상의 숙박을 검색하는 사용자에게는 요금이 표시되지 않습니다.

제어

대체 숙박 인원에 대한 별도의 요금을 명시적으로 제공할 수 있습니다. Google에서 요청을 점유율과 매칭하는 방식을 더 세부적으로 관리하려면 각 점유율 값에 대해 다른 요금을 전송하세요.

예: 숙박 인원 3명과 1명에 대한 요금이 정의된 경우 1인실 검색에는 1인실 요금이 표시되고, 2인실 검색에는 3인실 요금이 표시되며, 4인 이상을 검색하는 사용자에게는 요금이 표시되지 않습니다.

다양한 요금 관련 시나리오의 예시는 방법을 참고하세요.

필수 요소 및 선택 요소

XML 참조에서는 필수 요소와 선택적 요소를 설명합니다. 속성 및 하위 요소에 관한 자세한 내용은 요소 및 속성 평가를 참고하세요.

구문 및 스키마

Rate 메시지를 만들 때 Rate 구문 예시를 참고하여 올바른 형식을 따르세요.

xmllint와 같은 서드 파티 XML 도구를 사용하여 게시된 스키마로 피드의 유효성을 검사한 후 Google에 제출할 수 있습니다. 요금 메시지 스키마는 호텔 광고 스키마를 참고하세요.

가격 책정 모델

날짜별 가격

대부분의 숙박 시설에 사용되는 표준 가격 모델입니다. per-date 가격 책정 모델은 숙박 날짜에 합산되어 총가격을 산출하는 요금을 설정하는 것을 기반으로 합니다. 이 모델에서 Rate 요소 아래의 모든 요금은 <StatusApplicationControl>에 지정된 숙박 기간 범위에 적용되는 것으로 해석됩니다.

LOS 기반 가격 책정

LOS 기반 (숙박 기간) 가격 책정 모델은 도착 날짜와 숙박 기간 조합에 대해 설정된 요금을 기반으로 합니다. LOS 기반 가격 책정 모델에 지정된 요금은 일일 요금입니다. 예를 들어 숙박 기간이 3일인 경우 요금을 100달러로 보내면 총가격은 3x100달러=300달러로 계산됩니다.

StatusApplicationControl 요소에 RatePlanType="26"를 지정하여 LOS 기반 가격 책정 모델을 사용할 수 있습니다. XML의 Rate 요소에 RateTimeUnitUnitMultiplier 속성도 설정해야 합니다. 이렇게 하면 지정된 Rate 요소의 모든 요금이 <StatusApplicationControl>에 지정된 도착 날짜와 UnitMultiplier에 지정된 숙박 기간 값으로 정의된 숙박에 적용됩니다.

단일 계정에서 날짜별 가격 책정 모델과 숙박 기간별 가격 책정 모델을 모두 사용할 수 있지만 각 숙박 시설은 단일 가격 책정 모델만 사용해야 합니다. LOS 기반 가격 책정을 구현할 때는 다음 사항에 유의하세요.

  • 숙박 기간 기반 가격을 사용하는 경우 숙박 기간별 요금이 결합되지 않습니다. 예를 들어 LOS 요금 4를 책정하기 위해 LOS 3이 LOS 1과 결합되지 않습니다. LOS 비율 4를 명시적으로 지정해야 합니다.
  • LOS 기반 가격 책정의 1박 요금은 날짜별 가격 책정에서 개별 숙박 요금으로 사용되지 않습니다.
  • 각 숙박 시설은 시스템에서 요금이 표시되는 방식에 따라 LOS 기반 가격 책정 또는 날짜별 가격 책정 중 하나만 사용해야 합니다.

계정에서 LOS 기반 가격을 사용 설정하려면 TAM을 통해 요청하거나 Google에 문의하세요.

가이드라인 또는 조치

날짜별 가격

Delta: <StatusApplicationControl>에 지정된 객실 유형, 요금제, 숙박 날짜의 지정된 조합에 대해서만 숙박별 요금을 추가하거나 업데이트합니다.

  • 평점 업데이트는 기본적으로 Delta 작업을 사용합니다.
  • Delta 업데이트는 이전에 저장된 다른 숙박 요금을 변경하지 않습니다. 예를 들어 1인실과 2인실의 요금을 지정한 후 1인실의 Delta 요금 업데이트를 전송하면 2인실 요금은 변경되지 않습니다.

Overlay: <StatusApplicationControl>에 지정된 객실 유형, 요금제, 날짜의 기존 숙박인당 요금을 모두 삭제하고 새 요금으로 대체합니다. 예를 들어 1인실과 2인실의 요금을 지정한 후 1인실에 대한 Overlay 업데이트를 전송하면 Google에서 이전 요금 (1인실 및 2인실 모두)을 모두 삭제하고 업데이트 후에는 1인실 요금만 남습니다.

Remove: <StatusApplicationControl>에 지정된 객실 유형, 요금제, 날짜의 기존 숙박인별 요금을 모두 삭제합니다.

LOS 기반 가격 책정

Delta: <StatusApplicationControl>에 지정된 객실 유형, 요금제, 체크인 날짜의 지정된 조합에 대해서만 숙박 기간별 요금을 추가하거나 업데이트합니다. 업데이트된 LOS 값과 연결된 모든 점유율을 대체합니다.

  • 평점 업데이트는 기본적으로 Delta 작업을 사용합니다.
  • Delta 업데이트는 다른 숙박 기간에 대해 이전에 저장된 요금을 변경하지 않습니다. 예를 들어 LOS 1과 2의 요금을 지정한 후 LOS 1의 Delta 요금 업데이트를 전송하면 LOS 2의 숙박당 요금은 변경되지 않습니다.
  • Delta 업데이트는 지정된 숙박 기간에 대해 이전에 저장된 모든 점유율을 덮어씁니다. 예를 들어 LOS 1에 대해 1인 및 2인 숙박 요금을 지정하고 1인 숙박 요금만 있는 LOS 1에 대해 Delta 요금 업데이트를 전송하면 2인 숙박 요금이 삭제됩니다.

Overlay: <StatusApplicationControl>에 지정된 LOS, 객실 유형, 요금제, 체크인 날짜의 기존 숙박별 요금을 모두 삭제하고 새 요금으로 대체합니다. 예를 들어 LOS 1과 2의 요금을 지정한 후 LOS 1의 Overlay 업데이트를 전송하면 Google에서 이전 요금 (LOS 1과 2 모두)을 모두 삭제하고 업데이트 후에는 LOS 1 요금만 남습니다.

Remove: <StatusApplicationControl>에 지정된 객실 유형, 요금제, 체크인 날짜의 모든 LOS에 대한 기존 숙박당 요금을 모두 삭제합니다.

세금 관련

세금과 수수료가 단순한 경우 AmountAfterTax를 사용하여 총 금액을 지정할 수 있습니다. 숙박당 (박당이 아님) 적용되는 세금 및 수수료와 같은 복잡한 세금은 AmountAfterTax에 표시할 수 없습니다.

일반적으로 Google에서는 AmountAfterTax보다는 TaxFeeInfo를 사용하는 것이 좋습니다.

가능한 경우 AmountAfterTax를 지정하더라도 AmountBeforeTax를 포함해야 합니다. 특정 지역(예: 미국)에서는 세전 가격이 기본적으로 표시되기 때문입니다.

예약 시 지불하지 않거나 숙박 시설에 직접 지불하지 않더라도 사용자가 지불해야 하는 모든 세금과 수수료 (VAT, 숙박세, 청소 수수료, 도시세 등)가 포함되어야 합니다.

이 섹션에서는 필수 요소와 선택적 요소를 사용하는 Rate 메시지의 기본 예를 제공합니다. 파일을 준비한 후에는 다음 엔드포인트로 POST 메시지를 사용하여 Google에 파일을 보내야 합니다. https://www.google.com/travel/hotels/uploads/property_data

메시지를 푸시/게시하는 방법을 자세히 알아보려면 메시지 푸시를 참고하세요.

HotelCode의 경우 시스템 내에서 숙박 시설을 식별하는 데 사용한 고유한 호텔 ID를 사용합니다. 이 값은 호텔 목록 피드의 <listing> 요소에서 <id>를 사용하여 지정된 호텔 ID와 일치해야 합니다. <PackageID><RoomID>의 경우 시스템 내에서 요금제 및 객실 유형 (각각)에 사용하는 것과 동일한 ID를 사용합니다. Google에서 가격과 데이터를 올바르게 표시하려면 시스템과의 일관성이 중요합니다.

다음 예에서는 Delta 작업을 사용하여 요금을 설정하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2022-02-25T20:50:37-05:00"
                            Version="3.0"
                            NotifType="Delta">
  <POS><Source><RequestorID ID="partner_key" /></Source></POS>
  <RateAmountMessages HotelCode="HotelID">
    <RateAmountMessage>
      <StatusApplicationControl Start="2022-12-01"
                                End="2022-12-31"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID" />
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt NumberOfGuests="1" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
            <BaseByGuestAmt NumberOfGuests="2" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
            <BaseByGuestAmt NumberOfGuests="3" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
            <BaseByGuestAmt NumberOfGuests="4" CurrencyCode="USD" AmountBeforeTax="XXX.XX" />
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
</OTA_HotelRateAmountNotifRQ>

방법

이 섹션에서는 비율 메시지를 전송하는 동안 발생할 수 있는 시나리오에 대한 해결 방법을 제공합니다.

요금을 추가, 삭제, 업데이트하는 방법의 예는 요금 예시를 참고하세요.

시나리오 1: 숙박 인원별 요금을 변경하는 방법

설명

이전에는 1박 요금이 2인 숙박에만 정의되었지만 (1인 숙박에도 적용됨) 이제 1인 숙박에 더 저렴한 요금이 적용됩니다.

솔루션

기본 Delta 범위 업데이트를 사용하여 새 점유율 1 비율을 전송합니다. 이 새로운 값은 점유율 2에 영향을 미치지 않습니다.

시나리오 2: 숙박당 요금을 대체하는 방법

설명

이전에는 숙박 인원 1~4명에 대한 요금을 정의했지만 이제 숙박 인원 1~2명만 유효합니다.

솔루션

NotifType="Overlay"를 사용하여 특정 숙박 시설, 객실 유형, 요금제, 날짜의 모든 점유율을 바꿉니다. 이 시나리오에서 Overlay 작업은 점유율 1과 2의 요금을 나열합니다.

시나리오 3: 여러 점유율에 동일한 요금을 설정하는 방법

설명

특정 점유율의 요금은 인원수가 적은 그룹에 판매할 수 있습니다. 이 시나리오에서는 적용 가능한 최대 숙박 인원에 대한 요금 업데이트만 전송하여 메시지를 간소화할 수 있습니다.

솔루션

숙박 인원수가 여러 개인데 가격이 동일한 경우 객실 유형과 요금제로 지원되는 가장 높은 숙박 인원수 값을 설정하면 더 낮은 숙박 인원수에 대해 해당 값이 자동으로 사용됩니다. 즉, 숙박 인원이 1~6명일 때 모두 동일한 1박 요금이라면 6명에 대해서만 설정하면 됩니다.