بسته های اتاق

بسته‌های اتاق به شما امکان می‌دهند چندین نوع اتاق را برای یک ملک مشخص کنید، یا برنامه سفر یک اتاق را با ویژگی‌های نرخ - خدمات اضافی که با نرخ و شرایط فروش ارائه می‌شوند - به کاربران خود فراتر از قیمت استاندارد ترکیب کنید.

مفاهیم کلیدی و گردش کار

با Room Bundles، می‌توانید ترکیب‌های بیشتری از انواع اتاق فیزیکی را با بسته‌های خدمات مختلف ارائه دهید.

تصویر زیر نمونه هایی از Room Bundles را نشان می دهد:

در این مثال اولین باندل اتاق پایه است که تنها برای یک سرنشین بزرگسال تخفیف دارد. نوع دوم یک نوع اتاق متفاوت است که برای حداکثر سه سرنشین بزرگسال در دسترس است. سومین نوع اتاق دیگری در همان ملک است. چهارمین بسته "حق بیمه" از اتاق پایه است که ممکن است شامل امکاناتی مانند صبحانه رایگان یا پرداخت بعدی باشد.

تصاویر زیر نمونه هایی از ویژگی های نرخ را نشان می دهد:

نمایش بسته‌های اتاق و ویژگی‌های نرخ‌گذاری در نتایج جستجو با فرآیند انتخاب مشابه با نرخ استاندارد اتاق کنترل می‌شود.

بسته های اتاق

شما بسته‌های اتاق را تعریف می‌کنید و ویژگی‌ها را در پیام‌های تراکنش رتبه‌بندی می‌کنید. عنصر اصلی یک پیام تراکنش <Transaction> است.

ساختار پیام تراکنش به کاری که انجام می‌دهید بستگی دارد: تعریف فراداده در مورد Room Bundle یا ویژگی نرخ، یا به‌روزرسانی قیمت یا در دسترس بودن Room Bundle.

فراداده
با <PackageData> در عنصر <PropertyDataSet> ، مجموعه اتاق را تعریف کنید و به ابرداده ویژگی امتیاز دهید. برای اطلاعات بیشتر، به تعریف فراداده اتاق و بسته مراجعه کنید. Room Bundles از عناصر <RoomData> موجود برای توضیحات اتاق فیزیکی خود استفاده می کند.
قیمت و در دسترس بودن
قیمت و در دسترس بودن Room Bundle را با عنصر <RoomBundle> در <Result> برای هر ترکیب بسته/برنامه سفر تعریف کنید. برای اطلاعات بیشتر، به تعریف قیمت و در دسترس بودن مراجعه کنید.

نرخ اتاق پایه، مالیات و سایر کارمزدها در صورت استفاده نشدن با Room Bundles در <Result> اجباری است و در صورت استفاده با Room Bundles قابل حذف است. اگر با استفاده از یک حساب کاربری زنده، Room Bundles را پیاده‌سازی می‌کنید، این مراحل را دنبال کنید:

  1. نرخ اتاق پایه، مالیات و سایر کارمزدها را در <Result> درج کنید و یک Room Bundle اضافه کنید که با Room Bundle اصلی مطابقت دارد.

  2. در صورت نیاز، بسته‌های اتاق اضافی را در همان بلوک <Result> برای سایر انواع اتاق در آن ملک یا بسته‌های مختلف خدمات تعریف کنید.

  3. پس از راه‌اندازی Room Bundle، نرخ، مالیات و سایر هزینه‌های اتاق پایه را حذف کنید.

فراداده اتاق بسته

هنگام تعریف بسته‌های اتاق و ویژگی‌های نرخ‌گذاری، معمولاً توضیحات، خدمات اضافی که بخشی از نرخ هستند و سایر اطلاعات مربوط به اتاق بسته را از قبل تعریف می‌کنید. این اطلاعات به عنوان فراداده اتاق بسته شناخته می شود. سپس در به‌روزرسانی‌های قیمت‌گذاری خود به این ابرداده اشاره می‌کنید، اما آن را در پیام‌های به‌روزرسانی قیمت‌گذاری لحاظ نمی‌کنید.

هنگامی که Room Bundles را تعریف می کنید، از عناصر <RoomData> موجود برای توضیحات اتاق فیزیکی و از عناصر <PackageData> برای ویژگی های نرخ و اصطلاحاتی که بخشی از توضیحات اتاق فیزیکی نیستند استفاده کنید.

استفاده از عناصر <RoomData> و <PackageData> می تواند اندازه لیست هتل و فید قیمت هتل شما را به میزان قابل توجهی کاهش دهد زیرا میزان داده های تکراری ارسال شده در پیام های تراکنش را کاهش می دهد.

به عنوان مثال، داده هایی مانند نام اتاق و توضیحات معمولاً برای هر برنامه سفر تکرار می شود. می توانید از عناصر <RoomData> و <PackageData> برای تعریف این نوع داده ها یک بار استفاده کنید. سپس داده‌های Room Bundle مخصوص برنامه سفر با تعاریف اتاق ذخیره‌شده و بسته ادغام می‌شوند تا به کاربر نهایی نمایش داده شوند.

Google ابرداده‌های شما را با داده‌های خاص برنامه سفر شما مطابقت می‌دهد تا محتوای تبلیغات شما را نمایش دهد. پردازش ویژه ای برای ترکیب نام ها و توضیحات از عناصر <RoomData> و <PackageData> وجود دارد که به اتاق فیزیکی اجازه می دهد در <RoomData> توصیف شود و ویژگی ها و جزئیات بسته را در <PackageData> رتبه بندی کنید.

اگر هم داده‌های اتاق و هم داده‌های بسته را برای یک اتاق تک یا Room Bundle تعریف کنید، Google هر دو را در خروجی آگهی قرار می‌دهد که با خط فاصله از هم جدا شده‌اند.

دستورالعمل های عکس

هنگام ارسال عکس‌های اتاق، در اینجا چند دستورالعمل وجود دارد که باید از آنها پیروی کنید تا مطمئن شوید عکس‌هایتان به کاربران نشان داده می‌شوند:

  • برای هر نوع اتاق عکس ارسال کنید، از جمله عکس‌های اتاق‌های در دسترس - به عنوان مثال، اتاق‌های در دسترس مشخص شده با وسایل مختلف حمام، مانند دوش رولی.

  • شامل حداقل چهار عکس از اتاق و حداقل یک عکس از حمام.

  • عکس‌ها باید از خود اتاق باشد تا ملک. مهمترین عکس ها از تخت، کل اتاق، حمام، فضای نشیمن، و منظره اتاق (با بقیه اتاق در همان عکس) و در صورت وجود، بالکن، پاسیو یا تراس هستند. .

    همچنین گرفتن عکس از میز، آشپزخانه، قهوه ساز/چای ساز و ویژگی های مجزای اتاق نیز مفید است.

  • از عکس‌های افراد و دارایی‌ها (مثلاً امکانات بیرونی یا دارایی‌ها) از مکان‌های دیدنی/گردشگری و غذا اجتناب کنید.

  • از گرفتن عکس های نزدیک از اشیا، مانند کلوزآپ از نرم افزارهای بنیادی خودداری کنید.

  • از برندسازی و برندها اجتناب کنید، اگرچه لوازم آرایشی دارای برچسب یا مارک مناسب است که در عکسی که کل منطقه حمام را به تصویر می‌کشد قرار دهید. عکس ها نباید دارای بلوک های بزرگ متن، لوگو یا واترمارک باشند.

  • ارائه عکس های استاندارد، منظره (افقی) با میدان دید وسیع. از عکس های چشم ماهی و تحریف شده خودداری کنید. برای بهبود رتبه بندی عکس ها را با بالاترین وضوح عکس بگیرید. شما نیازی به ارسال یک عکس در وضوح های مختلف ندارید.

تقدم داده

داده‌های Room Bundle از همه منابع جمع‌آوری شده و با استفاده از قوانین تقدم ترکیب می‌شوند تا داده‌های نهایی را برای یک هتل، برنامه سفر، و اتاق بسته مشخص تولید کنند. ترتیب از کمترین تا بالاترین اولویت به شرح زیر است:

  1. (پایین ترین) داده های شریک
  2. داده های اموال
  3. <RoomData> ، جایی که <RoomID> با <RoomID> در بلوک <RoomBundle> مطابقت دارد.
  4. <PackageData> ، جایی که <PackageID> با <PackageID> در بلوک <RoomBundle> مطابقت دارد.
  5. (بالاترین) <RoomBundle>

قیمت و در دسترس بودن را تعریف کنید

برای تعریف قیمت و در دسترس بودن Room Bundle، از عنصر <RoomBundle> در پیام تراکنش برای هر بسته یا ترکیب برنامه سفر استفاده کنید. عنصر <RoomBundle> باید داخل عنصر <Result> باشد. کد نمونه برای دو عنصر <RoomBundle> در زیر نشان داده شده است. توجه داشته باشید که در این مثال، دو عنصر <RoomBundle> به اتاق و ابرداده بسته با استفاده از <RoomID> و <PackageID> ارجاع می دهند.

برای هر <Result> ، مجموعه شامل Room Bundles، مجموعه موجود برای آن ویژگی یا ترکیب برنامه سفر را بازنویسی می کند. اگر در عنصر <Result> هیچ اتاقی تعریف نکنید یا ویژگی‌های رتبه‌بندی نکنید، همه دسته‌های اتاق حذف می‌شوند و فقط اتاق اصلی آن هتل یا برنامه سفر در نتایج جستجو نشان داده می‌شود.

حتماً از عناصری مانند <Name> استفاده کنید تا بسته‌های اتاق خود را برای مشتریان بالقوه جذاب‌تر کنید و مطمئن شوید که با صفحه فرود هتل مطابقت دارند. در این مثال، نام ها و سایر اطلاعات توصیفی را در ابرداده تعریف می کنید.

<RatePlanID> اختیاری است و نشان دهنده شناسه منحصر به فرد برای ترکیب اتاق و بسته است. ما قویاً توصیه می کنیم از RatePlanID به عنوان یک متغیر برای ساخت URL صفحه فرود پویا (که قبلاً نقطه فروش بود) استفاده کنید. برای جزئیات، به استفاده از متغیرها و شرایط مراجعه کنید.

عناصر زیر در Room Bundles اختیاری هستند:

<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>

هنگامی که Room Bundle را در یک حساب کاربری زنده پیاده سازی می کنید، پس از فعال شدن Room Bundle <Baserate> حذف کنید.

<Result>
  <!-- Note: When using Room Bundles, the top level result price is no
       longer necessary. -->
  <Property>180054</Property>
  <Checkin>2017-10-07</Checkin>
  <Nights>2</Nights>
  <!-- Base Room Bundle -->
  <RoomBundle>
    <RoomID>060773</RoomID>
    <PackageID>P54321</PackageID>
    <Baserate currency="USD">199.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <!-- RatePlanID is optional and represents the unique identifier for a
    room and package data combination. We strongly recommend using RatePlanID
    as a variable to build your dynamic landing page (formerly Point of Sale)
    URL. For details, see Using Variables and Conditions. -->
    <RatePlanID>060773-P54321</RatePlanID>
  </RoomBundle>
  <!-- Premium Room Bundle -->
  <RoomBundle>
    <RoomID>436233</RoomID>
    <PackageID>P12345</PackageID>
    <!-- Price for 4 ("occupancy") -->
    <Baserate currency="USD">298.88</Baserate>
    <Tax currency="USD">42.12</Tax>
    <OtherFees currency="USD">10.00</OtherFees>
    <RatePlanID>436233-P12345</RatePlanID>
  </RoomBundle>
</Result>

متادیتای اتاق و بسته را تعریف کنید

برای تعریف متادیتای Room Bundle، از عناصر <PackageData> و <RoomData> در عنصر <PropertyDataSet> پیام تراکنش استفاده کنید.

شما فراداده اتاق و بسته را در پیام تراکنش تعریف می‌کنید که جدا از داده‌های قیمت‌گذاری و در دسترس بودن است. با تعریف این داده‌ها از قبل، نیازی نیست که به‌روزرسانی‌های قیمت شما شامل اطلاعات تکراری مانند توضیحات، نشانی‌های اینترنتی عکس، امکانات رفاهی و سایر داده‌های مربوط به هر اتاق یا بسته برای هر برنامه سفر باشد.

گوگل ابرداده ها را برای شما ذخیره می کند و زمانی که تبلیغات شما نمایش داده می شوند، آن را درج می کند. می‌توانید در هر زمان با پیام تراکنش جدید، فراداده اتاق و بسته را به‌روزرسانی کنید.

در پیام تراکنش، یک شناسه بسته و یک شناسه اتاق را روی هر بلوک تنظیم می کنید که سپس در بلوک های <Result> به روز رسانی قیمت گذاری خود به آنها ارجاع می دهید.

اگر داده‌های اتاق و بسته تغییر کند - به عنوان مثال، اگر یک نوع اتاق جدید در یک ملک اضافه کنید، یک پیام تراکنش جدید ارسال کنید که حاوی داده‌های اتاق و بسته به‌روزرسانی شده است - Google ابرداده‌های موجود درباره یک اتاق یا بسته را با داده‌های جدید جایگزین می‌کند. .

Google توصیه می‌کند که در طول راه‌اندازی اولیه، متادیتا را تعریف کنید. پس از از پیش تعریف متادیتا، فقط باید به مقادیر <RoomID> و <PackageID> در به‌روزرسانی‌های قیمت‌گذاری خود ارجاع دهید نه اینکه دوباره همه آن اطلاعات را درج کنید. Google از این شناسه‌ها برای تطبیق اتاق‌ها و بسته‌های اتاق با فراداده‌های ذخیره‌شده استفاده می‌کند. این می تواند حجم کلی پیام های تراکنش شما را تا حد زیادی کاهش دهد.

از آنجایی که قیمت‌ها برای ترکیب اتاق یا برنامه سفر بسیار بیشتر از توضیحات اتاق یا بسته تغییر می‌کنند، تعریف ابرداده یک بار و سپس مراجعه به آن استفاده بسیار کارآمدتری از پیام‌های تراکنش است. علاوه بر این، خطاهایی مانند عدم تطابق توضیحات اتاق را می توان با استفاده از ابرداده به جای تعریف داده درون خطی حذف کرد.

روش توصیه شده و کارآمد برای تعریف متادیتا و قیمت گذاری به طور جداگانه در زیر نشان داده شده است:

<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>

<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
  <!--       PropertyDataSets can also be defined and sent in their own Transaction Message -->
  <!--       separately from pricing. Google can be configured to pull just PropertyDataSets -->
  <!--       once per day (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4, but bundle is for 2 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4 and bundle is for 4 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <BreakfastIncluded/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>

    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy") -->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>060773-P12345</RatePlanID>
    </RoomBundle>
    <!-- Continue providing all available RoomBundle rates under matched
         property for any other occupancies -->
  </Result>
</Transaction>

اشغال و ظرفیت

هنگام تعریف Room Bundles، باید تفاوت بین اشغال و ظرفیت را درک کنید:

تصرف
تعداد مهمانانی که یک Room Bundle برای درخواست آنها در نظر گرفته شده است. به عنوان مثال، «پکیج ماه عسل» دو نفر است. شما مقدار اشغال یک بسته را با استفاده از عنصر <PackageData> یا <RoomBundle> عنصر <Occupancy> تعیین می کنید.
ظرفیت
حداکثر تعداد افرادی که یک اتاق می تواند از نظر فیزیکی در خود جای دهد. ظرفیت یک اتاق همیشه برابر یا بیشتر از اشغال است. به عنوان مثال، «سوئیت ماه عسل» در هتل شما حداکثر شش نفر ظرفیت دارد، اما شما یک بسته را برای دو مهمان قیمت می‌دهید. شما مقدار ظرفیت یک بسته را با استفاده از عنصر فرزند <Capacity> عنصر <RoomData> تنظیم می کنید.

هنگام قیمت گذاری یک Room Bundle، باید قیمت تعداد مهمانانی را که بسته برای آنها در نظر گرفته شده است (مقدار مشخص شده در عنصر <Occupancy> بسته) ارائه دهید. اگر <Occupancy> روی دو تنظیم شده باشد، قیمت آن بسته باید برای دو نفر باشد. شما نمی توانید <Occupancy> روی چهار مهمان تنظیم کنید و قیمت بسته را برای دو مهمان تنظیم کنید.

اتاق های مشترک

همچنین از اشغال و ظرفیت در بسته‌های اتاق برای تعیین قیمت‌های اتاق‌های مشترک استفاده می‌کنید - به عنوان مثال، خوابگاه. به عنوان مثال، برای تعیین قیمت به ازای هر نفر برای اتاق خوابگاهی که دارای 8 تخت است، میزان اشغال را روی 1 و ظرفیت را روی 8 تنظیم کنید و آن را در نام <RoomData> شناسایی کنید. نمونه را ببینید .

بسته‌های اتاق را به‌روزرسانی کنید

در این بخش نحوه حذف یک Room Bundle که دیگر در دسترس نیست و نحوه به‌روزرسانی قیمت یک Room Bundle موجود توضیح داده می‌شود.

حذف بسته نرم افزاری اتاق

بسته‌های اتاق با قیمت‌های هتل به روشی که آنها را حذف می‌کنید متفاوت هستند.

برای حذف یک اتاق یا ترکیب برنامه سفر از موجودی، عنصر <Result> <Baserate> را روی -1 تنظیم می کنید. برای حذف یک Room Bundle برای یک اتاق یا برنامه سفر معین، عنصر <RoomBundle> را از بلوک <Result> در پیام Transaction حذف کنید.

بسته‌های اتاق در فیدهای داده شما مجموعه‌ای در نظر گرفته می‌شوند که تعداد آنها از 0 تا ده‌ها عدد است. وقتی Room Bundles را به Google ارسال می‌کنید، مجموعه فعلی و کامل را ارسال می‌کنید. شما مقادیر یک بسته اتاق مجزا را تغییر نمی‌دهید تا بسته قبلی موجود را به‌عنوان غیرقابل دسترس علامت‌گذاری کنید. هر مجموعه ای از بسته ها در آخرین پیام تراکنش وجود دارد، جایگزین مجموعه فعلی می شود.

به عنوان مثال، بسته‌های A، B، C و D وجود دارند. ابتدا پیامی ارسال می‌کنید که مجموعه اتاق‌های A، B، C و D را تعریف می‌کند. بعداً، اگر بسته B فروخته شد، کل مجموعه را با بسته‌ها دوباره ارسال می‌کنید. فقط A، C و D. اگر تمام بسته‌های اتاق فروخته شده است، یک مجموعه خالی از بسته‌های اتاق را ارسال کنید.

تعدیل قیمت

برای تغییر قیمت یک Room Bundle، <Baserate> جدید را در عنصر <Result> تنظیم کنید.

هر بار که بلوک <Result> یک اتاق/برنامه سفر را در پیام های تراکنش خود به روز می کنید، باید مجموعه کاملی از بسته های اتاق موجود را برای هر <Result> درج کنید. Google مجموعه موجود از Room Bundles را با مجموعه جدید جایگزین می کند. اگر هیچ Room Bundle را در <Result> وارد نکنید، Google همه Room Bundles را برای آن اتاق یا برنامه سفر حذف می‌کند.

به روز رسانی متادیتا

با پاسخی به <Query> از طرف Google، فراداده Room Bundle را به‌روزرسانی می‌کنید.

شما به یک پیام Query با یک پیام تراکنش پاسخ می دهید که فراداده اتاق و بسته را برای هتل های مشخص شده تعریف می کند. برای اطلاعات بیشتر، به پیام‌های درخواست مراجعه کنید.