조건부 요율

조건부 요금은 사용자의 기기, 국가 또는 사용자의 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>에 단일 요금이 포함된 거래 메시지를 보여줍니다.

<?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인실 요금이 없는 조건부 요금이 포함된 거래 메시지를 보여줍니다.

<?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>

방문 페이지 파일 업데이트

자격 요건을 충족하는 최종 사용자가 딥 링크를 통해 할인된 요금을 예약할 수 있도록 하려면 방문 페이지 파일을 수정합니다. 할인 요금을 적절하게 표시하고 처리하기 위해 예약 웹사이트에 추가 구현이 필요할 수도 있습니다.

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

동적 딥 링크에서는 RATE-RULE-ID 변수를 사용하여 이름, <RateRule> 요소의 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의 설정 여부에 따라 두 개의 방문 페이지 중에서 선택합니다.

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