نمای کلی
پیام تراکنش ARI (داده های ملک) اطلاعات مربوط به انواع اتاق ها و بسته ها (یا طرح های نرخ) هر ملک را تعریف می کند. هر داده نوع اتاق شامل یک شناسه منحصر به فرد ( RoomID
)، نام محلی، توضیحات و نشانیهای اینترنتی عکسهای اتاق است. هر داده بسته شامل یک شناسه منحصر به فرد ( PackageID
)، نام محلی، توضیحات، اشغال و ارزش افزوده است.
برای انجام کارهای زیر می توانید از پیام تراکنش استفاده کنید:
- تعریف داده برای یک یا چند ویژگی
- نوع اتاق و اطلاعات بسته را برای هر ملک تعریف کنید.
- کنترل پیشنهادات محصول
همچنین، می توانید اقداماتی را برای انجام موارد زیر تنظیم کنید:
یک نوع اتاق و بسته را به یک ملک اضافه کنید.
یک نوع اتاق و بسته را از یک ملک حذف کنید.
برای مثالهایی از پیامهای تراکنش، به مثالهای تراکنش (دادههای ویژگی) مراجعه کنید.
عناصر مورد نیاز و اختیاری
مرجع XML توضیحاتی در مورد عناصر مورد نیاز و اختیاری ارائه می دهد. برای جزئیات بیشتر در مورد ویژگیها و عناصر فرزند، به عناصر و ویژگیهای تراکنش (دادههای ویژگی) مراجعه کنید.
نحو و طرحواره
هنگام ایجاد پیام تراکنش از مثال نحو تراکنش (داده های ویژگی) به عنوان مرجع استفاده کنید تا مطمئن شوید که از فرمت صحیح پیروی می کنید.
میتوانید از یک ابزار XML شخص ثالث مانند xmllint برای تأیید اعتبار فیدهای خود با طرحوارههای منتشر شده قبل از ارسال آنها به Google استفاده کنید. برای طرح پیام تراکنش، به طرحهای تبلیغات هتل مراجعه کنید.
رهنمودها
از دستورالعمل های زیر برای پیام تراکنش استفاده کنید:
- اقدامات:
delta
: برای افزودن یا بهروزرسانی انواع اتاق و بستههای جدید (طرحهای نرخگذاری) استفاده کنید.overlay
: برای جایگزینی انواع اتاق ها و بسته های یک ملک با مجموعه جدید استفاده می شود. باید شامل اطلاعاتی برای انواع اتاق ها و طرح های نرخی باشد که هنوز می خواهید بفروشید.- پشتیبانی زبان:
یک تا دو زبان (انگلیسی و در صورت نیاز یک زبان محلی برای ویژگی) برای فیلدهای Name، Description و Caption تعیین کنید. در صورت نیاز می توانید بیش از دو زبان اضافه کنید.
- انواع اتاق ها و بسته ها:
هنگام به روز رسانی یک نوع اتاق یا بسته، باید تمام اطلاعات مربوط به آن نوع اتاق یا بسته را ارسال کنید. به عنوان مثال، هنگامی که یک عکس را اضافه می کنید، باید نام و توضیحات را نیز درج کنید.
<AllowablePackageIDs>
و<AllowableRoomIDs>
اختیاری هستند و در صورت تنظیم نشدن، می توان هر ترکیبی از نوع اتاق و طرح نرخ را ایجاد کرد. همچنان باید در دسترس بودن و نرخها را با شناسههای طرح و نوع اتاق ارسال کنید. این عناصر به شما امکان کنترل محصولات و همچنین غیرفعال کردن ترکیباتی را می دهند که سیستم شما دیگر پشتیبانی نمی کند.هر زمان که تغییری در انواع اتاقها یا بستهها، یا جزئیات مهم در مورد انواع اتاق یا بستههایی که باید اضافه شوند، بهروزرسانی پیام تراکنش به Google ارسال کنید.
مثال
این بخش یک مثال اساسی از پیام تراکنش ARI با استفاده از عناصر مورد نیاز و اختیاری را ارائه می دهد. برای افزودن یا بهروزرسانی انواع و بستههای اتاق، از یک کنش برای delta
برای افزودن یا بهروزرسانی انواع و بستههای اتاق، یا overlay
برای جایگزینی همه نوع اتاق و تعاریف بسته استفاده میکنید (مدخلهای قدیمی را حذف میکند).
برای فیلدهای Name، Description و Caption باید یک تا دو زبان (انگلیسی و در صورت نیاز یک زبان محلی برای ویژگی) مشخص کنید. سپس، اطلاعات داده های دارایی، از جمله پیوند به عکس ها را اضافه کنید.
برای <PropertyID>
و <RoomID>
، از همان شناسه هایی که در سیستم خود استفاده می کنید برای برنامه های نرخ و انواع اتاق (به ترتیب) استفاده کنید. سازگاری با سیستم شما برای اطمینان از اینکه Google قیمت ها و داده های شما را به درستی نمایش می دهد بسیار مهم است.
هنگامی که فایل خود را آماده کردید، باید آن را از طریق یک پیام POST به نقطه پایانی زیر به Google ارسال کنید: 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>
را برای تعیین انواع اتاق های Oceanview King و Queen در بسته نشان می دهد.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>