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

סקירה כללית

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

ניתן להשתמש בהודעה על 'עסקה' כדי לבצע את הפעולות הבאות:

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

אפשר גם להגדיר פעולות שיבצעו את הפעולות הבאות:

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

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

רכיבים נדרשים ואופציונליים

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

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

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

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

הנחיות

יש לפעול בהתאם להנחיות הבאות לגבי הודעת 'עסקה':

פעולות:

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

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

שפות תמיכה:

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

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

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

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

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

דוגמה

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

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

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

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

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

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

  <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 כדי להסיר את סוג החדר "קווין" ולהשאיר את הסוג של חדר הקינג:

  <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: איך לשלוט במוצרים באמצעות מזהים מסוג AllowablePackageID

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

התיאור

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

פתרון

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