رسالة المعاملة (بيانات الموقع)

نظرة عامة

تحدّد رسالة "معاملة 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: كيفية التحكم في المنتجات باستخدام 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>