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

درخواست‌ها

نحو

پیام 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 یک ظرف برای تعریف انواع اتاق‌ها و بسته‌ها برای یک ملک واحد.

توصیه می‌شود که <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> باید یک عدد صحیح مثبت بین ۱ تا ۹۹ باشد. برای مثال به اینجا مراجعه کنید.

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

عنصر <OccupancySettings> عناصر فرزند زیر را می‌پذیرد:

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

    مقدار <MinOccupancy> باید یک عدد صحیح مثبت بین ۱ تا ۹۹ باشد.

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

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

<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 : یک شناسه منحصر به فرد که کمپین وفاداری خاصی را که با گوگل پیکربندی و به‌روزرسانی شده است، مشخص می‌کند. این شناسه امتیاز وفاداری را به قیمت هتل اضافه می‌کند.

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

    <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 (در صورت true بودن available ، اکیداً توصیه می‌شود) آخرین زمان روز، به وقت محلی هتل، را مشخص می‌کند که درخواست بازپرداخت کامل پذیرفته می‌شود. این می‌تواند با refundable_until_days ترکیب شود تا مثلاً مشخص شود که "بازپرداخت تا ساعت ۴ بعد از ظهر، دو روز قبل از ورود، در دسترس است". اگر refundable_until_time تنظیم نشده باشد، مقدار پیش‌فرض روی نیمه‌شب است.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean مشخص می‌کند که آیا این نوع اتاق شامل صبحانه می‌شود یا خیر. مقادیر معتبر 0 (یا false ) و 1 (یا true ) هستند.

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

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time زودترین زمان ممکن برای ورود به هتل نسبت به ساعت محلی هتل. زمان باید کمتر از ساعت ۲۴ باشد.
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 برابر با true باشد.

برای اینکه فیلترهای وعده‌های غذایی ( 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>

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

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

<?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) می‌تواند در مجموع تا ۴ مهمان داشته باشد. علاوه بر این، می‌تواند تا ۴ بزرگسال و تا ۳ کودک را در خود جای دهد. برای اینکه این اتاق قابل رزرو باشد، باید هر سه شرط ظرفیت رعایت شود. این پیکربندی نمایانگر یک اتاق معمولی با دو تخت است که هر کدام برای دو نفر مناسب است. ظرفیت کودک یکی کمتر از ظرفیت کل است زیرا اتاق باید حداقل یک بزرگسال داشته باشد.

مثال‌های توسعه‌یافته با <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 شرح هشدار، خطا یا خرابی که هنگام پردازش پیام تراکنش رخ داده است. جزئیات مربوط به این مشکلات را می‌توانید در پیام‌های خطای وضعیت فید (Feed Status Error Messages) بیابید.
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>