조건부 요율

조건부 요금은 사용자의 기기, 국가 또는 사용자의 Google 로그인 여부 등의 기준에 따라 운항 일정에 다른 요금을 제공할 수 있는 요금 규칙의 한 유형입니다.

숙박 일정 또는 객실 번들에 공개 또는 조건부 요금이 2개 이상인 경우 사용자에게 가장 낮은 요금이 표시됩니다. Google은 항상 사용자에게 가장 낮은 대상 요금을 선택합니다

개요

조건부 요금은 표준 가격 슬롯에 표시되며 관련 조건부 요금의 기준을 충족하는 검색 사용자에게만 표시됩니다. 이러한 기준은 다음을 기반으로 할 수 있습니다.

조건부 요금을 사용 설정하려면 다음을 수정하세요.

기기별 조건부 요금

기기별 요금은 모바일, 태블릿, 데스크톱과 같은 특정 기기의 사용자만 보고 예약할 수 있는 호텔 요금입니다. 요금은 Google 파트너가 제공하며, 최종 사용자가 파트너 사이트에서 동일한 기기별 요금을 확인하고 예약할 수 있습니다.

fenced_rates

국가별 조건부 요금

국가별 요금은 특정 국가의 호텔을 검색하는 사용자에게만 표시하고 예약할 수 있는 호텔 요금입니다. Google은 최종 사용자의 IP 주소를 사용하여 국가를 결정합니다. 이 요금은 Google 파트너가 제공하며 최종 사용자가 파트너의 국가별 사이트에서 동일한 국가별 요금을 확인하고 예약할 수 있습니다.

언어별 조건부 요금

언어별 요금은 Google에서 특정 언어 설정을 사용하면서 호텔을 검색하는 사용자에게만 표시됩니다. 언어별 조건은 <LanguageCode> 요소를 사용하여 정의됩니다.

다운샘플링된 조건부 요금

다운샘플링된 조건부 요금은 요건을 충족하는 모든 사용자의 무작위 하위 집합에만 표시됩니다. 샘플링 레이트는 <MaxUsersPercent> 요소를 사용하여 정의되며 다음을 사용하여 계산됩니다.

MaxUsersPercent = (number of users selected to view rate)/(total eligible users)

로그인 조건부 요금

로그인 요금은 Google 계정으로 로그인한 사용자에게만 표시됩니다. Google 파트너가 요금을 제공하며, 사용자는 파트너의 자체 사이트에서 요금을 보고 예약할 수 있습니다. 로그인 비율은 <UserSignedIn> 요소를 사용하여 정의됩니다.

Google은 항상 가장 낮은 대상 요금을 선택하므로 조건부 요금이 <Result> 수준에서 설정된 가격보다 높으면 조건부 요금이 선택되지 않습니다. 이를 방지하려면 <Result> 수준에서 비율을 삭제하고 모든 요율을 조건으로 지정합니다. 또는 기술계정 관리자에게 <Result> 수준에서 설정된 가격에 기본 요금 규칙을 사용하는 방법을 문의하세요.

요금 규칙 XML 파일 만들기

조건부 요금의 요금 규칙은 요금 규칙 XML 파일을 사용하여 정의됩니다. 자세한 내용은 요금 규칙 XML 참조를 참고하세요.

가격 피드 업데이트

조건부 요금은 거래 메시지의 요소를 사용하여 설정됩니다.

<Rate> 요소는 <RoomBundle> 또는 <Result> 요소 내에서 <Rates>의 여러 하위 요소로 사용될 수도 있습니다. 조건부 요금으로 사용하려면 요금 규칙 XML 파일에서 정의한 요금 규칙 ID와 일치하도록 rate_rule_id 속성의 값을 설정해야 합니다.

공개적인 공개 2인실 기본 요금이 없는 경우 <Result> 메시지의 <Baserate> 하위 요소를 -1로 설정합니다. 이 경우 Google에 전송되는 모든 조건부 <Rates>는 유효한 것으로 간주됩니다.

기본 + 조건부

다음 예는 기본 요금과 조건부 요금이 포함된 트랜잭션 메시지를 보여줍니다.

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

RoomBundle 단일

다음 예시에서는 <RoomBundle> 아래 단일 요금이 포함된 Transaction 메시지를 보여줍니다.

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>

    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

    <RoomBundle>
      <RoomID>single</RoomID>
      <Baserate currency="USD">300.00</Baserate>
      <Tax currency="USD">30.00</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
    </RoomBundle>

    <RoomBundle>
      <RoomID>3</RoomID>  <!-- Links to data in metadata -->
      <RatePlanID>basic</RatePlanID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <ChargeCurrency>web</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">269.00</Baserate>
          <Tax currency="USD">2.69</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rates>
      </Rates>

    </RoomBundle>
  </Result>
</Transaction>

RoomBundle 다중

다음 예시는 <RoomBundle> 아래에 여러 요율이 포함된 트랜잭션 메시지를 보여줍니다.

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

공용 2인실 없음

다음 예시에서는 공개된 2인 점유율이 없는 조건부 요금이 포함된 Transaction 메시지를 보여줍니다.

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">

  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <!-- <Unavailable/> should not be specified when available nested rates
    exist. -->
    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates. -->
      <Rate rate_rule_id="mobile">
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <OtherFees currency="USD">1.00</OtherFees>
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

방문 페이지 파일 업데이트

자격을 갖춘 최종 사용자가 딥 링크를 통해 할인 요금을 예약할 수 있도록 하려면 방문 페이지 파일을 수정하세요. 할인 요금을 올바르게 표시하고 처리하려면 예약 웹사이트에 추가 구현이 필요할 수도 있습니다.

파트너는 조건부 요금 딥 링크에 표시된 가격을 준수해야 합니다.

동적 딥 링크에서는 요금 규칙을 이름으로, <RateRule> 요소의 id 속성을 RATE-RULE-ID 변수와 함께 포함할 수 있습니다.

다음 예시에서는 요금 규칙 ID를 추가합니다.

https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)&prid=(RATE-RULE-ID)

방문 페이지 파일은 요금 규칙의 존재 여부에 따라 URL의 일부를 조건부로 정의할 수 있는 IF-RATE-RULE-ID 지시어도 지원합니다.

https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)

이 예에서는 요금 규칙 ID가 설정되었는지 여부에 따라 두 방문 페이지 중에서 선택합니다.

자세한 내용은 변수 및 조건 사용을 참조하세요.