תעריפים מותנים

תעריפים מותנים הם סוג של כלל תמחור שמאפשר להציע תעריפים שונים למסלולי נסיעה, בהתאם לקריטריונים כמו המכשיר או המדינה של המשתמש, או אם המשתמש נכנס לחשבון Google.

אם יש יותר מתעריף ציבורי אחד או תנאי אחד למסלול נסיעה או לחבילת חדר, המשתמש יראה את התעריף הנמוך ביותר. 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> גם כרכיבי צאצא של <Rates> בתוך רכיבי <RoomBundle> או <Result>. כדי להשתמש בו כתעריף מותנה, צריך להגדיר את הערך של המאפיין rate_rule_id כך שיתאים למזהה כלל התעריף שהגדרתם בקובץ ה-XML של כללי התעריף.

אם אין לכם ברירת מחדל של שיעור תפוסה כפול, מגדירים את רכיב הצאצא <Baserate> של ההודעה <Result> כ--1. כל ערך <Rates> מותנה שיישלח ל-Google במקרה הזה ייחשב כתקף.

דוגמאות

בסיס + תנאי

בדוגמה הבאה מוצגת הודעה מסוג 'עסקה' שכוללת תעריף בסיס ותעריף מותנה:

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

אין תפוסה זוגית ציבורית

בדוגמה הבאה מוצגת הודעת עסקה שכוללת תעריף בלעדי ללא תפוסה כפולה ציבוריים:

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

עדכון הקובץ של דף הנחיתה

כדי שמשתמשי קצה שעומדים בדרישות יוכלו להזמין את התעריף המוזל דרך קישור עומק, צריך לשנות את הקובץ של דף הנחיתה. יכול להיות שיהיה צורך בהטמעה נוספת באתר ההזמנות כדי להציג בצורה תקינה את התעריפים בהנחה.

אנחנו מצפים משותפים לכבד את המחיר שמוצג בקישור העומק של התעריף המותנה.

בקישור עומק דינמי, אפשר לכלול את כלל התמחור לפי השם שלו, המאפיין id של הרכיב <RateRule>, עם המשתנה RATE-RULE-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)

הקובץ של דף הנחיתה תומך גם בהוראה IF-RATE-RULE-ID שמאפשרת להגדיר חלקים מכתובת ה-URL לפי תנאים, אם קיים כלל שיעור קליקים:

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)

בדוגמה הזו בוחרים בין שני דפי נחיתה, בהתאם למזהה הכלל לקביעת שיעור התעריפים.

מידע נוסף זמין במאמר שימוש במשתנים ותנאים.