تراکنش (داده های دارایی)

درخواست ها

نحو

پیام Transaction (Property Data) از نحو زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
             id="message_ID"
             partner="partner_key">
  <PropertyDataSet action="[overlay|delta]">
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>HotelID</Property>
    <RoomData>
      <!-- (Required) One room ID per RoomData element -->
      <RoomID>RoomID</RoomID>
      <Name>
        <Text text="room_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="room_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the rate plans allowed for this room type to
        those listed here. If specified, don't specify AllowableRoomIDs. -->
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID</AllowablePackageID>
      </AllowablePackageIDs>
      <Capacity>max_number_of_occupants</Capacity>
      <AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
      <ChildCapacity>max_number_of_child_occupants</ChildCapacity>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="bed_width"/>
             <Length unit="cm" number="bed_length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>
      </RoomFeatures>
    </RoomData>
    <PackageData>
      <!-- (Required) One package ID per PackageData element -->
      <PackageID>PackageID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the room types allowed for this rate plan to
        those listed here. If specified, don't specify AllowablePackageIDs. -->
      <AllowableRoomIDs>
        <AllowableRoomID>RoomID</AllowableRoomID>
      </AllowableRoomIDs>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

عناصر و صفات

پیام Transaction (Property Data) دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
Transaction 1 Complex element در اجرای ARI، این عنصر ریشه برای پیامی است که انواع اتاق و بسته‌ها را برای یک ویژگی مشخص می‌کند.
Transaction / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
Transaction / @id 1 string یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ بازگردانده می شود. کاراکترهای مجاز عبارتند از: az، AZ، ​​0-9، _ (خط زیر)، و - (خط تیر).
Transaction / @partner 1 string حساب شریک برای این پیام. این مقدار رشته، مقدار «کلید شریک» است که در صفحه تنظیمات حساب در مرکز هتل فهرست شده است.

توجه: اگر یک Backend دارید که برای چندین حساب فید ارائه می‌دهد، این مقدار باید با مقدار مشخصه ID مشخص شده در عنصر <RequestorID> پیام‌های <OTA_HotelRateAmountNotifRQ> و <OTA_HotelAvailNotifRQ> برای یک حساب مطابقت داشته باشد.

Transaction / PropertyDataSet 1.. PropertyDataSet ظرفی برای تعریف انواع اتاق و بسته‌ها برای یک ملک واحد.
Transaction / PropertyDataSet / @action 0..1 enum

نوع به‌روزرسانی برای اعمال تعاریف نرخ اتاق.

مقادیر معتبر عبارتند از:

  • overlay : جایگزین همه <RoomData> و <PackageData> تعریف شده قبلی برای ویژگی می شود. فقط <RoomData> و <PackageData> در پیام فعلی معتبر هستند.
  • delta : <RoomData> و <PackageData> را که قبلاً تعریف نشده بود اضافه می کند یا موارد موجود را تغییر می دهد.

این ویژگی اختیاری است و اگر مشخص نشده باشد به صورت پیش فرض روی delta قرار می گیرد.

Transaction / PropertyDataSet / Property 1 string شناسه منحصر به فرد ملک این مقدار باید با شناسه هتل مشخص شده با استفاده از <id> در عنصر <listing> در فید لیست هتل مطابقت داشته باشد. شناسه هتل نیز در مرکز هتل درج شده است.
Transaction / PropertyDataSet / RoomData 0..n RoomData

یک اتاق را توصیف می کند.

توجه: حداقل یکی از <RoomData> یا <PackageData> مورد نیاز است.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID یک شناسه منحصر به فرد برای یک نوع اتاق. این مقدار با استفاده از ویژگی InvTypeCode در عنصر <StatusApplicationControl> در پیام های <OTA_HotelAvailNotifRQ> ، <OTA_HotelRateAmountNotifRQ> و <OTA_HotelInvCountNotifRQ> ارجاع داده می شود.
Transaction / PropertyDataSet / RoomData / Name 1 Name ظرفی برای نام دسته اتاق به یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text نام دسته اتاق را در یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string نام دسته اتاق در زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / RoomData / Description 1 Name ظرفی برای شرح دسته اتاق به یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text شرح دسته اتاق را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string شرح دسته اتاق به زبانی که با ویژگی language مشخص شده است.
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string یک کد زبان دو حرفی
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs ظرفی برای عناصر <AllowablePackageID> .

اگر <AllowablePackageIDs> مشخص شده باشد، نوع اتاق مشخص شده توسط <RoomID> در عنصر والد <RoomData> فقط می تواند با برنامه های نرخ تعریف شده توسط عناصر <AllowablePackageID> ترکیب شود.

اگر <AllowablePackageIDs> مشخص نشده باشد، نوع اتاق مشخص شده توسط <RoomID> در عنصر والد <RoomData> را می توان با هر طرح نرخی ترکیب کرد.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید، اما از هر دو استفاده نکنید.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID PackageID یک طرح نرخ را مشخص می کند که می تواند با این نوع اتاق ترکیب شود. طرح نرخ با ترکیبی از بسته، نرخ ها و در دسترس بودن تعریف می شود. PackageID با RatePlanCode در پیام‌های OTA_HotelRateAmountNotifRQ و OTA_HotelAvailNotifRQ مطابقت دارد.
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer حداکثر تعداد بزرگسالان و کودکانی که یک اتاق می تواند از نظر فیزیکی در خود جای دهد . این مقدار باید بزرگتر یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

مقدار <Capacity> باید یک عدد صحیح مثبت بین 1 و 99 باشد. برای مثال اینجا را ببینید.

توجه: اگر <Capacity> تنظیم نشده باشد، تعداد سرنشینان مجاز نامحدود در نظر گرفته می شود. اگر این فیلد تنظیم نشده باشد و ExtraGuestCharges یا AdditionalGuestAmounts تعریف شده باشد، قیمت‌ها را می‌توان برای هر تعداد ساکن ایجاد کرد. توصیه می‌کنیم اگر ExtraGuestCharges یا AdditionalGuestAmounts تعریف شده‌اند، <Capacity> را تنظیم کنید تا مطمئن شوید که قیمت‌ها برای گزینه‌های اشغال نامعتبر نمایش داده نمی‌شوند.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer حداکثر تعداد بزرگسالانی که یک اتاق می تواند از نظر فیزیکی در خود جای دهد . این مقدار باید بزرگتر یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

مقدار <AdultCapacity> باید یک عدد صحیح مثبت بین 1 و 99 باشد. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer حداکثر تعداد کودکانی که یک اتاق می تواند از نظر فیزیکی در خود جای دهد .

مقدار <ChildCapacity> باید یک عدد صحیح مثبت بین 1 و 99 باشد. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings تنظیماتی که می تواند شرایط اشغال یک اتاق را محدود یا تغییر دهد.

عنصر <OccupancySettings> عناصر فرزند زیر را می گیرد:

  • <MinOccupancy> : حداقل تعداد مهمانانی که می توانند در یک اتاق بمانند. برای مثال، اگر روی 2 تنظیم شده باشد، این اتاق را نمی توان برای یک مهمان رزرو کرد.

    مقدار <MinOccupancy> باید یک عدد صحیح مثبت بین 1 و 99 باشد.

  • <MinAge> : حداقل سن برای تمام مهمانانی که در یک اتاق می مانند. به عنوان مثال، اگر این روی 18 تنظیم شده باشد، این اتاق را فقط می‌توان برای گروه‌هایی رزرو کرد که همه مهمان‌ها بالای 18 سال سن دارند.

    مقدار <MinAge> باید یک عدد صحیح مثبت بین 0 تا 99 باشد.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

لازم نیست همه عناصر کودک گنجانده شوند.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL یک URL و شرح اختیاری برای عکسی از اتاق یا بسته اتاق داده شده. شما می توانید بیش از یک <PhotoURL> را برای یک اتاق یا اتاق بسته مشخص کنید.

این عنصر عناصر فرزند زیر را می گیرد:

  • <URL> : مکان عکس را مشخص می کند. مکان باید عمومی باشد (نه پشت فایروال) و باید شامل پروتکل ( http:// ) باشد.
  • <Caption> : شرح عکس را مشخص می کند. این عنصر یک عنصر فرزند منفرد، <Text> را می گیرد که دارای دو ویژگی مورد نیاز، Text و language است. ویژگی Text عنوان عنوان است و ویژگی language یک کد زبان دو حرفی مانند en را مشخص می کند.
<PhotoURL>
 <URL>http://www.example.com/image1.jpg</URL>
 <Caption>
  <Text text="A bright way to enjoy your
   mornin' cuppa tea." language="en"/>
  <Text text="Une façon lumineuse pour profiter
   de votre tasse de thé." language="fr"/>
 </Caption>
</PhotoURL>
Transaction / PropertyDataSet / RoomData / RoomFeatures 0..1 <RoomFeatures> حاوی اطلاعاتی در مورد ویژگی های اتاق است.
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

نشان دهنده سبک یک اتاق هتل ژاپنی است.

مقادیر معتبر عبارتند از:

  • western : اتاقی به سبک غربی با تخت.
  • japanese : اتاقی به سبک ژاپنی با تختخواب های فوتون.
  • japanese_western : اتاقی به سبک وسترن ژاپنی که هم تخت های به سبک غربی و هم فوتون های سبک ژاپنی دارد.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object به اندازه اتاق دارای <Bed> است. لطفا توجه داشته باشید که فوتون های ژاپنی نباید در اینجا شمارش شوند.

هر <Bed> دارای ویژگی های زیر است:

  • size (اختیاری): مقادیر معتبر single ، semi_double ، double ، queen و king هستند.
هر <Bed> دارای عناصر فرزند زیر است:
  • <Width> (اختیاری): عرض بستر را مشخص می کند. باید unit مشخصه با مقدار cm و number مشخصه با عرض بستر بر حسب سانتی متر باشد.
  • <Length> (اختیاری): طول تخت را مشخص می کند. باید unit مشخصه با مقدار cm و number مشخصه با طول بستر بر حسب سانتی متر باشد.
مثال:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite 0.. enum وقتی این اتاق یک سوئیت است، این عنصر را ارائه دهید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum وقتی این اتاق یک اتاق کپسولی است، این عنصر را فراهم کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum این که آیا این اتاق با ساکنان دیگر مانند مالکان یا سایر مهمانان مشترک است. مقادیر معتبر shared و private هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum هنگامی که این اتاق اقامتگاهی در فضای باز است که دیوارهای ثابت، لوله کشی و کنترل آب و هوا ندارد، این عنصر را ارائه دهید. به عنوان مثال، اتاق‌های هتل محل اقامت در فضای باز نیستند، در حالی که کمپینگ‌هایی که مهمانان در چادرها اقامت می‌کنند و پارک‌های RV که مهمانان RV خود را می‌آورند، اقامتگاه در فضای باز هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum زمانی که این اتاق قابل جابجایی است، این عنصر را ارائه دهید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum چه این اتاق یک اتاق غیرسیگاری باشد یا یک اتاق سیگار. مقادیر معتبر non_smoking و smoking هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 Object حاوی اطلاعاتی درباره حمام و توالت در اتاق است.

صفت این است:

  • relation (اختیاری): نشان می دهد که حمام و توالت چگونه نسبت به یکدیگر قرار گرفته اند. مقادیر معتبر together هستند، برای مثال، حمامی که در آن حمام و توالت با هم در یک اتاق قرار دارند. و separate که حمام و توالت هر کدام دارای فضاهای اختصاصی هستند. وقتی اتاق حمام و توالت ندارد، این ویژگی نباید تنظیم شود.

عنصر به صورت اختیاری عناصر فرزند زیر را می گیرد:

  • <Bath> (اختیاری): وجود این عنصر نشان دهنده حمام بودن اتاق است.

    صفات عبارتند از:

    • bathtub (اختیاری): نشان می دهد که حمام دارای وان در حمام است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • shower (اختیاری): نشان می دهد که حمام دوش دارد. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
  • <Toilet> (اختیاری): وجود این عنصر نشان می دهد که این اتاق دارای سرویس بهداشتی است.

    صفات عبارتند از:

    • electronic_bidet (اختیاری): نشان می دهد که توالت دارای یک قیمت الکترونیکی است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • mobility_accessible (اختیاری): نشان می دهد که توالت قابل تحرک است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

مثال:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum زمانی که این اتاق دارای حمام خصوصی در فضای باز است، این عنصر را تامین کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum زمانی که این اتاق دارای تهویه مطبوع است، این عنصر را فراهم کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum زمانی که این اتاق دارای بالکن یا لانه است، این عنصر را فراهم کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 Object گزینه های معتبر عبارتند از:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

ظرفی برای عناصری که ویژگی‌های نرخ و عباراتی را توصیف می‌کنند که بخشی از توضیحات اتاق فیزیکی نیستند.

توجه: حداقل یکی از <RoomData> یا <PackageData> مورد نیاز است.

Transaction / PropertyDataSet / PackageData / PackageID 1 string PackageID در این پیام‌ها با RatePlanCode در پیام‌های OTA_HotelRateAmountNotifRQ و OTA_HotelAvailNotifRQ مطابقت دارد.
Transaction / PropertyDataSet / PackageData / Name 1 Name ظرفی برای نام بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text نام بسته را در یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string نام بسته به زبانی که توسط ویژگی language مشخص شده است.
Transaction / PropertyDataSet / PackageData / Description 1 Description ظرفی برای شرح بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text توضیحات بسته را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string توضیحات بسته به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string یک کد زبان دو حرفی
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs محفظه ای برای عناصر <AllowableRoomID> .

اگر <AllowableRoomIDs> مشخص شده باشد، طرح نرخ شناسایی شده توسط <PackageID> در عنصر اصلی <PackageData> فقط می تواند با انواع اتاق تعریف شده توسط عناصر <AllowableRoomID> ترکیب شود.

اگر <AllowableRoomIDs> مشخص نشده باشد، طرح نرخ شناسایی شده توسط <PackageID> در عنصر اصلی <PackageData> را می توان با هر نوع اتاقی ترکیب کرد.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید، اما از هر دو استفاده نکنید.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID RoomID یک نوع اتاق را مشخص می کند که می تواند با این طرح نرخ ترکیب شود. یک نوع اتاق در عنصر <RoomData> تعریف شده است.
Transaction / PropertyDataSet / PackageData / MilesIncluded 0..1 MilesIncluded اطلاعات امتیازات وفاداری را بر اساس نحوه تعریف برنامه‌ها یا بسته‌های نرخ به بسته‌ها اضافه کنید. عنصر <MilesIncluded> را در عنصر <PackageData> که برنامه نرخ را تعریف می کند، مشخص کنید. <MilesIncluded> عنصر فرزند زیر را دارد:
  • LoyaltyCampaignID : شناسه منحصربه‌فردی که کمپین وفاداری خاصی را که با Google پیکربندی و به‌روزرسانی شده است، مشخص می‌کند. امتیاز وفاداری را به قیمت هتل اضافه می کند.

    برای گنجاندن عنصر <MilesIncluded> شناسه کمپین باید در پیکربندی کمپین وفاداری پیکربندی شود. جزئیات خاص در مورد نحوه استفاده Google از امتیازات وفاداری در نتایج توسط پیکربندی کمپین وفاداری تعیین می شود.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
    </MilesIncluded>

    توجه: در موارد نادر می‌توانید <NumberOfMiles> در عنصر <MilesIncluded> وارد کنید تا مشخص کنید که طرح همیشه بدون توجه به برنامه سفر، تعداد ثابتی امتیاز کسب می‌کند. درباره <MilesIncluded> در <PackageData> بیشتر بیاموزید.

Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable فهرست کردن نرخی را به‌عنوان قابل استرداد یا لغو کامل فعال می‌کند. در صورت عدم ارائه، هیچ اطلاعاتی در مورد بازپرداخت نمایش داده نمی شود.

توجه: توصیه می کنیم همه ویژگی ها را تنظیم کنید. هنگامی که یک یا چند ویژگی تنظیم نشده باشد، یک پیام هشدار وضعیت فید ایجاد می شود.

اگر هیچ مشخصه ای تنظیم نکنید، نرخ به عنوان قابل استرداد نمایش داده نمی شود.

هنگام تنظیم ویژگی ها، به موارد زیر توجه کنید:

  • اگر available یا refundable_until_days تنظیم نشده باشد، نرخ به عنوان قابل استرداد نمایش داده نمی شود.
  • اگر available 0 یا false باشد، سایر ویژگی ها نادیده گرفته می شوند. حتی اگر یک یا هر دو ویژگی دیگر تنظیم شده باشد، نرخ به عنوان قابل استرداد نمایش داده نمی شود.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (الزامی) روی 1 یا true تنظیم کنید تا مشخص شود آیا نرخ امکان بازپرداخت کامل را دارد یا خیر. در غیر این صورت روی 0 یا false تنظیم کنید.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (الزامی در صورت available true است) تعداد روزهای قبل از ورود را مشخص می کند که می توان بازپرداخت کامل را درخواست کرد. مقدار refundable_until_days باید یک عدد صحیح بین 0 تا 330 باشد.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (به شدت توصیه می شود اگر available true باشد) آخرین زمانی از روز را در زمان محلی هتل مشخص می کند که درخواست بازپرداخت کامل مورد توجه قرار می گیرد. این را می توان با refundable_until_days ترکیب کرد تا مشخص شود، به عنوان مثال، "بازپرداخت تا ساعت 16:00 دو روز قبل از اعلام حضور در دسترس است". اگر refundable_until_time تنظیم نشده باشد، مقدار پیش‌فرض نیمه‌شب است.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean مشخص می کند که آیا این نوع اتاق شامل صبحانه می شود یا خیر. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

ترجیحاً از <Meals> به جای <BreakfastIncluded> استفاده کنید.

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time زودترین زمان ممکن برای ورود به وقت محلی هتل. زمان باید کمتر از 24:00 باشد.
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time آخرین زمان ممکن برای خروج به وقت محلی هتل.
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean مشخص می کند که آیا اتاق دارای دسترسی به اینترنت رایگان است در حالی که اتاق های دیگر این امکانات را ندارند. این عنصر را در هتلی که اینترنت رایگان برای همه اتاق ها ارائه می دهد، تنظیم نکنید. این عنصر برای اینترنت سیمی داخل اتاق یا اینترنت بی‌سیمی که در اتاق‌های مهمان در دسترس نیست اعمال نمی‌شود. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
Transaction / PropertyDataSet / PackageData / Meals 0..1 Object حاوی اطلاعاتی در مورد وعده های غذایی در این بسته است.

عنصر <Meals> دو عنصر اختیاری فرزند را انتخاب می کند، <Breakfast> و <Dinner> که دارای ویژگی های زیر هستند:

  • included (الزامی): اگر نرخ شامل صبحانه/شام باشد، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 یا false تنظیم کنید.
  • in_room (اختیاری): اگر مهمانان می‌توانند صبحانه/شام را در اتاقی که در آن اقامت می‌کنند می‌خورند، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • in_private_space (اختیاری): اگر مهمانان می‌توانند صبحانه/شام را در فضایی (به استثنای اتاقی که در آن اقامت می‌کنند) می‌خورند، روی 1 (یا true ) تنظیم کنید تا از تماس با مهمانان دیگر اجتناب کنند. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • buffet (اختیاری): اگر صبحانه/شام به صورت بوفه سرو می شود، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.

ویژگی‌های اختیاری تنها زمانی استفاده می‌شوند که included درست باشد.

برای اینکه فیلترهای وعده غذایی ( no meals ، breakfast only ، dinner only و breakfast and dinner ) کار کنند، هر دو <Breakfast> و <Dinner> باید دارای ویژگی included باشند.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean این که آیا یک اتاق شامل پارکینگ بدون هزینه باشد، در غیر این صورت پارکینگ در این هتل یک سرویس پولی خواهد بود. برای هتلی که پارکینگ رایگان ارائه می دهد، مقداری برای این عنصر مشخص نکنید. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند. مقدار پیش فرض false است.
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object (همانند <PhotoURL> در <RoomData> ، اما برای بسته (مثلاً عکس های غذا).)

نمونه ها

داده های اتاق و بسته

در زیر یک مثال اساسی از نحوه تعریف اتاق یک ملک و داده‌های بسته در پیام تراکنش (داده‌های ملک) آورده شده است. ویژگی overlay برای اطمینان از اینکه، اگر داده‌ای به طور غیرمنتظره قبلاً وجود داشته باشد، تمام داده‌های موجود حذف شده و با داده‌های این پیام جایگزین می‌شوند، استفاده می‌شود:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Description>
        <Text text="Room with a king bed" language="en"/>
      </Description>
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a king bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <Description>
        <Text text="Free breakfast rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

یک نوع اتاق اضافه کنید

در زیر نمونه ای از نحوه افزودن نوع اتاق و بسته به داده های <Transaction> موجود است:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_3</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_3</PackageID>
      <Name>
        <Text text="Non-Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="false"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

انواع اتاق را حذف کنید

در زیر نمونه ای از نحوه حذف انواع و بسته های اتاق موجود است. در این سناریو، اگر پیام‌های موجود در «داده‌های اتاق و بسته» و «افزودن نوع اتاق» قبلاً به Google ارسال شده بود، پس از دریافت پیام نشان‌داده‌شده توسط Google، نوع اتاق‌های King و Double دیگر وجود نداشتند. توجه داشته باشید که حذف داده‌های بسته بر برنامه نرخ کلی تعریف شده در پیام‌های Transaction (Property Data)، OTA_HotelRateAmountNotifRQ، و OTA_HotelAvailNotifRQ تأثیر می‌گذارد (با ارجاع به همان مقدار PackageID )، و بنابراین ممکن است به‌روزرسانی‌های متناظر با استفاده از سایر انواع پیام‌ها برای منعکس PackageID_3 PackageID_2 مورد نیاز باشد.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a queen bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>


برنامه های نرخ را محدود کنید

در زیر نمونه ای از نحوه استفاده از عنصر <AllowablePackageIDs> برای محدود کردن برنامه های نرخ مجاز برای یک نوع اتاق آورده شده است. در این مثال، نوع اتاق Queen ( RoomID_2 ) را فقط می توان با بسته بندی و طرح نرخ شناسایی شده به عنوان PackageID_1 ترکیب کرد.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID_1</AllowablePackageID>
      </AllowablePackageIDs>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

ظرفیت اتاق را محدود کنید

در زیر نمونه ای از نحوه استفاده از عناصر <Capacity> ، <AdultCapacity> ، <ChildCapacity> برای تعیین محدودیت در ظرفیت اتاق آورده شده است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <Capacity>4</Capacity>
      <AdultCapacity>4</AdultCapacity>
      <ChildCapacity>3</ChildCapacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>
</Transaction>

نوع اتاق دو نفره (RoomID_1) ممکن است در مجموع حداکثر 4 مهمان داشته باشد. علاوه بر این، ممکن است حداکثر ۴ بزرگسال و حداکثر ۳ کودک داشته باشد. برای اینکه این اتاق قابل رزرو باشد، باید هر سه مورد نیاز ظرفیت رعایت شود. این پیکربندی نماینده یک اتاق معمولی با دو تخت است که هر کدام برای دو نفر مناسب است. ظرفیت کودک یک کمتر از کل ظرفیت است زیرا در اتاق باید حداقل یک بزرگسال حضور داشته باشد.

نمونه های گسترده با <RoomFeatures> و وعده های غذایی

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

دو تخت یک نفره

مثال زیر نحوه استفاده از <RoomFeatures> را نشان می دهد:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

دو تخت دونفره

در زیر نمونه ای از اتاق به سبک western با دو تخت double را مشاهده می کنید.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

سبک ژاپنی بدون تخت

نمونه زیر یک اتاق بدون تخت به سبک ژاپنی است. اطلاعات تخت برای اتاق به سبک japanese مورد نیاز نیست.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

وسترن ژاپنی با تخت

در زیر نمونه ای از یک اتاق به سبک japanese_western با تخت king است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

اگر شریک اطلاعات تعداد تخت‌ها را در اتاق‌های japanese_western ندارد، به مثال زیر مراجعه کنید:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


وعده های غذایی

مثال زیر فراداده اتاق و بسته را برای وعده‌های غذایی، عکس‌ها و زمان‌های ورود و خروج تعریف می‌کند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

فقط صبحانه

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

پاسخ ها

نحو

پیام TransactionResponse (Property Data) از نحو زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
                     id="message_ID"
                     partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TransactionResponse>

عناصر و صفات

پیام TransactionResponse (Property Data) دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
TransactionResponse 1 Complex element عنصر ریشه که موفقیت یا مشکلات یک پیام درخواست تراکنش دریافتی را نشان می دهد.
TransactionResponse / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
TransactionResponse / @id 1 string شناسه منحصر به فرد از پیام تراکنش مرتبط.
TransactionResponse / @partner 1 string حساب شریک برای این پیام.
TransactionResponse / Success 0..1 Success نشان می دهد که پیام تراکنش بدون اخطار، خطا یا شکست با موفقیت پردازش شده است.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues 0..1 Issues محفظه ای برای یک یا چند مشکلی که هنگام پردازش پیام تراکنش با آن مواجه می شوید.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues / Issue 1..n Issue شرح هشدار، خطا یا شکستی که هنگام پردازش پیام تراکنش با آن مواجه شده است. جزئیات مربوط به این مسائل را می‌توانید در پیام‌های خطای وضعیت فید مشاهده کنید.
TransactionResponse / Issues / Issue / @code 1 integer شناسه مشکل
TransactionResponse / Issues / Issue / @status 1 enum

نوع مشکل مواجه شده

مقادیر معتبر warning ، error و failure هستند.

نمونه ها

موفقیت

زیر پاسخی به یک پیام تراکنش با موفقیت پردازش شده است.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>

مسائل

زیر پاسخی است به یک پیام تراکنش که به دلیل خطا پردازش نشده است.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TransactionResponse>

،

درخواست ها

نحو

پیام Transaction (Property Data) از نحو زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
             id="message_ID"
             partner="partner_key">
  <PropertyDataSet action="[overlay|delta]">
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>HotelID</Property>
    <RoomData>
      <!-- (Required) One room ID per RoomData element -->
      <RoomID>RoomID</RoomID>
      <Name>
        <Text text="room_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="room_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the rate plans allowed for this room type to
        those listed here. If specified, don't specify AllowableRoomIDs. -->
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID</AllowablePackageID>
      </AllowablePackageIDs>
      <Capacity>max_number_of_occupants</Capacity>
      <AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
      <ChildCapacity>max_number_of_child_occupants</ChildCapacity>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="bed_width"/>
             <Length unit="cm" number="bed_length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>
      </RoomFeatures>
    </RoomData>
    <PackageData>
      <!-- (Required) One package ID per PackageData element -->
      <PackageID>PackageID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the room types allowed for this rate plan to
        those listed here. If specified, don't specify AllowablePackageIDs. -->
      <AllowableRoomIDs>
        <AllowableRoomID>RoomID</AllowableRoomID>
      </AllowableRoomIDs>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

عناصر و صفات

پیام Transaction (Property Data) دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
Transaction 1 Complex element در اجرای ARI، این عنصر ریشه برای پیامی است که انواع اتاق و بسته‌ها را برای یک ویژگی مشخص می‌کند.
Transaction / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
Transaction / @id 1 string یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ بازگردانده می شود. کاراکترهای مجاز عبارتند از: az، AZ، ​​0-9، _ (خط زیر)، و - (خط تیر).
Transaction / @partner 1 string حساب شریک برای این پیام. این مقدار رشته، مقدار «کلید شریک» است که در صفحه تنظیمات حساب در مرکز هتل فهرست شده است.

توجه: اگر یک Backend دارید که برای چندین حساب فید ارائه می‌دهد، این مقدار باید با مقدار مشخصه ID مشخص شده در عنصر <RequestorID> پیام‌های <OTA_HotelRateAmountNotifRQ> و <OTA_HotelAvailNotifRQ> برای یک حساب مطابقت داشته باشد.

Transaction / PropertyDataSet 1.. PropertyDataSet ظرفی برای تعریف انواع اتاق و بسته‌ها برای یک ملک واحد.
Transaction / PropertyDataSet / @action 0..1 enum

نوع به‌روزرسانی برای اعمال تعاریف نرخ اتاق.

مقادیر معتبر عبارتند از:

  • overlay : جایگزین همه <RoomData> و <PackageData> تعریف شده قبلی برای ویژگی می شود. فقط <RoomData> و <PackageData> در پیام فعلی معتبر هستند.
  • delta : <RoomData> و <PackageData> را که قبلاً تعریف نشده بود اضافه می کند یا موارد موجود را تغییر می دهد.

این ویژگی اختیاری است و اگر مشخص نشده باشد به صورت پیش فرض روی delta قرار می گیرد.

Transaction / PropertyDataSet / Property 1 string شناسه منحصر به فرد ملک این مقدار باید با شناسه هتل مشخص شده با استفاده از <id> در عنصر <listing> در فید لیست هتل مطابقت داشته باشد. شناسه هتل نیز در مرکز هتل درج شده است.
Transaction / PropertyDataSet / RoomData 0..n RoomData

یک اتاق را توصیف می کند.

توجه: حداقل یکی از <RoomData> یا <PackageData> مورد نیاز است.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID یک شناسه منحصر به فرد برای یک نوع اتاق. این مقدار با استفاده از ویژگی InvTypeCode در عنصر <StatusApplicationControl> در پیام های <OTA_HotelAvailNotifRQ> ، <OTA_HotelRateAmountNotifRQ> و <OTA_HotelInvCountNotifRQ> ارجاع داده می شود.
Transaction / PropertyDataSet / RoomData / Name 1 Name ظرفی برای نام دسته اتاق به یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text نام دسته اتاق را در یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string نام دسته اتاق در زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / RoomData / Description 1 Name ظرفی برای شرح دسته اتاق به یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text شرح دسته اتاق را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string شرح دسته اتاق به زبانی که با ویژگی language مشخص شده است.
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string یک کد زبان دو حرفی
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs ظرفی برای عناصر <AllowablePackageID> .

اگر <AllowablePackageIDs> مشخص شده باشد، نوع اتاق مشخص شده توسط <RoomID> در عنصر والد <RoomData> فقط می تواند با برنامه های نرخ تعریف شده توسط عناصر <AllowablePackageID> ترکیب شود.

اگر <AllowablePackageIDs> مشخص نشده باشد، نوع اتاق مشخص شده توسط <RoomID> در عنصر والد <RoomData> را می توان با هر طرح نرخی ترکیب کرد.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید، اما از هر دو استفاده نکنید.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID PackageID یک طرح نرخ را مشخص می کند که می تواند با این نوع اتاق ترکیب شود. طرح نرخ با ترکیبی از بسته، نرخ ها و در دسترس بودن تعریف می شود. PackageID با RatePlanCode در پیام‌های OTA_HotelRateAmountNotifRQ و OTA_HotelAvailNotifRQ مطابقت دارد.
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer حداکثر تعداد بزرگسالان و کودکانی که یک اتاق می تواند از نظر فیزیکی در خود جای دهد . این مقدار باید بزرگتر یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

مقدار <Capacity> باید یک عدد صحیح مثبت بین 1 و 99 باشد. برای مثال اینجا را ببینید.

توجه: اگر <Capacity> تنظیم نشده باشد، تعداد سرنشینان مجاز نامحدود در نظر گرفته می شود. اگر این فیلد تنظیم نشده باشد و ExtraGuestCharges یا AdditionalGuestAmounts تعریف شده باشد، قیمت‌ها را می‌توان برای هر تعداد ساکن ایجاد کرد. توصیه می‌کنیم اگر ExtraGuestCharges یا AdditionalGuestAmounts تعریف شده‌اند، <Capacity> را تنظیم کنید تا مطمئن شوید که قیمت‌ها برای گزینه‌های اشغال نامعتبر نمایش داده نمی‌شوند.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer حداکثر تعداد بزرگسالانی که یک اتاق می تواند از نظر فیزیکی در خود جای دهد . این مقدار باید بزرگتر یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

مقدار <AdultCapacity> باید یک عدد صحیح مثبت بین 1 و 99 باشد. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer حداکثر تعداد کودکانی که یک اتاق می تواند از نظر فیزیکی در خود جای دهد .

مقدار <ChildCapacity> باید یک عدد صحیح مثبت بین 1 و 99 باشد. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings تنظیماتی که می تواند شرایط اشغال یک اتاق را محدود یا تغییر دهد.

عنصر <OccupancySettings> عناصر فرزند زیر را می گیرد:

  • <MinOccupancy> : حداقل تعداد مهمانانی که می توانند در یک اتاق بمانند. برای مثال، اگر روی 2 تنظیم شده باشد، این اتاق را نمی توان برای یک مهمان رزرو کرد.

    مقدار <MinOccupancy> باید یک عدد صحیح مثبت بین 1 و 99 باشد.

  • <MinAge> : حداقل سن برای تمام مهمانانی که در یک اتاق می مانند. به عنوان مثال، اگر این روی 18 تنظیم شده باشد، این اتاق را فقط می‌توان برای گروه‌هایی رزرو کرد که همه مهمان‌ها بالای 18 سال سن دارند.

    مقدار <MinAge> باید یک عدد صحیح مثبت بین 0 تا 99 باشد.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

لازم نیست همه عناصر کودک گنجانده شوند.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL یک URL و شرح اختیاری برای عکسی از اتاق یا بسته اتاق داده شده. شما می توانید بیش از یک <PhotoURL> را برای یک اتاق یا اتاق بسته مشخص کنید.

این عنصر عناصر فرزند زیر را می گیرد:

  • <URL> : مکان عکس را مشخص می کند. مکان باید عمومی باشد (نه پشت فایروال) و باید شامل پروتکل ( http:// ) باشد.
  • <Caption> : شرح عکس را مشخص می کند. این عنصر یک عنصر فرزند منفرد، <Text> را می گیرد که دارای دو ویژگی مورد نیاز، Text و language است. ویژگی Text عنوان عنوان است و ویژگی language یک کد زبان دو حرفی مانند en را مشخص می کند.
<PhotoURL>
 <URL>http://www.example.com/image1.jpg</URL>
 <Caption>
  <Text text="A bright way to enjoy your
   mornin' cuppa tea." language="en"/>
  <Text text="Une façon lumineuse pour profiter
   de votre tasse de thé." language="fr"/>
 </Caption>
</PhotoURL>
Transaction / PropertyDataSet / RoomData / RoomFeatures 0..1 <RoomFeatures> حاوی اطلاعاتی در مورد ویژگی های اتاق است.
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

نشان دهنده سبک یک اتاق هتل ژاپنی است.

مقادیر معتبر عبارتند از:

  • western : اتاقی به سبک غربی با تخت.
  • japanese : اتاقی به سبک ژاپنی با تختخواب های فوتون.
  • japanese_western : اتاقی به سبک وسترن ژاپنی که هم تخت های به سبک غربی و هم فوتون های سبک ژاپنی دارد.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object به اندازه اتاق دارای <Bed> است. لطفا توجه داشته باشید که فوتون های ژاپنی نباید در اینجا شمارش شوند.

هر <Bed> دارای ویژگی های زیر است:

  • size (اختیاری): مقادیر معتبر single ، semi_double ، double ، queen و king هستند.
هر <Bed> دارای عناصر فرزند زیر است:
  • <Width> (اختیاری): عرض بستر را مشخص می کند. باید unit مشخصه با مقدار cm و number مشخصه با عرض بستر بر حسب سانتی متر باشد.
  • <Length> (اختیاری): طول تخت را مشخص می کند. باید unit مشخصه با مقدار cm و number مشخصه با طول بستر بر حسب سانتی متر باشد.
مثال:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite 0.. enum وقتی این اتاق یک سوئیت است، این عنصر را ارائه دهید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum وقتی این اتاق یک اتاق کپسولی است، این عنصر را فراهم کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum این که آیا این اتاق با ساکنان دیگر مانند مالکان یا سایر مهمانان مشترک است. مقادیر معتبر shared و private هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum هنگامی که این اتاق اقامتگاهی در فضای باز است که دیوارهای ثابت، لوله کشی و کنترل آب و هوا ندارد، این عنصر را ارائه دهید. به عنوان مثال، اتاق‌های هتل محل اقامت در فضای باز نیستند، در حالی که کمپینگ‌هایی که مهمانان در چادرها اقامت می‌کنند و پارک‌های RV که مهمانان RV خود را می‌آورند، اقامتگاه در فضای باز هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum زمانی که این اتاق قابل جابجایی است، این عنصر را ارائه دهید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum چه این اتاق یک اتاق غیرسیگاری باشد یا یک اتاق سیگار. مقادیر معتبر non_smoking و smoking هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 Object حاوی اطلاعاتی درباره حمام و توالت در اتاق است.

صفت این است:

  • relation (اختیاری): نشان می دهد که حمام و توالت چگونه نسبت به یکدیگر قرار گرفته اند. مقادیر معتبر together هستند، برای مثال، حمامی که در آن حمام و توالت با هم در یک اتاق قرار دارند. و separate که حمام و توالت هر کدام دارای فضاهای اختصاصی هستند. وقتی اتاق حمام و توالت ندارد، این ویژگی نباید تنظیم شود.

عنصر به صورت اختیاری عناصر فرزند زیر را می گیرد:

  • <Bath> (اختیاری): وجود این عنصر نشان دهنده حمام بودن اتاق است.

    صفات عبارتند از:

    • bathtub (اختیاری): نشان می دهد که حمام دارای وان در حمام است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • shower (اختیاری): نشان می دهد که حمام دوش دارد. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
  • <Toilet> (اختیاری): وجود این عنصر نشان می دهد که این اتاق دارای سرویس بهداشتی است.

    صفات عبارتند از:

    • electronic_bidet (اختیاری): نشان می دهد که توالت دارای یک قیمت الکترونیکی است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • mobility_accessible (اختیاری): نشان می دهد که توالت قابل تحرک است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

مثال:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum زمانی که این اتاق دارای حمام خصوصی در فضای باز است، این عنصر را تامین کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum زمانی که این اتاق دارای تهویه مطبوع است، این عنصر را فراهم کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum زمانی که این اتاق دارای بالکن یا لانه است، این عنصر را فراهم کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 Object گزینه های معتبر عبارتند از:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

ظرفی برای عناصری که ویژگی‌های نرخ و عباراتی را توصیف می‌کنند که بخشی از توضیحات اتاق فیزیکی نیستند.

توجه: حداقل یکی از <RoomData> یا <PackageData> مورد نیاز است.

Transaction / PropertyDataSet / PackageData / PackageID 1 string PackageID در این پیام‌ها با RatePlanCode در پیام‌های OTA_HotelRateAmountNotifRQ و OTA_HotelAvailNotifRQ مطابقت دارد.
Transaction / PropertyDataSet / PackageData / Name 1 Name ظرفی برای نام بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text نام بسته را در یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string نام بسته به زبانی که توسط ویژگی language مشخص شده است.
Transaction / PropertyDataSet / PackageData / Description 1 Description ظرفی برای شرح بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text توضیحات بسته را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string توضیحات بسته به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string یک کد زبان دو حرفی
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs محفظه ای برای عناصر <AllowableRoomID> .

اگر <AllowableRoomIDs> مشخص شده باشد، طرح نرخ شناسایی شده توسط <PackageID> در عنصر اصلی <PackageData> فقط می تواند با انواع اتاق تعریف شده توسط عناصر <AllowableRoomID> ترکیب شود.

اگر <AllowableRoomIDs> مشخص نشده باشد، طرح نرخ شناسایی شده توسط <PackageID> در عنصر اصلی <PackageData> را می توان با هر نوع اتاقی ترکیب کرد.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید، اما از هر دو استفاده نکنید.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID RoomID یک نوع اتاق را مشخص می کند که می تواند با این طرح نرخ ترکیب شود. یک نوع اتاق در عنصر <RoomData> تعریف شده است.
Transaction / PropertyDataSet / PackageData / MilesIncluded 0..1 MilesIncluded اطلاعات امتیازات وفاداری را بر اساس نحوه تعریف برنامه‌ها یا بسته‌های نرخ به بسته‌ها اضافه کنید. عنصر <MilesIncluded> را در عنصر <PackageData> که برنامه نرخ را تعریف می کند، مشخص کنید. <MilesIncluded> عنصر فرزند زیر را دارد:
  • LoyaltyCampaignID : شناسه منحصربه‌فردی که کمپین وفاداری خاصی را که با Google پیکربندی و به‌روزرسانی شده است، مشخص می‌کند. امتیاز وفاداری را به قیمت هتل اضافه می کند.

    برای گنجاندن عنصر <MilesIncluded> شناسه کمپین باید در پیکربندی کمپین وفاداری پیکربندی شود. جزئیات خاص در مورد نحوه استفاده Google از امتیازات وفاداری در نتایج توسط پیکربندی کمپین وفاداری تعیین می شود.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
    </MilesIncluded>

    توجه: در موارد نادر می‌توانید <NumberOfMiles> در عنصر <MilesIncluded> وارد کنید تا مشخص کنید که طرح همیشه بدون توجه به برنامه سفر، تعداد ثابتی امتیاز کسب می‌کند. درباره <MilesIncluded> در <PackageData> بیشتر بیاموزید.

Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable فهرست کردن نرخی را به‌عنوان قابل استرداد یا لغو کامل فعال می‌کند. در صورت عدم ارائه، هیچ اطلاعاتی در مورد بازپرداخت نمایش داده نمی شود.

توجه: توصیه می کنیم همه ویژگی ها را تنظیم کنید. هنگامی که یک یا چند ویژگی تنظیم نشده باشد، یک پیام هشدار وضعیت فید ایجاد می شود.

اگر هیچ مشخصه ای تنظیم نکنید، نرخ به عنوان قابل استرداد نمایش داده نمی شود.

هنگام تنظیم ویژگی ها، به موارد زیر توجه کنید:

  • اگر available یا refundable_until_days تنظیم نشده باشد، نرخ به عنوان قابل استرداد نمایش داده نمی شود.
  • اگر available 0 یا false باشد، سایر ویژگی ها نادیده گرفته می شوند. حتی اگر یک یا هر دو ویژگی دیگر تنظیم شده باشد، نرخ به عنوان قابل استرداد نمایش داده نمی شود.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (الزامی) روی 1 یا true تنظیم کنید تا مشخص شود آیا نرخ امکان بازپرداخت کامل را دارد یا خیر. در غیر این صورت روی 0 یا false تنظیم کنید.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (الزامی در صورت available true است) تعداد روزهای قبل از ورود را مشخص می کند که می توان بازپرداخت کامل را درخواست کرد. مقدار refundable_until_days باید یک عدد صحیح بین 0 تا 330 باشد.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (به شدت توصیه می شود اگر available true باشد) آخرین زمانی از روز را در زمان محلی هتل مشخص می کند که درخواست بازپرداخت کامل مورد توجه قرار می گیرد. این را می توان با refundable_until_days ترکیب کرد تا مشخص شود، به عنوان مثال، "بازپرداخت تا ساعت 16:00 دو روز قبل از اعلام حضور در دسترس است". اگر refundable_until_time تنظیم نشده باشد، مقدار پیش‌فرض نیمه‌شب است.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean مشخص می کند که آیا این نوع اتاق شامل صبحانه می شود یا خیر. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

ترجیحاً از <Meals> به جای <BreakfastIncluded> استفاده کنید.

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time زودترین زمان ممکن برای ورود به وقت محلی هتل. زمان باید کمتر از 24:00 باشد.
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time آخرین زمان ممکن برای خروج به وقت محلی هتل.
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean مشخص می کند که آیا اتاق دارای دسترسی به اینترنت رایگان است در حالی که اتاق های دیگر این امکانات را ندارند. این عنصر را در هتلی که اینترنت رایگان برای همه اتاق ها ارائه می دهد، تنظیم نکنید. این عنصر برای اینترنت سیمی داخل اتاق یا اینترنت بی‌سیمی که در اتاق‌های مهمان در دسترس نیست اعمال نمی‌شود. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
Transaction / PropertyDataSet / PackageData / Meals 0..1 Object حاوی اطلاعاتی در مورد وعده های غذایی در این بسته است.

عنصر <Meals> دو عنصر اختیاری فرزند را انتخاب می کند، <Breakfast> و <Dinner> که دارای ویژگی های زیر هستند:

  • included (الزامی): اگر نرخ شامل صبحانه/شام باشد، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 یا false تنظیم کنید.
  • in_room (اختیاری): اگر مهمانان می‌توانند صبحانه/شام را در اتاقی که در آن اقامت می‌کنند می‌خورند، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • in_private_space (اختیاری): اگر مهمانان می‌توانند صبحانه/شام را در فضایی (به استثنای اتاقی که در آن اقامت می‌کنند) می‌خورند، روی 1 (یا true ) تنظیم کنید تا از تماس با مهمانان دیگر اجتناب کنند. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • buffet (اختیاری): اگر صبحانه/شام به صورت بوفه سرو می شود، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.

ویژگی‌های اختیاری تنها زمانی استفاده می‌شوند که included درست باشد.

برای اینکه فیلترهای وعده غذایی ( no meals ، breakfast only ، dinner only و breakfast and dinner ) کار کنند، هر دو <Breakfast> و <Dinner> باید دارای ویژگی included باشند.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean این که آیا یک اتاق شامل پارکینگ بدون هزینه باشد، در غیر این صورت پارکینگ در این هتل یک سرویس پولی خواهد بود. برای هتلی که پارکینگ رایگان ارائه می دهد، مقداری برای این عنصر مشخص نکنید. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند. مقدار پیش فرض false است.
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object (همانند <PhotoURL> در <RoomData> ، اما برای بسته (مثلاً عکس های غذا).)

نمونه ها

داده های اتاق و بسته

در زیر یک مثال اساسی از نحوه تعریف اتاق یک ملک و داده‌های بسته در پیام تراکنش (داده‌های ملک) آورده شده است. ویژگی overlay برای اطمینان از اینکه، اگر داده‌ای به طور غیرمنتظره قبلاً وجود داشته باشد، تمام داده‌های موجود حذف شده و با داده‌های این پیام جایگزین می‌شوند، استفاده می‌شود:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Description>
        <Text text="Room with a king bed" language="en"/>
      </Description>
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a king bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <Description>
        <Text text="Free breakfast rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

یک نوع اتاق اضافه کنید

در زیر نمونه ای از نحوه افزودن نوع اتاق و بسته به داده های <Transaction> موجود است:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_3</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_3</PackageID>
      <Name>
        <Text text="Non-Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="false"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

انواع اتاق را حذف کنید

در زیر نمونه ای از نحوه حذف انواع و بسته های اتاق موجود است. در این سناریو، اگر پیام‌های موجود در «داده‌های اتاق و بسته» و «افزودن نوع اتاق» قبلاً به Google ارسال شده بود، پس از دریافت پیام نشان‌داده‌شده توسط Google، نوع اتاق‌های King و Double دیگر وجود نداشتند. توجه داشته باشید که حذف داده‌های بسته بر برنامه نرخ کلی تعریف شده در پیام‌های Transaction (Property Data)، OTA_HotelRateAmountNotifRQ، و OTA_HotelAvailNotifRQ تأثیر می‌گذارد (با ارجاع به همان مقدار PackageID )، و بنابراین ممکن است به‌روزرسانی‌های متناظر با استفاده از سایر انواع پیام‌ها برای منعکس PackageID_3 PackageID_2 مورد نیاز باشد.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a queen bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>


برنامه های نرخ را محدود کنید

در زیر نمونه ای از نحوه استفاده از عنصر <AllowablePackageIDs> برای محدود کردن برنامه های نرخ مجاز برای یک نوع اتاق آورده شده است. در این مثال، نوع اتاق Queen ( RoomID_2 ) را فقط می توان با بسته بندی و طرح نرخ شناسایی شده به عنوان PackageID_1 ترکیب کرد.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID_1</AllowablePackageID>
      </AllowablePackageIDs>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

ظرفیت اتاق را محدود کنید

در زیر نمونه ای از نحوه استفاده از عناصر <Capacity> ، <AdultCapacity> ، <ChildCapacity> برای تعیین محدودیت در ظرفیت اتاق آورده شده است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <Capacity>4</Capacity>
      <AdultCapacity>4</AdultCapacity>
      <ChildCapacity>3</ChildCapacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>
</Transaction>

نوع اتاق دو نفره (RoomID_1) ممکن است در مجموع حداکثر 4 مهمان داشته باشد. علاوه بر این، ممکن است حداکثر ۴ بزرگسال و حداکثر ۳ کودک داشته باشد. برای اینکه این اتاق قابل رزرو باشد، باید هر سه مورد نیاز ظرفیت رعایت شود. این پیکربندی نماینده یک اتاق معمولی با دو تخت است که هر کدام برای دو نفر مناسب است. ظرفیت کودک یک کمتر از کل ظرفیت است زیرا در اتاق باید حداقل یک بزرگسال حضور داشته باشد.

نمونه های گسترده با <RoomFeatures> و وعده های غذایی

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

دو تخت یک نفره

مثال زیر نحوه استفاده از <RoomFeatures> را نشان می دهد:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

دو تخت دونفره

در زیر نمونه ای از اتاق سبک western با دو تخت double است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

سبک ژاپنی بدون رختخواب

در زیر نمونه ای از یک اتاق سبک ژاپنی بدون رختخواب است. اطلاعات تختخواب برای اتاق سبک japanese مورد نیاز نیست.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

بستر غربی غربی ژاپنی

در زیر نمونه ای از یک اتاق سبک japanese_western با تخت اندازه king است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

اگر شریک تعداد اطلاعات تختخواب را در اتاق های japanese_western ندارد ، به مثال زیر مراجعه کنید:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


وعده های غذایی

مثال زیر ابرداده اتاق و بسته را برای وعده های غذایی ، عکس ها ، و زمان ورود به سیستم و چک و چک تعریف می کند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

فقط صبحانه

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

پاسخ ها

نحو

پیام TransactionResponse (Property Data) از نحو زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
                     id="message_ID"
                     partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TransactionResponse>

عناصر و صفات

پیام TransactionResponse (Property Data) دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
TransactionResponse 1 Complex element عنصر ریشه ای که نشان دهنده موفقیت یا مشکلات مربوط به پیام درخواست معامله دریافت شده است.
TransactionResponse / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
TransactionResponse / @id 1 string شناسه منحصر به فرد از پیام معامله مرتبط.
TransactionResponse / @partner 1 string حساب شریک برای این پیام.
TransactionResponse / Success 0..1 Success نشان می دهد که پیام معامله بدون هشدار ، خطاها یا شکست با موفقیت پردازش شد.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues 0..1 Issues یک کانتینر برای یک یا چند مسئله در هنگام پردازش پیام معامله با آن روبرو می شود.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues / Issue 1..n Issue توضیحات هشدار ، خطا یا عدم موفقیت هنگام پردازش پیام معامله با آن روبرو می شود. جزئیات مربوط به این مسائل را می‌توانید در پیام‌های خطای وضعیت فید مشاهده کنید.
TransactionResponse / Issues / Issue / @code 1 integer شناسه مشکل
TransactionResponse / Issues / Issue / @status 1 enum

نوع مشکل مواجه شده

مقادیر معتبر warning ، error و failure هستند.

نمونه ها

موفقیت

در زیر پاسخی به یک پیام معامله با موفقیت پردازش شده است.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>

مسائل

در زیر پاسخی به پیام معامله ای است که به دلیل خطاها پردازش نشده است.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TransactionResponse>

،

درخواست ها

نحو

پیام Transaction (Property Data) از نحو زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
             id="message_ID"
             partner="partner_key">
  <PropertyDataSet action="[overlay|delta]">
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>HotelID</Property>
    <RoomData>
      <!-- (Required) One room ID per RoomData element -->
      <RoomID>RoomID</RoomID>
      <Name>
        <Text text="room_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="room_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the rate plans allowed for this room type to
        those listed here. If specified, don't specify AllowableRoomIDs. -->
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID</AllowablePackageID>
      </AllowablePackageIDs>
      <Capacity>max_number_of_occupants</Capacity>
      <AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
      <ChildCapacity>max_number_of_child_occupants</ChildCapacity>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="bed_width"/>
             <Length unit="cm" number="bed_length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>
      </RoomFeatures>
    </RoomData>
    <PackageData>
      <!-- (Required) One package ID per PackageData element -->
      <PackageID>PackageID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the room types allowed for this rate plan to
        those listed here. If specified, don't specify AllowablePackageIDs. -->
      <AllowableRoomIDs>
        <AllowableRoomID>RoomID</AllowableRoomID>
      </AllowableRoomIDs>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

عناصر و صفات

پیام معامله (داده املاک) دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
Transaction 1 Complex element در اجرای ARI ، این عنصر اصلی برای پیام تعریف انواع اتاق و بسته های یک ویژگی واحد است.
Transaction / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
Transaction / @id 1 string یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ بازگردانده می شود. کاراکترهای مجاز عبارتند از: az، AZ، ​​0-9، _ (خط زیر)، و - (خط تیر).
Transaction / @partner 1 string حساب شریک برای این پیام. این مقدار رشته، مقدار «کلید شریک» است که در صفحه تنظیمات حساب در مرکز هتل فهرست شده است.

توجه: اگر یک Backend دارید که برای چندین حساب فید ارائه می‌دهد، این مقدار باید با مقدار مشخصه ID مشخص شده در عنصر <RequestorID> پیام‌های <OTA_HotelRateAmountNotifRQ> و <OTA_HotelAvailNotifRQ> برای یک حساب مطابقت داشته باشد.

Transaction / PropertyDataSet 1.. PropertyDataSet یک ظرف برای تعریف انواع اتاق و بسته های یک ملک واحد.
Transaction / PropertyDataSet / @action 0..1 enum

نوع بروزرسانی برای تعاریف نرخ اتاق.

مقادیر معتبر عبارتند از:

  • overlay : جایگزین تمام <RoomData> و <PackageData> که قبلاً تعریف شده بود ، جایگزین می شود. فقط <RoomData> و <PackageData> در پیام فعلی معتبر است.
  • delta : قبلاً نامشخص <RoomData> و <PackageData> اضافه شده یا موارد موجود را اصلاح می کند.

این ویژگی در صورت عدم مشخص شدن اختیاری و پیش فرض برای delta است.

Transaction / PropertyDataSet / Property 1 string شناسه منحصر به فرد ملک این مقدار باید با شناسه هتل مشخص شده با استفاده از <id> در عنصر <listing> در فید لیست هتل مطابقت داشته باشد. شناسه هتل نیز در مرکز هتل درج شده است.
Transaction / PropertyDataSet / RoomData 0..n RoomData

یک اتاق را توصیف می کند.

توجه: حداقل یکی از <RoomData> یا <PackageData> لازم است.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID یک شناسه منحصر به فرد برای یک نوع اتاق. این مقدار با استفاده از ویژگی InvTypeCode در عنصر <StatusApplicationControl> در <OTA_HotelAvailNotifRQ> ، <OTA_HotelRateAmountNotifRQ> و <OTA_HotelInvCountNotifRQ> ارجاع شده است.
Transaction / PropertyDataSet / RoomData / Name 1 Name کانتینر برای نام دسته اتاق در یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text نام دسته اتاق را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string نام دسته اتاق به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / RoomData / Description 1 Name کانتینر برای توصیف دسته اتاق در یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text توضیحات دسته اتاق را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string توضیحات دسته اتاق به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string یک کد زبان دو حرف.
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs یک ظرف برای عناصر <AllowablePackageID> .

اگر <AllowablePackageIDs> مشخص شده باشد ، نوع اتاق مشخص شده توسط عنصر <RoomID> در والدین <RoomData> فقط با برنامه های نرخ تعریف شده توسط عناصر <AllowablePackageID> می تواند ترکیب شود.

اگر <AllowablePackageIDs> مشخص نشده باشد ، نوع اتاق مشخص شده توسط عنصر <RoomID> در والدین <RoomData> می تواند با هر برنامه نرخ ترکیب شود.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید ، اما هر دو نیست.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID بسته بندی یک برنامه با نرخ را مشخص می کند که می تواند با این نوع اتاق ترکیب شود. یک برنامه نرخ با ترکیبی از بسته ، نرخ و در دسترس بودن تعریف می شود. PackageID مربوط به پیام های RatePlanCode و OTA_HOTELAVAILNOTIFRQ است.
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer حداکثر تعداد بزرگسالان و کودکانی که یک اتاق می تواند از نظر جسمی در آن قرار بگیرد . این باید بیشتر از یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

مقدار <Capacity> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر. برای مثال اینجا را ببینید.

توجه: اگر <Capacity> تنظیم نشده باشد ، تعداد سرنشینان مجاز نامحدود در نظر گرفته می شود. اگر این قسمت تنظیم نشده باشد و ExtraGuestCharges یا AdditionalGuestAmounts تعریف شود ، می توان قیمت ها را برای هر تعداد سرنشینان ایجاد کرد. توصیه می کنیم اگر <Capacity> تنظیم کنید ، در صورتی که ExtraGuestCharges یا AdditionalGuestAmounts تعریف شده باشد تا اطمینان حاصل شود که قیمت ها برای گزینه های اشغال نامعتبر نمایش داده نمی شوند.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer حداکثر تعداد بزرگسالانی که یک اتاق می تواند از نظر جسمی در آن قرار بگیرد . این باید بیشتر از یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

ارزش <AdultCapacity> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer حداکثر تعداد کودکانی که یک اتاق می تواند از نظر جسمی در آن قرار بگیرد .

ارزش <ChildCapacity> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings تنظیماتی که می تواند نیازهای اشغال یک اتاق را محدود یا اصلاح کند.

عنصر <OccupancySettings> عناصر کودک زیر را می گیرد:

  • <MinOccupancy> : حداقل تعداد مهمانانی که می توانند در یک اتاق بمانند. به عنوان مثال ، اگر این 2 بر روی 2 تنظیم شود ، این اتاق برای یک مهمان واحد قابل رزرو نیست.

    مقدار <MinOccupancy> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر.

  • <MinAge> : حداقل سن برای همه مهمانانی که در یک اتاق اقامت دارند. به عنوان مثال ، اگر این مورد 18 باشد ، این اتاق فقط برای گروه هایی که همه میهمانان در سن 18 سال یا بالاتر هستند ، قابل رزرو است.

    مقدار <MinAge> باید یک عدد صحیح مثبت بین 0 تا 99 باشد ، فراگیر.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

همه عناصر کودک نیازی به گنجاندن ندارند.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL URL و عنوان اختیاری برای عکس از اتاق داده شده یا بسته نرم افزاری اتاق. می توانید بیش از یک <PhotoURL> برای یک بسته نرم افزاری اتاق یا اتاق مشخص کنید.

این عنصر عناصر کودک زیر را می گیرد:

  • <URL> : مکان عکس را مشخص می کند. مکان باید عمومی باشد (نه پشت فایروال) و باید پروتکل ( http:// ) را شامل شود.
  • <Caption> : عنوان عکس را تعریف می کند. این عنصر یک عنصر کودک مجرد را به خود اختصاص می دهد ، <Text> ، که دارای دو ویژگی ، Text و language است. ویژگی Text عنوان است و ویژگی language یک کد زبان دو حرفی مانند en را مشخص می کند.
<PhotoURL>
 <URL>http://www.example.com/image1.jpg</URL>
 <Caption>
  <Text text="A bright way to enjoy your
   mornin' cuppa tea." language="en"/>
  <Text text="Une façon lumineuse pour profiter
   de votre tasse de thé." language="fr"/>
 </Caption>
</PhotoURL>
Transaction / PropertyDataSet / RoomData / RoomFeatures 0..1 <RoomFeatures> حاوی اطلاعاتی در مورد ویژگی های اتاق است.
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

نشان دهنده سبک یک اتاق هتل ژاپنی است.

مقادیر معتبر عبارتند از:

  • western : یک اتاق به سبک غربی با تختخواب.
  • japanese : یک اتاق سبک ژاپنی با تختخواب فوتون.
  • japanese_western : یک اتاق به سبک غربی ژاپنی با تختخواب به سبک غربی و آینده به سبک ژاپنی.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object همانطور که اتاق دارد ، به همان اندازه <Bed> است. لطفاً توجه داشته باشید که آینده های ژاپنی را نباید در اینجا حساب کرد.

هر <Bed> ویژگی های زیر را دارد:

  • size (اختیاری): مقادیر معتبر single ، semi_double ، double ، queen و king هستند.
هر <Bed> عناصر کودک زیر را دارد:
  • <Width> (اختیاری): عرض تخت را مشخص می کند. باید از unit ویژگی با مقدار cm و number ویژگی با عرض تخت در سانتی متر عدد صحیح برخوردار باشد.
  • <Length> (اختیاری): طول تخت را مشخص می کند. باید از unit ویژگی با مقدار cm و number ویژگی با طول تخت در سانتی متر عدد صحیح برخوردار باشد.
مثال:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite 0.. enum وقتی این اتاق یک مجموعه است ، این عنصر را تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum وقتی این اتاق یک اتاق کپسول است ، این عنصر را تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum این که آیا این اتاق با سایر سرنشینان مانند صاحبان یا سایر میهمانان به اشتراک گذاشته شده است. مقادیر معتبر shared و private هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum این عنصر را هنگامی که این اتاق در فضای باز است که دیوارهای ثابت ، لوله کشی و کنترل آب و هوا ندارد ، فراهم کنید. به عنوان مثال ، اتاق های هتل در فضای باز محل اقامت در فضای باز نیستند ، در حالی که اردوگاه هایی که میهمانان در چادرها و پارک های RV اقامت دارند که میهمانان RV خود را در فضای باز می آورند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum این عنصر را هنگامی که این اتاق قابل دسترسی است ، ارائه دهید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum آیا این اتاق یک اتاق غیر سیگاری است یا یک اتاق سیگار کشیدن. مقادیر معتبر non_smoking و smoking هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 Object حاوی اطلاعاتی در مورد حمام و توالت در اتاق است.

ویژگی:

  • relation (اختیاری): نحوه قرار دادن حمام و توالت در رابطه با یکدیگر را نشان می دهد. مقادیر معتبر together هستند ، به عنوان مثال ، حمام که در آن حمام و توالت در یک اتاق در کنار هم قرار دارند. و separate ، جایی که حمام و توالت هر یک فضاهای اختصاصی دارند. این ویژگی نباید تنظیم شود که اتاق هم حمام و توالت نداشته باشد.

عنصر به صورت اختیاری عناصر کودک زیر را می گیرد:

  • <Bath> (اختیاری): وجود این عنصر نشان می دهد که اتاق حمام دارد.

    صفات عبارتند از:

    • bathtub (اختیاری): نشان می دهد که حمام در حمام وان حمام دارد. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • shower (اختیاری): نشان می دهد که حمام دوش دارد. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
  • <Toilet> (اختیاری): وجود این عنصر نشان می دهد که این اتاق دارای توالت است.

    صفات عبارتند از:

    • electronic_bidet (اختیاری): نشان می دهد که توالت دارای یک پیشنهاد الکترونیکی است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • mobility_accessible (اختیاری): نشان می دهد که توالت قابل دسترسی است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

مثال:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum این عنصر را هنگامی که این اتاق یک حمام در فضای باز خصوصی دارد ، تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum این عنصر را هنگامی که این اتاق تهویه مطبوع دارد ، تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum این عنصر را هنگامی که این اتاق دارای بالکن یا لانای است ، تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 Object گزینه های معتبر عبارتند از:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

کانتینر برای عناصری که ویژگی ها و اصطلاحاتی را که جزئی از توضیحات اتاق فیزیکی نیستند ، توصیف می کنند.

توجه: حداقل یکی از <RoomData> یا <PackageData> لازم است.

Transaction / PropertyDataSet / PackageData / PackageID 1 string PackageID در این پیام ها با پیام های RatePlanCode و OTA_HOTELAVAILNOTIFRQ مطابقت دارد.
Transaction / PropertyDataSet / PackageData / Name 1 Name کانتینر برای نام بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text نام بسته را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string نام بسته به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / PackageData / Description 1 Description کانتینر برای توضیحات بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text توضیحات بسته را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string توضیحات بسته به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string یک کد زبان دو حرف.
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs یک کانتینر برای عناصر <AllowableRoomID> .

در صورت مشخص شدن <AllowableRoomIDs> ، برنامه نرخ مشخص شده توسط <PackageID> در عنصر والدین <PackageData> فقط با انواع اتاق تعریف شده توسط عناصر <AllowableRoomID> می تواند ترکیب شود.

اگر <AllowableRoomIDs> مشخص نشده باشد ، برنامه نرخ مشخص شده توسط عنصر <PackageID> در والدین <PackageData> می تواند با هر نوع اتاق ترکیب شود.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید ، اما هر دو نیست.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID اتاق یک نوع اتاق را که می تواند با این برنامه نرخ ترکیب شود ، مشخص می کند. یک نوع اتاق در یک عنصر <RoomData> تعریف شده است.
Transaction / PropertyDataSet / PackageData / MilesIncluded 0..1 MilesIncluded اطلاعات امتیازات وفاداری را بر اساس نحوه تعریف برنامه یا بسته ها به بسته ها اضافه کنید. عنصر <MilesIncluded> را در عنصر <PackageData> مشخص کنید که برنامه نرخ را تعریف می کند. <MilesIncluded> عنصر کودک زیر را دارد:
  • LoyaltyCampaignID : یک شناسه منحصر به فرد که کمپین وفاداری خاص را که با Google پیکربندی و به روز شده است ، مشخص می کند. این امتیاز وفاداری را به قیمت هتل اضافه می کند.

    برای شامل <MilesIncluded> شناسه کمپین عنصر باید در پیکربندی کمپین وفاداری پیکربندی شود. جزئیات خاص در مورد چگونگی استفاده از Google از نقاط وفاداری در نتایج توسط پیکربندی کمپین وفاداری تعیین می شود.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
    </MilesIncluded>

    توجه: در موارد نادر شما می توانید <NumberOfMiles> در زیر عنصر <MilesIncluded> درج کنید تا مشخص کنید که این طرح همیشه بدون در نظر گرفتن برنامه سفر ، تعداد مشخصی از امتیازات را کسب می کند. در مورد <MilesIncluded> در <PackageData> بیشتر بدانید.

Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable لیست کردن نرخ را به عنوان قابل استرداد یا لغو کاملاً امکان پذیر می کند. در صورت عدم ارائه ، هیچ اطلاعاتی در مورد بازپرداخت نمایش داده نمی شود.

توجه: توصیه می کنیم تمام ویژگی ها را تنظیم کنید. هنگامی که یک یا چند ویژگی تنظیم نشده است ، یک پیام هشدار دهنده وضعیت خوراک ایجاد می شود.

اگر هیچ ویژگی را تنظیم نکنید ، نرخ به عنوان بازپرداخت نمایش داده نمی شود.

هنگام تنظیم ویژگی ها، به موارد زیر توجه کنید:

  • اگر available یا refundable_until_days تنظیم نشده باشد ، نرخ به صورت قابل استرداد نمایش داده نمی شود.
  • در صورت available 0 یا false ، سایر ویژگی ها نادیده گرفته می شوند. حتی اگر یک یا هر دو ویژگی دیگر تنظیم شده باشد، نرخ به عنوان قابل استرداد نمایش داده نمی شود.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (الزامی) روی 1 یا true تنظیم کنید تا مشخص شود آیا نرخ امکان بازپرداخت کامل را دارد یا خیر. در غیر این صورت روی 0 یا false تنظیم کنید.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (الزامی در صورت available true است) تعداد روزهای قبل از ورود را مشخص می کند که می توان بازپرداخت کامل را درخواست کرد. مقدار refundable_until_days باید یک عدد صحیح بین 0 تا 330 باشد.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (بسیار توصیه می شود در صورت available true است) آخرین زمان روز ، در زمان محلی هتل را مشخص می کند که از درخواست بازپرداخت کامل تجلیل می شود. این را می توان با refundable_until_days ترکیب کرد تا مشخص شود، به عنوان مثال، "بازپرداخت تا ساعت 16:00 دو روز قبل از اعلام حضور در دسترس است". اگر refundable_until_time تنظیم نشده باشد، مقدار پیش‌فرض نیمه‌شب است.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean مشخص می کند که آیا این نوع اتاق شامل صبحانه است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

ترجیح داده می شود که به جای <BreakfastIncluded> از <Meals> استفاده کنید.

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time اولین زمان ورود به سیستم در زمان محلی هتل. زمان باید کمتر از 24:00 باشد.
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time آخرین زمان چک ممکن در زمان محلی هتل.
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean مشخص می کند که آیا این اتاق شامل دسترسی به اینترنت تعارف است در حالی که سایر اتاق ها این راحتی را شامل نمی شوند. این عنصر را در هتلی قرار ندهید که اینترنت تعارف را برای همه اتاق ها فراهم کند. این عنصر برای اینترنت سیمی در اتاق یا اینترنت بی سیم که در اتاق های مهمان موجود نیست ، صدق نمی کند. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
Transaction / PropertyDataSet / PackageData / Meals 0..1 Object حاوی اطلاعات مربوط به وعده های غذایی در این بسته است.

عنصر <Meals> دو عنصر کودک اختیاری ، <Breakfast> و <Dinner> که دارای ویژگی های زیر هستند ، می گیرد:

  • included (مورد نیاز): در صورتی که شامل صبحانه/شام باشد ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 یا false تنظیم کنید.
  • in_room (اختیاری): اگر میهمانان این گزینه را دارند که صبحانه/شام را در اتاقی که در آن اقامت دارند ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • in_private_space (اختیاری): اگر میهمانان این گزینه را دارند که صبحانه/ شام را در یک فضا (به جز اتاقی که در آن می مانند) در جایی که می توانند از تماس با سایر میهمانان جلوگیری کنند ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • buffet (اختیاری): اگر صبحانه/شام به عنوان بوفه سرو می شود ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.

از ویژگی های اختیاری فقط در صورت صحیح included استفاده می شود.

برای فیلترهای وعده های غذایی ( no meals ، breakfast only ، dinner only و breakfast and dinner ) برای کار ، هر دو <Breakfast> و <Dinner> باید با ویژگی included تهیه شود.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean این که آیا یک اتاق شامل پارکینگ بدون هزینه است ، جایی که در غیر این صورت پارکینگ یک سرویس پولی در این هتل خواهد بود. برای هتلی که پارکینگ رایگان ارائه می دهد ، ارزش این عنصر را مشخص نکنید. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند. مقدار پیش فرض false است.
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object (همان <PhotoURL> در <RoomData> ، اما برای بسته (به عنوان مثال عکسهای وعده غذایی).)

نمونه ها

داده های اتاق و بسته بندی

در زیر یک نمونه اساسی از نحوه تعریف اتاق و بسته بندی داده های یک ویژگی در یک پیام معامله (داده های خاص) است. از ویژگی overlay برای اطمینان از اینكه ، اگر داده های غیر منتظره ای در حال حاضر وجود داشته باشد ، تمام داده های موجود حذف شده و با داده های موجود در این پیام جایگزین می شوند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Description>
        <Text text="Room with a king bed" language="en"/>
      </Description>
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a king bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <Description>
        <Text text="Free breakfast rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

یک نوع اتاق اضافه کنید

در زیر نمونه ای از نحوه اضافه کردن یک نوع اتاق و بسته به داده های موجود <Transaction> موجود است:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_3</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_3</PackageID>
      <Name>
        <Text text="Non-Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="false"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

حذف انواع اتاق

در زیر نمونه ای از نحوه حذف انواع اتاق و بسته های موجود است. در این سناریو ، اگر پیام های موجود در "داده های اتاق و بسته" و "اضافه کردن یک نوع اتاق" قبلاً به Google ارسال شده بود ، پس از دریافت Google پیام نشان داده شده ، انواع King و Double دیگر وجود نخواهد داشت. توجه داشته باشید که حذف داده های بسته بر برنامه نرخ کلی همانطور که در معاملات (داده های خاصیت) تعریف شده است ، تأثیر می گذارد ، OTA_HOTELRATEAMOUNTNOTNOTIFRQ و OTA_HotelAvailNotifRQ (با مراجعه به همان مقدار PackageID ) و در نتیجه به روزرسانی های مربوطه با استفاده از PackageID_3 PackageID_2 دیگر ممکن است مورد نیاز باشد که دیگر در اینجا تعریف نشده باشد.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a queen bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>


برنامه های نرخ را محدود کنید

در زیر نمونه ای از نحوه استفاده از عنصر <AllowablePackageIDs> برای محدود کردن برنامه های نرخ مجاز برای یک نوع اتاق است. در این مثال ، نوع اتاق Queen ( RoomID_2 ) فقط با برنامه بسته و نرخ مشخص شده به عنوان PackageID_1 قابل ترکیب است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID_1</AllowablePackageID>
      </AllowablePackageIDs>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

محدود کردن ظرفیت اتاق

در زیر نمونه ای از نحوه استفاده از <Capacity> ، <AdultCapacity> ، <ChildCapacity> عناصر برای تعیین محدودیت در ظرفیت های اتاق آورده شده است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <Capacity>4</Capacity>
      <AdultCapacity>4</AdultCapacity>
      <ChildCapacity>3</ChildCapacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>
</Transaction>

نوع اتاق دو نفره (roomID_1) ممکن است در کل 4 مهمان داشته باشد. علاوه بر این ، ممکن است حداکثر 4 بزرگسال و حداکثر 3 کودک داشته باشد. برای اینکه این اتاق قابل رزرو باشد ، هر سه مورد نیاز ظرفیت باید برآورده شوند. این پیکربندی نماینده یک اتاق معمولی با دو تخت است که هر یک از آنها دو نفر مناسب است. ظرفیت کودک یکی کمتر از کل ظرفیت است زیرا اتاق باید حداقل یک فرد بالغ حضور داشته باشد.

نمونه های گسترده با <RoomFeatures> و وعده های غذایی

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

دو تخت یک نفره

مثال زیر نحوه استفاده از <RoomFeatures> را نشان می دهد:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

دو تخت دونفره

در زیر نمونه ای از اتاق سبک western با دو تخت double است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

سبک ژاپنی بدون رختخواب

در زیر نمونه ای از یک اتاق سبک ژاپنی بدون رختخواب است. اطلاعات تختخواب برای اتاق سبک japanese مورد نیاز نیست.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

بستر غربی غربی ژاپنی

در زیر نمونه ای از یک اتاق سبک japanese_western با تخت اندازه king است.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

اگر شریک تعداد اطلاعات تختخواب را در اتاق های japanese_western ندارد ، به مثال زیر مراجعه کنید:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


وعده های غذایی

مثال زیر ابرداده اتاق و بسته را برای وعده های غذایی ، عکس ها ، و زمان ورود به سیستم و چک و چک تعریف می کند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

فقط صبحانه

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

پاسخ ها

نحو

پیام TransactionResponse (Property Data) از نحو زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
                     id="message_ID"
                     partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TransactionResponse>

عناصر و صفات

پیام TransactionResponse (Property Data) دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
TransactionResponse 1 Complex element عنصر ریشه ای که نشان دهنده موفقیت یا مشکلات مربوط به پیام درخواست معامله دریافت شده است.
TransactionResponse / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
TransactionResponse / @id 1 string شناسه منحصر به فرد از پیام معامله مرتبط.
TransactionResponse / @partner 1 string حساب شریک برای این پیام.
TransactionResponse / Success 0..1 Success نشان می دهد که پیام معامله بدون هشدار ، خطاها یا شکست با موفقیت پردازش شد.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues 0..1 Issues یک کانتینر برای یک یا چند مسئله در هنگام پردازش پیام معامله با آن روبرو می شود.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues / Issue 1..n Issue توضیحات هشدار ، خطا یا عدم موفقیت هنگام پردازش پیام معامله با آن روبرو می شود. جزئیات مربوط به این مسائل را می‌توانید در پیام‌های خطای وضعیت فید مشاهده کنید.
TransactionResponse / Issues / Issue / @code 1 integer شناسه مشکل
TransactionResponse / Issues / Issue / @status 1 enum

نوع مشکل مواجه شده

مقادیر معتبر warning ، error و failure هستند.

نمونه ها

موفقیت

در زیر پاسخی به یک پیام معامله با موفقیت پردازش شده است.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>

مسائل

در زیر پاسخی به پیام معامله ای است که به دلیل خطاها پردازش نشده است.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TransactionResponse>

،

درخواست ها

نحو

پیام Transaction (Property Data) از نحو زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
             id="message_ID"
             partner="partner_key">
  <PropertyDataSet action="[overlay|delta]">
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>HotelID</Property>
    <RoomData>
      <!-- (Required) One room ID per RoomData element -->
      <RoomID>RoomID</RoomID>
      <Name>
        <Text text="room_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="room_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the rate plans allowed for this room type to
        those listed here. If specified, don't specify AllowableRoomIDs. -->
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID</AllowablePackageID>
      </AllowablePackageIDs>
      <Capacity>max_number_of_occupants</Capacity>
      <AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
      <ChildCapacity>max_number_of_child_occupants</ChildCapacity>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="bed_width"/>
             <Length unit="cm" number="bed_length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>
      </RoomFeatures>
    </RoomData>
    <PackageData>
      <!-- (Required) One package ID per PackageData element -->
      <PackageID>PackageID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the room types allowed for this rate plan to
        those listed here. If specified, don't specify AllowablePackageIDs. -->
      <AllowableRoomIDs>
        <AllowableRoomID>RoomID</AllowableRoomID>
      </AllowableRoomIDs>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

عناصر و صفات

پیام معامله (داده املاک) دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
Transaction 1 Complex element در اجرای ARI ، این عنصر اصلی برای پیام تعریف انواع اتاق و بسته های یک ویژگی واحد است.
Transaction / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
Transaction / @id 1 string یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ بازگردانده می شود. کاراکترهای مجاز عبارتند از: az، AZ، ​​0-9، _ (خط زیر)، و - (خط تیر).
Transaction / @partner 1 string حساب شریک برای این پیام. این مقدار رشته، مقدار «کلید شریک» است که در صفحه تنظیمات حساب در مرکز هتل فهرست شده است.

توجه: اگر یک Backend دارید که برای چندین حساب فید ارائه می‌دهد، این مقدار باید با مقدار مشخصه ID مشخص شده در عنصر <RequestorID> پیام‌های <OTA_HotelRateAmountNotifRQ> و <OTA_HotelAvailNotifRQ> برای یک حساب مطابقت داشته باشد.

Transaction / PropertyDataSet 1.. PropertyDataSet یک ظرف برای تعریف انواع اتاق و بسته های یک ملک واحد.
Transaction / PropertyDataSet / @action 0..1 enum

نوع بروزرسانی برای تعاریف نرخ اتاق.

مقادیر معتبر عبارتند از:

  • overlay : جایگزین تمام <RoomData> و <PackageData> که قبلاً تعریف شده بود ، جایگزین می شود. فقط <RoomData> و <PackageData> در پیام فعلی معتبر است.
  • delta : قبلاً نامشخص <RoomData> و <PackageData> اضافه شده یا موارد موجود را اصلاح می کند.

این ویژگی در صورت عدم مشخص شدن اختیاری و پیش فرض برای delta است.

Transaction / PropertyDataSet / Property 1 string شناسه منحصر به فرد ملک این مقدار باید با شناسه هتل مشخص شده با استفاده از <id> در عنصر <listing> در فید لیست هتل مطابقت داشته باشد. شناسه هتل نیز در مرکز هتل درج شده است.
Transaction / PropertyDataSet / RoomData 0..n RoomData

یک اتاق را توصیف می کند.

توجه: حداقل یکی از <RoomData> یا <PackageData> لازم است.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID یک شناسه منحصر به فرد برای یک نوع اتاق. این مقدار با استفاده از ویژگی InvTypeCode در عنصر <StatusApplicationControl> در <OTA_HotelAvailNotifRQ> ، <OTA_HotelRateAmountNotifRQ> و <OTA_HotelInvCountNotifRQ> ارجاع شده است.
Transaction / PropertyDataSet / RoomData / Name 1 Name کانتینر برای نام دسته اتاق در یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text نام دسته اتاق را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string نام دسته اتاق به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / RoomData / Description 1 Name کانتینر برای توصیف دسته اتاق در یک یا چند زبان.
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text توضیحات دسته اتاق را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string توضیحات دسته اتاق به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string یک کد زبان دو حرف.
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs یک ظرف برای عناصر <AllowablePackageID> .

اگر <AllowablePackageIDs> مشخص شده باشد ، نوع اتاق مشخص شده توسط عنصر <RoomID> در والدین <RoomData> فقط با برنامه های نرخ تعریف شده توسط عناصر <AllowablePackageID> می تواند ترکیب شود.

اگر <AllowablePackageIDs> مشخص نشده باشد ، نوع اتاق مشخص شده توسط عنصر <RoomID> در والدین <RoomData> می تواند با هر برنامه نرخ ترکیب شود.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید ، اما هر دو نیست.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID بسته بندی یک برنامه با نرخ را مشخص می کند که می تواند با این نوع اتاق ترکیب شود. یک برنامه نرخ با ترکیبی از بسته ، نرخ و در دسترس بودن تعریف می شود. PackageID مربوط به پیام های RatePlanCode و OTA_HOTELAVAILNOTIFRQ است.
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer حداکثر تعداد بزرگسالان و کودکانی که یک اتاق می تواند از نظر جسمی در آن قرار بگیرد . این باید بیشتر از یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

مقدار <Capacity> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر. برای مثال اینجا را ببینید.

توجه: اگر <Capacity> تنظیم نشده باشد ، تعداد سرنشینان مجاز نامحدود در نظر گرفته می شود. اگر این قسمت تنظیم نشده باشد و ExtraGuestCharges یا AdditionalGuestAmounts تعریف شود ، می توان قیمت ها را برای هر تعداد سرنشینان ایجاد کرد. توصیه می کنیم اگر <Capacity> تنظیم کنید ، در صورتی که ExtraGuestCharges یا AdditionalGuestAmounts تعریف شده باشد تا اطمینان حاصل شود که قیمت ها برای گزینه های اشغال نامعتبر نمایش داده نمی شوند.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer حداکثر تعداد بزرگسالانی که یک اتاق می تواند از نظر جسمی در آن قرار بگیرد . این باید بیشتر از یا مساوی با هر مقدار NumberOfGuests باشد که با نرخ ارسال می کنید.

ارزش <AdultCapacity> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer حداکثر تعداد کودکانی که یک اتاق می تواند از نظر جسمی در آن قرار بگیرد .

ارزش <ChildCapacity> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر. برای مثال اینجا را ببینید.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings تنظیماتی که می تواند نیازهای اشغال یک اتاق را محدود یا اصلاح کند.

عنصر <OccupancySettings> عناصر کودک زیر را می گیرد:

  • <MinOccupancy> : حداقل تعداد مهمانانی که می توانند در یک اتاق بمانند. به عنوان مثال ، اگر این 2 بر روی 2 تنظیم شود ، این اتاق برای یک مهمان واحد قابل رزرو نیست.

    مقدار <MinOccupancy> باید یک عدد صحیح مثبت بین 1 تا 99 باشد ، فراگیر.

  • <MinAge> : حداقل سن برای همه مهمانانی که در یک اتاق اقامت دارند. به عنوان مثال ، اگر این مورد 18 باشد ، این اتاق فقط برای گروه هایی که همه میهمانان در سن 18 سال یا بالاتر هستند ، قابل رزرو است.

    مقدار <MinAge> باید یک عدد صحیح مثبت بین 0 تا 99 باشد ، فراگیر.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

همه عناصر کودک نیازی به گنجاندن ندارند.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL URL و عنوان اختیاری برای عکس از اتاق داده شده یا بسته نرم افزاری اتاق. می توانید بیش از یک <PhotoURL> برای یک بسته نرم افزاری اتاق یا اتاق مشخص کنید.

این عنصر عناصر کودک زیر را می گیرد:

  • <URL> : مکان عکس را مشخص می کند. مکان باید عمومی باشد (نه پشت فایروال) و باید پروتکل ( http:// ) را شامل شود.
  • <Caption> : عنوان عکس را تعریف می کند. این عنصر یک عنصر کودک مجرد را به خود اختصاص می دهد ، <Text> ، که دارای دو ویژگی ، Text و language است. ویژگی Text عنوان است و ویژگی language یک کد زبان دو حرفی مانند en را مشخص می کند.
<PhotoURL>
 <URL>http://www.example.com/image1.jpg</URL>
 <Caption>
  <Text text="A bright way to enjoy your
   mornin' cuppa tea." language="en"/>
  <Text text="Une façon lumineuse pour profiter
   de votre tasse de thé." language="fr"/>
 </Caption>
</PhotoURL>
Transaction / PropertyDataSet / RoomData / RoomFeatures 0..1 <RoomFeatures> حاوی اطلاعاتی در مورد ویژگی های اتاق است.
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

نشان دهنده سبک یک اتاق هتل ژاپنی است.

مقادیر معتبر عبارتند از:

  • western : یک اتاق به سبک غربی با تختخواب.
  • japanese : یک اتاق سبک ژاپنی با تختخواب فوتون.
  • japanese_western : یک اتاق به سبک غربی ژاپنی با تختخواب به سبک غربی و آینده به سبک ژاپنی.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object همانطور که اتاق دارد ، به همان اندازه <Bed> است. لطفاً توجه داشته باشید که آینده های ژاپنی را نباید در اینجا حساب کرد.

هر <Bed> ویژگی های زیر را دارد:

  • size (اختیاری): مقادیر معتبر single ، semi_double ، double ، queen و king هستند.
هر <Bed> عناصر کودک زیر را دارد:
  • <Width> (اختیاری): عرض تخت را مشخص می کند. باید از unit ویژگی با مقدار cm و number ویژگی با عرض تخت در سانتی متر عدد صحیح برخوردار باشد.
  • <Length> (اختیاری): طول تخت را مشخص می کند. باید از unit ویژگی با مقدار cm و number ویژگی با طول تخت در سانتی متر عدد صحیح برخوردار باشد.
مثال:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite 0.. enum وقتی این اتاق یک مجموعه است ، این عنصر را تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum وقتی این اتاق یک اتاق کپسول است ، این عنصر را تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum این که آیا این اتاق با سایر سرنشینان مانند صاحبان یا سایر میهمانان به اشتراک گذاشته شده است. مقادیر معتبر shared و private هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum این عنصر را هنگامی که این اتاق در فضای باز است که دیوارهای ثابت ، لوله کشی و کنترل آب و هوا ندارد ، فراهم کنید. به عنوان مثال ، اتاق های هتل در فضای باز محل اقامت در فضای باز نیستند ، در حالی که اردوگاه هایی که میهمانان در چادرها و پارک های RV اقامت دارند که میهمانان RV خود را در فضای باز می آورند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum این عنصر را هنگامی که این اتاق قابل دسترسی است ، ارائه دهید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum آیا این اتاق یک اتاق غیر سیگاری است یا یک اتاق سیگار کشیدن. مقادیر معتبر non_smoking و smoking هستند.
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 Object حاوی اطلاعاتی در مورد حمام و توالت در اتاق است.

ویژگی:

  • relation (اختیاری): نحوه قرار دادن حمام و توالت در رابطه با یکدیگر را نشان می دهد. مقادیر معتبر together هستند ، به عنوان مثال ، حمام که در آن حمام و توالت در یک اتاق در کنار هم قرار دارند. و separate ، جایی که حمام و توالت هر یک فضاهای اختصاصی دارند. این ویژگی نباید تنظیم شود که اتاق هم حمام و توالت نداشته باشد.

عنصر به صورت اختیاری عناصر کودک زیر را می گیرد:

  • <Bath> (اختیاری): وجود این عنصر نشان می دهد که اتاق حمام دارد.

    صفات عبارتند از:

    • bathtub (اختیاری): نشان می دهد که حمام در حمام وان حمام دارد. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • shower (اختیاری): نشان می دهد که حمام دوش دارد. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
  • <Toilet> (اختیاری): وجود این عنصر نشان می دهد که این اتاق دارای توالت است.

    صفات عبارتند از:

    • electronic_bidet (اختیاری): نشان می دهد که توالت دارای یک پیشنهاد الکترونیکی است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
    • mobility_accessible (اختیاری): نشان می دهد که توالت قابل دسترسی است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

مثال:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum این عنصر را هنگامی که این اتاق یک حمام در فضای باز خصوصی دارد ، تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum این عنصر را هنگامی که این اتاق تهویه مطبوع دارد ، تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum این عنصر را هنگامی که این اتاق دارای بالکن یا لانای است ، تهیه کنید.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 Object گزینه های معتبر عبارتند از:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

کانتینر برای عناصری که ویژگی ها و اصطلاحاتی را که جزئی از توضیحات اتاق فیزیکی نیستند ، توصیف می کنند.

توجه: حداقل یکی از <RoomData> یا <PackageData> لازم است.

Transaction / PropertyDataSet / PackageData / PackageID 1 string PackageID در این پیام ها با پیام های RatePlanCode و OTA_HOTELAVAILNOTIFRQ مطابقت دارد.
Transaction / PropertyDataSet / PackageData / Name 1 Name کانتینر برای نام بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text نام بسته را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string نام بسته به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / PackageData / Description 1 Description کانتینر برای توضیحات بسته به یک یا چند زبان.
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text توضیحات بسته را به یک زبان مشخص می کند.
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string توضیحات بسته به زبان مشخص شده توسط ویژگی language .
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string یک کد زبان دو حرف.
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs یک کانتینر برای عناصر <AllowableRoomID> .

در صورت مشخص شدن <AllowableRoomIDs> ، برنامه نرخ مشخص شده توسط <PackageID> در عنصر والدین <PackageData> فقط با انواع اتاق تعریف شده توسط عناصر <AllowableRoomID> می تواند ترکیب شود.

اگر <AllowableRoomIDs> مشخص نشده باشد ، برنامه نرخ مشخص شده توسط عنصر <PackageID> در والدین <PackageData> می تواند با هر نوع اتاق ترکیب شود.

از <AllowablePackageIDs> یا <AllowableRoomIDs> استفاده کنید ، اما هر دو نیست.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID اتاق یک نوع اتاق را که می تواند با این برنامه نرخ ترکیب شود ، مشخص می کند. یک نوع اتاق در یک عنصر <RoomData> تعریف شده است.
Transaction / PropertyDataSet / PackageData / MilesIncluded 0..1 MilesIncluded اطلاعات امتیازات وفاداری را بر اساس نحوه تعریف برنامه یا بسته ها به بسته ها اضافه کنید. عنصر <MilesIncluded> را در عنصر <PackageData> مشخص کنید که برنامه نرخ را تعریف می کند. <MilesIncluded> عنصر کودک زیر را دارد:
  • LoyaltyCampaignID : یک شناسه منحصر به فرد که کمپین وفاداری خاص را که با Google پیکربندی و به روز شده است ، مشخص می کند. این امتیاز وفاداری را به قیمت هتل اضافه می کند.

    برای شامل <MilesIncluded> شناسه کمپین عنصر باید در پیکربندی کمپین وفاداری پیکربندی شود. جزئیات خاص در مورد چگونگی استفاده از Google از نقاط وفاداری در نتایج توسط پیکربندی کمپین وفاداری تعیین می شود.

    <MilesIncluded>
      <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
    </MilesIncluded>

    توجه: در موارد نادر شما می توانید <NumberOfMiles> در زیر عنصر <MilesIncluded> درج کنید تا مشخص کنید که این طرح همیشه بدون در نظر گرفتن برنامه سفر ، تعداد مشخصی از امتیازات را کسب می کند. در مورد <MilesIncluded> در <PackageData> بیشتر بدانید.

Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable لیست کردن نرخ را به عنوان قابل استرداد یا لغو کاملاً امکان پذیر می کند. در صورت عدم ارائه ، هیچ اطلاعاتی در مورد بازپرداخت نمایش داده نمی شود.

توجه: توصیه می کنیم تمام ویژگی ها را تنظیم کنید. هنگامی که یک یا چند ویژگی تنظیم نشده است ، یک پیام هشدار دهنده وضعیت خوراک ایجاد می شود.

اگر هیچ ویژگی را تنظیم نکنید ، نرخ به عنوان بازپرداخت نمایش داده نمی شود.

هنگام تنظیم ویژگی ها، به موارد زیر توجه کنید:

  • اگر available یا refundable_until_days تنظیم نشده باشد ، نرخ به صورت قابل استرداد نمایش داده نمی شود.
  • در صورت available 0 یا false ، سایر ویژگی ها نادیده گرفته می شوند. حتی اگر یک یا هر دو ویژگی دیگر تنظیم شده باشد، نرخ به عنوان قابل استرداد نمایش داده نمی شود.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (الزامی) روی 1 یا true تنظیم کنید تا مشخص شود آیا نرخ امکان بازپرداخت کامل را دارد یا خیر. در غیر این صورت روی 0 یا false تنظیم کنید.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (الزامی در صورت available true است) تعداد روزهای قبل از ورود را مشخص می کند که می توان بازپرداخت کامل را درخواست کرد. مقدار refundable_until_days باید یک عدد صحیح بین 0 تا 330 باشد.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (بسیار توصیه می شود در صورت available true است) آخرین زمان روز ، در زمان محلی هتل را مشخص می کند که از درخواست بازپرداخت کامل تجلیل می شود. این را می توان با refundable_until_days ترکیب کرد تا مشخص شود، به عنوان مثال، "بازپرداخت تا ساعت 16:00 دو روز قبل از اعلام حضور در دسترس است". اگر refundable_until_time تنظیم نشده باشد، مقدار پیش‌فرض نیمه‌شب است.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean مشخص می کند که آیا این نوع اتاق شامل صبحانه است. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

ترجیح داده می شود که به جای <BreakfastIncluded> از <Meals> استفاده کنید.

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time اولین زمان ورود به سیستم در زمان محلی هتل. زمان باید کمتر از 24:00 باشد.
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time آخرین زمان چک ممکن در زمان محلی هتل.
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean مشخص می کند که آیا این اتاق شامل دسترسی به اینترنت تعارف است در حالی که سایر اتاق ها این راحتی را شامل نمی شوند. این عنصر را در هتلی قرار ندهید که اینترنت تعارف را برای همه اتاق ها فراهم کند. این عنصر برای اینترنت سیمی در اتاق یا اینترنت بی سیم که در اتاق های مهمان موجود نیست ، صدق نمی کند. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.
Transaction / PropertyDataSet / PackageData / Meals 0..1 Object حاوی اطلاعات مربوط به وعده های غذایی در این بسته است.

عنصر <Meals> دو عنصر کودک اختیاری ، <Breakfast> و <Dinner> که دارای ویژگی های زیر هستند ، می گیرد:

  • included (مورد نیاز): در صورتی که شامل صبحانه/شام باشد ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 یا false تنظیم کنید.
  • in_room (اختیاری): اگر میهمانان این گزینه را دارند که صبحانه/شام را در اتاقی که در آن اقامت دارند ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • in_private_space (اختیاری): اگر میهمانان این گزینه را دارند که صبحانه/ شام را در یک فضا (به جز اتاقی که در آن می مانند) در جایی که می توانند از تماس با سایر میهمانان جلوگیری کنند ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.
  • buffet (اختیاری): اگر صبحانه/شام به عنوان بوفه سرو می شود ، روی 1 (یا true ) تنظیم کنید. در غیر این صورت روی 0 (یا false ) تنظیم کنید.

از ویژگی های اختیاری فقط در صورت صحیح included استفاده می شود.

برای فیلترهای وعده های غذایی ( no meals ، breakfast only ، dinner only و breakfast and dinner ) برای کار ، هر دو <Breakfast> و <Dinner> باید با ویژگی included تهیه شود.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean این که آیا یک اتاق شامل پارکینگ بدون هزینه است ، جایی که در غیر این صورت پارکینگ یک سرویس پولی در این هتل خواهد بود. برای هتلی که پارکینگ رایگان ارائه می دهد ، ارزش این عنصر را مشخص نکنید. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند. مقدار پیش فرض false است.
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object (Same as <PhotoURL> in <RoomData> , but for the package (eg meal photos).)

نمونه ها

Room and package data

The following is a basic example of how to define a property's room and package data in a Transaction (Property Data) message. The overlay attribute is used to ensure that, if any data unexpectedly exists already, all existing data is deleted and replaced with the data in this message:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Description>
        <Text text="Room with a king bed" language="en"/>
      </Description>
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a king bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <Description>
        <Text text="Free breakfast rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Add a room type

The following is an example of how to add a room type and package to existing <Transaction> data:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_3</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_3</PackageID>
      <Name>
        <Text text="Non-Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="false"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Remove room types

The following is an example of how to remove existing room types and packages. In this scenario, if the messages in the "Room and package data" and "Add a room type" had been sent to Google previously, the King and Double room types would no longer exist once Google receives the message shown. Note that removing package data affects the overall rate plan as defined across Transaction (Property Data), OTA_HotelRateAmountNotifRQ, and OTA_HotelAvailNotifRQ messages (by referencing the same PackageID value), and thus corresponding updates using the other message types may be required to reflect that PackageID_2 and PackageID_3 are no longer defined here.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a queen bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>


Restrict rate plans

The following is an example of how to use the <AllowablePackageIDs> element to restrict the rate plans allowed for a room type. In this example, the Queen room type ( RoomID_2 ) can only be combined with the package and rate plan identified as PackageID_1.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID_1</AllowablePackageID>
      </AllowablePackageIDs>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

Restrict room capacity

The following is an example of how to use the <Capacity> , <AdultCapacity> , <ChildCapacity> elements to set restrictions on room capacities.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <Capacity>4</Capacity>
      <AdultCapacity>4</AdultCapacity>
      <ChildCapacity>3</ChildCapacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>
</Transaction>

The Double room type (RoomID_1) may have up to 4 guests total. Additionally, it may have up to 4 adults and up to 3 children. All three capacity requirements must be satisfied in order for this room to be bookable. This configuration is representative of a typical room with two beds that each fit two people. The child capacity is one less than the total capacity because the room must have at least one adult present.

Extended examples with <RoomFeatures> and meals

JapaneseHotelRoomStyle doesn't have a default value. Omitting a value does not result in an XML error, but your listing is not shown in the search results, when the user filters by room style or beds.

Two single beds

The following example shows how to use <RoomFeatures> :

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

Two double beds

The following is an example of western style room with two double beds.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

Japanese style without bed

The following is an example of a Japanese style room without bed. Bed information is not required for japanese style room.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

Japanese western w/bed

The following is an example of a japanese_western style room with king size bed.

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

If partner doesn't have the number of beds information in japanese_western rooms, then refer to the following example:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


وعده های غذایی

The following example defines room and package metadata for meals, photos, and check-in and check-out times:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

فقط صبحانه

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

پاسخ ها

نحو

The TransactionResponse (Property Data) message uses the following syntax:

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
                     id="message_ID"
                     partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TransactionResponse>

عناصر و صفات

The TransactionResponse (Property Data) message has the following elements and attributes:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
TransactionResponse 1 Complex element The root element indicating the success or issues for a received Transaction request message.
TransactionResponse / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
TransactionResponse / @id 1 string The unique identifier from the associated Transaction message.
TransactionResponse / @partner 1 string حساب شریک برای این پیام.
TransactionResponse / Success 0..1 Success Indicates that the Transaction message was processed successfully without warnings, errors, or failures.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues 0..1 Issues A container for one or more issues encountered while processing the Transaction message.

یا <Success> یا <Issues> در هر پیام وجود دارد.

TransactionResponse / Issues / Issue 1..n Issue The description of a warning, error, or failure encountered while processing the Transaction message. جزئیات مربوط به این مسائل را می‌توانید در پیام‌های خطای وضعیت فید مشاهده کنید.
TransactionResponse / Issues / Issue / @code 1 integer شناسه مشکل
TransactionResponse / Issues / Issue / @status 1 enum

نوع مشکل مواجه شده

مقادیر معتبر warning ، error و failure هستند.

نمونه ها

موفقیت

The following is a response to a successfully processed Transaction message.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>

مسائل

The following is a response to a Transaction message not processed due to errors.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TransactionResponse>