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

סקירה כללית

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

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

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

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

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

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

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

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

במאמר העזרה בנושא 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 action:

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