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

תעריפים מותנים הם סוג של כלל תמחור שמאפשר להציע תעריפים שונים למסלולי נסיעה על סמך קריטריונים כמו המכשיר של המשתמש, המדינה שלו או כניסה לחשבון 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)

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

למידע נוסף, ראו שימוש במשתנים ותנאים.