הודעה על עסקה (נתוני נכס)

סקירה כללית

ההודעה ARI Transaction (נתוני נכס) מגדירה את המידע על סוגי החדרים והחבילות (או תוכניות המחירים) של כל נכס. נתוני כל סוג חדר כוללים מזהה ייחודי (RoomID), שם מקומי, תיאור וכתובות URL לתמונות של החדר. נתוני כל חבילה כוללים מזהה ייחודי (PackageID), שם מקומי, תיאור, מספר האורחים והטבות.

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

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

בנוסף, אפשר להגדיר פעולות שיבצעו את הפעולות הבאות:

  • מוסיפים סוג חדר וחבילה לנכס.

  • להסיר סוג חדר וחבילה מנכס.

  • הוספת נקודות מועדון או תוכנית תמריצים לחבילה או לנכס.

דוגמאות להודעות על עסקאות מופיעות במאמר דוגמאות להודעות על עסקאות (נתוני נכס).

רכיבי חובה ורכיבים אופציונליים

בהפניה ל-XML מופיעים תיאורים של הרכיבים הנדרשים והאופציונליים. פרטים על מאפיינים ורכיבי צאצא מופיעים במאמר מאפיינים ורכיבי צאצא של טרנזקציה (נתוני נכס).

תחביר וסכימות

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

אפשר להשתמש בכלי XML של צד שלישי, כמו xmllint, כדי לאמת את הפידים באמצעות הסכימות שפורסמו לפני ששולחים אותם ל-Google. למידע על סכימת הודעות של עסקאות, אפשר לעיין במאמר סכימות של Hotel Ads.

הנחיות

ההנחיות הבאות מתייחסות להודעות על עסקאות:

פעולות:

delta: משמש להוספה או לעדכון של סוגי חדרים וחבילות חדשים (תוכניות מחירים).

overlay: משמש להחלפה של כל סוגי החדרים והחבילות בנכס מסוים בסט חדש. חובה לכלול מידע על כל סוגי החדרים ותוכניות המחירים שעדיין רוצים למכור.

שפות נתמכות:

מציינים שפה אחת או שתיים (אנגלית ושפה מקומית של הנכס, אם צריך) בשדות 'שם', 'תיאור' ו'כתוביות'. אפשר להוסיף יותר משתי שפות לפי הצורך.

סוגי חדרים וחבילות:

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

המאפיינים <AllowablePackageIDs> ו-<AllowableRoomIDs> הם אופציונליים, ואם לא מגדירים אותם, אפשר ליצור כל שילוב של סוג חדר ותוכנית מחירים. עדיין צריך לשלוח את נתוני הזמינות והמחירים עם מזהי סוג החדר ותוכנית המחירים. האלמנטים האלה מאפשרים לכם לשלוט במוצרים וגם להשבית שילובים שהמערכת שלכם כבר לא תומכת בהם.

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

נקודות מועדון:

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

משתמשים ברכיב <MilesIncluded> כדי להגדיר או לעדכן את קמפיין מועדון הלקוחות. מידע נוסף זמין במאמר בנושא עסקאות(נתוני נכס). אפשר לכלול נקודות מועדון עם <PackageData>.

דוגמה

בקטע הזה מופיעה דוגמה בסיסית להודעת ARI Transaction באמצעות רכיבים נדרשים ואופציונליים. כדי להוסיף או לעדכן חבילות וסוגי חדרים, משתמשים בפעולה delta כדי להוסיף או לעדכן חבילות וסוגי חדרים, או בפעולה overlay כדי להחליף את כל ההגדרות של חבילות וסוגי חדרים (הפעולה מוחקת את הערכים הישנים).

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

במאפיינים <PropertyID> ו-<RoomID>, צריך להשתמש באותם מזהים שבהם אתם משתמשים במערכת שלכם לתוכניות מחירים ולסוגי חדרים (בהתאמה). עקביות עם המערכת שלכם היא קריטית כדי לוודא ש-Google מציגה את המחירים והנתונים שלכם בצורה נכונה.

אחרי שמכינים את הקובץ, צריך לשלוח אותו ל-Google באמצעות הודעת POST לנקודת הקצה הבאה: https://www.google.com/travel/hotels/uploads/property_data

מידע נוסף על שליחת ההודעה באמצעות push או POST זמין במאמר שליחת הודעות באמצעות push.

בדוגמה הבאה אפשר לראות איך להגדיר את הודעת העסקה באמצעות פעולה delta:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>PROPERTYID</Property>
      <RoomData>
        <RoomID>ROOMID</RoomID>
        <Name><Text text="ROOM NAME" language="en"/></Name>
        <Description>
          <Text text="ROOM DESCRIPTION TEXT" language="en"/>
        </Description>
        <Capacity>4</Capacity>
        <PhotoURL>
          <Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
          <URL>https://LINK TO PHOTO</URL>
        </PhotoURL>
      </RoomData>
      <PackageData>
        <PackageID>BASE</PackageID>
        <Name><Text text="Internet Special" language="en"/></Name>
        <Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
        <Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
      </PackageData>
  </PropertyDataSet>
</Transaction>

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

מדריכים

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

תרחיש 1: איך מסירים נתונים של סוג חדר

איך מסירים נתונים קיימים של סוג חדר או חבילה?

תיאור

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

פתרון

  • אין צורך לעדכן את הזמינות, המחירים או מלאי החדרים ללילה עבור מזהי סוגי החדרים ומזהי החבילות שהוסרו או הושבתו.
  • אם סוג החדר או החבילה הוסרו או הושבתו, צריך לשלוח הודעת עסקה חדשה עם action="overlay" שכוללת רק את סוגי החדרים והחבילות שעדיין פעילים, ולא כוללת את סוג החדר או החבילה שהוסרו.

דוגמה

בקטע ה-XML הבא אפשר לראות איך משתמשים בפעולה overlay כדי להסיר סוג חדר.

זוהי פעולת delta המקורית שכוללת את סוגי החדרים King ו-Queen:

  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
      </PackageData>
    <RoomData>
      <RoomID>Queen</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <Capacity>2</Capacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>

אחר כך אפשר להגדיר את overlay כדי להסיר את סוג החדר Queen ולהשאיר את סוג החדר King:

  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>

תרחיש 2: איך לשלוט במוצרים באמצעות AllowablePackageIDs

איך שולטים במוצרים (שילובים של סוגי חדרים וחבילות) כשחבילות מקובצות לפי סוג חדר?

תיאור

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

פתרון

שולחים הודעת עסקה מעודכנת שמציינת אילו מוצרים כלולים בחבילה באמצעות התג <AllowablePackageIDs>.

דוגמה

קטע ה-XML הזה מראה איך להשתמש בתג <AllowablePackageIDs> כדי לציין חבילות שמשמשות עם סוג חדר מסוים. במקרה הזה, סוג החדר 'סוויטה בפנטהאוז' מאפשר רק את חבילת הפנטהאוז הכוללת או את חבילת ארוחת הבוקר בחינם, ואילו סוג החדר 'סוויטת קינג' מאפשר רק את חבילת הקינג הכוללת או את החבילה שמקבלת בברכה חיות מחמד.

<RoomData>
  <RoomID>penthouse_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
    <AllowablePackageID>free_breakfast</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
  <RoomID>king_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>king_all_inclusive</AllowablePackageID>
    <AllowablePackageID>pet_friendly</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
  <PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>pet_friendly</PackageID>
</PackageData>

תרחיש 3: איך שולטים במוצרים באמצעות AllowableRoomIDs

איך שולטים במוצרים (שילובים של סוגי חדרים וחבילות) כשסוגי החדרים מקובצים לפי חבילה?

תיאור

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

פתרון

שולחים הודעת עסקה מעודכנת שמציינת את המוצרים המדויקים שנכללים בחבילה באמצעות הרכיב <AllowableRoomIDs>.

דוגמה

קטע ה-XML הזה מראה איך להשתמש בתג <AllowableRoomID> כדי לציין את סוגי החדרים 'חדר עם מיטה זוגית ונוף לאוקיינוס' ו'חדר עם מיטה גדולה ונוף לאוקיינוס' בחבילה.

<PackageID>RO</PackageID>
<AllowableRoomIDs>
  <AllowableRoomID>king_oceanview</AllowableRoomID>
  <AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>