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

نظرة عامة

تحدِّد رسالة معاملة ARI (بيانات الموقع) المعلومات المتعلّقة بكل أنواع وحزم غرف الفندق (أو خطط الأسعار). تتضمن كل بيانات نوع غرفة معرّف فريد (RoomID) واسم مترجم ووصف وعناوين URL للغرفة صور. تتضمّن كل بيانات الحزمة معرّفًا فريدًا (PackageID) مترجَمًا. والاسم والوصف والإشغال والقيمة المضافة.

يمكنك استخدام رسالة معاملة لإجراء ما يلي:

  • حدِّد البيانات لموقع أو أكثر.
  • حدِّد نوع الغرفة ومعلومات الحزمة لكل فندق.
  • التحكّم في عروض المنتجات

يمكنك أيضًا ضبط إجراءات لتنفيذ ما يلي:

  • أضِف نوع الغرفة والحزمة إلى الموقع.

  • إزالة نوع غرفة وحزمة من موقع

للحصول على أمثلة لرسائل المعاملات، راجِع مقالة المعاملات (بيانات الموقع) أمثلة.

العناصر المطلوبة والاختيارية

مرجع XML وتوفر أوصافًا للعناصر المطلوبة والاختيارية. للحصول على تفاصيل حول والعناصر الثانوية، يمكنك مراجعة القسم عناصر المعاملات (بيانات الموقع) السمات:

البنية والمخططات

استخدِم مثال Transaction (Property Data) Syntax كمرجع عند إنشاء رسالة Transaction للتأكّد من اتّباع التنسيق الصحيح.

يمكنك استخدام أداة 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: كيفية إزالة بيانات نوع الغرفة

كيف يمكنني إزالة نوع الغرفة و/أو بيانات الحزمة الحالية؟

الوصف

لقد أرسلت أنواعًا متعددة من الغرف، بما فيها غرف سرير كينغ وكوين. الموقع. لا يمكن استخدام جميع أنواع غرف Queen أثناء عملية إعادة التصميم، وهي غير متاحة سوى لـ King أنواع الغرف متاحة حاليًا.

الحل

  • ليس عليك تعديل معلومات مدى التوفّر أو الأسعار أو المستودع لنوع الغرفة ومعرّفات الحزمة التي تمّت إزالتها أو إيقافها.
  • في حال إزالة أو إيقاف نوع الغرفة أو الحزمة، أرسِل طلبًا جديدًا رسالة إجراء مع 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>