프로모션 메시지

개요

프로모션 메시지는 OTA_HotelRateAmountNotifRQ를 사용하여 요금을 할인하는 규칙을 정의합니다. 요금별로 정의된 프로모션이 평가되고 허용되는 가장 큰 할인이 요금에 적용됩니다. 이 메시지 유형은 선택사항이며 시스템에서 요금 할인을 적용하는 데 사용되는 프로모션만 정의하면 됩니다.

프로모션을 결합하여 기기 유형 (모바일, 태블릿, 데스크톱) 및 국가 코드와 같은 다양한 사용자 속성에 적용할 수 있습니다.

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

다음 섹션에서는 프로모션 추가 및 업데이트를 시작하는 데 도움이 되는 일반 가이드라인, 기본 예시, 방법 시나리오를 설명합니다.

가이드라인

이 섹션에서는 프로모션 설정에 관한 일반 가이드라인과 특별 안내를 설명합니다.

프로모션에는 다음 가이드라인을 사용하세요.

작업

삭제
<Promotion> 요소에서 delete 작업을 사용하여 ID별로 단일 프로모션을 삭제합니다.
오버레이
<HotelPromotions> 요소에서 overlay 작업을 사용하여 속성의 모든 프로모션을 대체합니다.
델타
아무것도 지정하지 않으면 <HotelPromotions> 내에 지정된 모든 프로모션이 추가 또는 교체됩니다. 이 ID를 사용하는 프로모션이 추가된 적이 없거나 삭제된 경우 프로모션이 추가됩니다. 이 ID를 사용하는 프로모션이 있으면 새 정의로 덮어씁니다.

일반

  • 속성별로 프로모션 한 개 또는 여러 개가 있을 수 있으며 각 프로모션에는 일련의 조건이 있습니다. 해당 프로모션은 조건이 충족되는 경우에만 적용할 수 있습니다.

  • 프로모션을 특정 날짜, 객실 유형 또는 요금제에만 적용하려면 해당 프로모션의 조건에 지정합니다. 프로모션이 특정 날짜, 객실 유형 또는 요금제에 적용되지 않으면 이를 설정하지 않아도 됩니다.

  • 각 프로모션은 특정 숙박 시설과 연결됩니다. 여러 속성에 동일한 프로모션을 사용하는 경우 속성마다 별도로 전송해야 합니다. 속성 식별자를 지정하려면 <HotelPromotions> 요소의 hotel_id 속성을 사용합니다.

  • 최대 99개의 프로모션을 포함할 수 있습니다. 이보다 많은 항목을 포함해야 하는 경우 Google TAM에 문의하세요.

  • <Stacking> 요소를 사용하여 프로모션을 조합하는 방법을 지정합니다. 기본적으로 Google은 base 스택 유형을 사용합니다. 즉, 가장 적합한 기본 프로모션이 다른 프로모션보다 먼저 선택되어 적용됩니다. basesecond 또는 any와만 결합할 수 있으며 다른 base 또는 none와는 결합할 수 없습니다.

  • 함께 적용할 수 있는 여러 프로모션의 스택이 있더라도 더 큰 할인을 제공하는 다른 단일 프로모션 또는 프로모션 스택이 있는 경우 이 스택은 실제로 사용되지 않을 수 있습니다. 여러 프로모션 (조합)이 조건을 충족하는 경우 할인이 가장 큰 프로모션 (조합)이 예약에 적용됩니다.

  • 프로모션에 영향을 주는 변경사항이 발생할 때마다 프로모션 메시지 업데이트를 전송합니다.

AmountAfterTax 금액에 최적의 프로모션 (또는 프로모션 스택)이 적용됩니다. AmountBeforeTax만 지정된 경우 프로모션이 AmountBeforeTax에 적용됩니다.

이 섹션에서는 필수 및 선택 요소를 사용한 프로모션 메시지의 기본 예를 제공합니다. 파일이 준비되면 다음 엔드포인트에 POST 메시지를 통해 파일을 Google에 보냅니다.

https://www.google.com/travel/hotels/uploads/promotions

메시지를 푸시/POST하는 방법에 대한 자세한 내용은 메시지 푸시를 참조하세요.

<HotelPromotions>hotel_id 속성에는 시스템 내에서 속성을 식별하는 데 사용한 고유한 호텔 ID를 사용합니다. 이 값은 호텔 목록 피드의 <listing> 요소에 있는 <id>를 사용하여 지정된 호텔 ID와 일치해야 합니다. Google에서 데이터를 올바르게 표시하려면 시스템과의 일관성이 중요합니다.

UserCountry은 프로모션을 받을 수 있는 사용자 위치 (국가)를 나열하는 데 사용됩니다. 이 플래그를 지정하면 나열된 국가의 사용자에게만 할인이 제공됩니다.

이 예에서는 미국과 이탈리아 사용자의 연장된 숙박에 15% 할인을 설정하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123_abc"
            timestamp="2022-05-30T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="15"/>
      <UserCountries>
        <Country code="US"/>
        <Country code="IT"/>
      </UserCountries>
    </Promotion>
  </HotelPromotions>
</Promotions>

더 많은 예시는 프로모션 예시를 참고하세요.

방법

이 섹션에서는 프로모션을 설정하는 동안 발생할 수 있는 시나리오에 대한 해결 방법을 제공합니다.

시나리오 1: 장기 투숙용 할인 프로모션을 추가하는 방법

설명

연장된 숙박 기간의 특정 요일에 할인 숙박을 제공하려고 합니다.

해결 방법

FreeNights 설정을 사용하여 숙박 일수에 따라 적용되는 할인 유형을 맞춤설정합니다.

샘플

이 샘플은 지정된 예약 기간 동안 7박당 숙박할 때마다 2박에 대해 20% 할인을 추가하는 방법을 보여줍니다. 15박 일정의 경우 총 4박에 20% 할인이 적용됩니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-05T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-02-01" end="2022-06-30"/>
      </BookingDates>
      <Discount>
        <FreeNights stay_nights="7"
                    discount_nights="2"
                    discount_percentage="20"
                    night_selection="cheapest"
                    repeats="true"/>
      </Discount>
    </Promotion>
  </HotelPromotions>
</Promotions>

시나리오 2: 기기 유형 설정 방법

devices를 설정하여 프로모션 대상 사용자 기기를 지정합니다. 이 플래그를 지정하면 나열된 기기의 사용자에게만 할인이 적용됩니다.

설명

프로모션에 참여할 수 있는 사용자 기기 유형을 지정하려고 합니다.

해결 방법

기기 유형을 desktop, tablet, mobile 값 중 하나 이상으로 설정합니다.

샘플

다음 샘플은 모바일 및 태블릿 사용자에게 25% 할인을 지정하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="25"/>
        <Devices>
          <Device type="mobile"/>
          <Device type="tablet"/>
        </Devices>
    </Promotion>
  </HotelPromotions>
</Promotions>

시나리오 3: 기존 프로모션을 새 프로모션으로 교체하는 방법

설명

속성의 현재 프로모션 세트가 오래되었거나 잘못되었으며 완전히 새로운 세트로 대체해야 합니다.

해결 방법

overlay 작업을 사용하여 프로모션을 교체합니다.

샘플

다음 샘플은 해당 속성에 대해 원래의 두 가지 할인인 20% 와 30% 를 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-06-01" end="2022-07-31"/>
      </BookingDates>
      <Discount percentage="20"/>
    </Promotion>
    <Promotion id="2">
      <BookingDates>
        <DateRange start="2022-08-01" end="2022-08-31"/>
      </BookingDates>
      <Discount percentage="30"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

그런 다음 이 샘플은 overlay를 사용하여 기존 프로모션 두 개를 숙박 시설에 대한 15% 할인의 단일 프로모션으로 대체하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-25T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1" action="overlay">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-06-01" end="2022-07-31"/>
      </BookingDates>
      <Discount percentage="15"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

시나리오 4: 하나 또는 모든 프로모션을 삭제하는 방법

설명

속성에서 새 프로모션을 설정하지 않고 모든 프로모션을 삭제했거나 오류가 발생하여 수정해야 하므로 하나 또는 모든 프로모션을 대체 없이 삭제하려고 합니다.

해결 방법

속성의 특정 개별 프로모션만 삭제하려면 delete 작업을 사용하고, 대체 없이 기존 프로모션을 모두 삭제하려면 overlay (delete 아님) 작업을 사용합니다.

overlay을 사용하여 프로모션을 교체하는 방법에 관한 자세한 내용은 시나리오 3을 참고하세요.

샘플

다음 샘플은 숙박 시설의 프로모션 하나만 삭제하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1" action="delete"/>
  </HotelPromotions>
</Promotions>

이 샘플은 속성을 대체하지 않고 모든 프로모션을 삭제하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>

시나리오 5: 프로모션을 쌓는 방법

누적은 프로모션을 조합할 수 있는 방법을 지정합니다. 지정하지 않으면 typebase인 것으로 간주됩니다. 즉, 가장 적합한 기본 프로모션이 먼저 선택되어 다른 프로모션보다 먼저 적용됩니다. Stackingtype 속성이 any이면 다른 프로모션과 결합할 수 있습니다.

설명

사용자가 동일한 속성에 대해 동시에 여러 프로모션을 사용할 수 있는 옵션을 제공하려는 경우

해결 방법

스택을 사용하여 숙박 시설당 여러 할인을 설정하세요. 한 스택은 최대 1개의 base와 1개의 second를 가질 수 있지만 any의 수는 무제한입니다. anynone를 제외한 다른 유형과 결합될 수 있습니다.

샘플

이 샘플은 base, second, any 스태킹 유형을 스태킹하는 방법을 보여줍니다. 15%, 25%, 10%를 합산한 경우 $100 가격은 총 $57.38 (100 × .85 × .75 × .9)입니다.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="15"/>
      <Stacking type="base"/>
    </Promotion>
    <Promotion id="2">
      <Discount percentage="25"/>
      <Stacking type="second"/>
    </Promotion>
    <Promotion id="3">
      <Discount percentage="10"/>
      <Stacking type="any"/>
    </Promotion>
    <Promotion id="4">
      <Discount percentage="40"/>
      <Stacking type="none"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

프로모션 1~3의 누적 할인이 프로모션 4의 할인보다 효과적입니다. 프로모션 4는 누적 유형 (none)으로 인해 다른 프로모션과 함께 사용할 수 없습니다. 프로모션 4의 할인율이 43% 이상인 경우 프로모션 1~3을 조합하는 대신 이 프로모션 4가 사용됩니다.