ExtraGuestCharges

نرخ‌های ارسال‌شده از طریق <OTA_HotelRateAmountNotifRQ> را می‌توان برای در نظر گرفتن بزرگسالان و کودکان، علاوه بر تعداد اصلی مهمانان، تغییر داد. پیام ExtraGuestCharges به شما اجازه می‌دهد تا نحوه محاسبه نرخ‌ها را برای این مهمان‌های اضافی و اینکه برای کدام اتاق‌ها، برنامه‌های نرخ و تاریخ اقامت باید اعمال شود، مشخص کنید.

ظرفیت مورد نیاز

قیمت‌های محاسبه‌شده از پیام ExtraGuestCharges تنها در صورتی معتبر هستند که همه ظرفیت‌های مورد نیاز برآورده شوند. برای اطلاعات بیشتر به تراکنش (داده های دارایی) مراجعه کنید.

درخواست ها

نحو

پیام ExtraGuestCharges از دستور زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges partner="partner_account_name"
                   id="message_ID"
                   timestamp="timestamp">
  <HotelExtraGuestCharges hotel_id="HotelID" action="[overlay]">
    <ExtraGuestCharge>
      <RatePlans>
        <RatePlan id="PackageID_1"/>
        <RatePlan id="PackageID_2"/>
      </RatePlans>
      <RoomTypes>
        <RoomType id="RoomID_1"/>
        <RoomType id="RoomID_2"/>
      </RoomTypes>
      <StayDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD"
                   days_of_week="MTWHFSU_or_subset"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="float"/>
        <ChildAgeBrackets>
        <!-- The following are different ways child charges can be specified.
        Use the option that matches your system. -->
          <ChildAgeBracket max_age="integer" amount="float"
                           exclude_from_capacity="[true|false]"/>
          <ChildAgeBracket max_age="integer" percentage="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
          <ChildAgeBracket max_age="integer" discount_amount="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

عناصر و ویژگی ها

پیام ExtraGuestCharges دارای عناصر و ویژگی های زیر است:

عنصر / @Attribute رخدادها تایپ کنید توضیحات
ExtraGuestCharges 1 Complex element عنصر اصلی این پیام
ExtraGuestCharges / @partner 1 string حساب شریک برای این پیام. این مقدار رشته، مقدار Partner key لیست شده در صفحه تنظیمات حساب در مرکز هتل است.

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

ExtraGuestCharges / @id 1 string یک شناسه منحصر به فرد برای این پیام درخواست. این مقدار در پیام پاسخ بازگردانده می شود. کاراکترهای مجاز عبارتند از az , AZ , 0-9 , _ (خارج) و - (خط تیر).
ExtraGuestCharges / @timestamp 1 DateTime تاریخ و زمان ایجاد این پیام.
ExtraGuestCharges / HotelExtraGuestCharges 0..n HotelExtraGuestCharges کانتینری برای هزینه های یک ملک واحد.
ExtraGuestCharges / HotelExtraGuestCharges / @hotel_id 1 string شناسه منحصر به فرد ملک این مقدار باید با شناسه هتل مشخص شده با استفاده از <id> در عنصر <listing> در فید لیست هتل مطابقت داشته باشد. شناسه هتل نیز در مرکز هتل درج شده است.
ExtraGuestCharges / HotelExtraGuestCharges / @action 0..1 enum نحوه اعمال به روز رسانی را مشخص می کند. فقط overlay پشتیبانی می شود و پیش فرض همپوشانی است. هر گونه هزینه قبلی برای این ویژگی قبل از اعمال به‌روزرسانی پاک می‌شود.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

مجموعه ای از هزینه ها برای یک ملک. این ممکن است شامل محدودیت‌هایی در مورد نحوه اعمال هزینه و نحوه محاسبه هزینه‌ها بر اساس سن یا دسته مهمان باشد.

هر ExtraGuestCharge در یک HotelExtraGuestCharges باید برای مجموعه منحصر به فردی از تاریخ ها و محصولات اعمال شود. اگر دو عنصر ExtraGuestCharge به یک ترکیب تاریخ-محصول اشاره کنند، کل پیام رد می شود.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets 1 AgeBrackets ظرفی از براکت های سنی که برای محاسبه هزینه ها بر اساس سن یا دسته مهمان.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge 0..1 AdultCharge کانتینر برای هزینه یک بزرگسال اضافی.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge / @amount 0..1 float یک مقدار اعشاری مثبت که مقدار ثابتی را که باید برای یک فرد بزرگسال دیگر شارژ شود، مشخص می‌کند. این هزینه از همان ارزی استفاده می کند که برای نرخ های شبانه مشخص شده است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets کانتینری برای هزینه های اضافی کودک. این گروه سنی ممکن است فقط محدوده سنی 0 تا 17 سال را پوشش دهد.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..99 ChildAgeBracket هزینه ای که برای کودکان در یک محدوده سنی خاص اعمال می شود. اینها باید از lowest max_age تا بالاترین max_age مرتب شوند. مبلغی که باید شارژ شود را می توان با استفاده از amount ، percentage یا discount_amount مشخص کرد. دقیقاً یکی از آن ویژگی ها باید برای هر <ChildAgeBracket> مشخص شود.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer حداکثر سنی که ممکن است هزینه های مشخص شده در <ChildAgeBracket> برای آن اعمال شود. اگر هیچ <ChildAgeBracket> دیگری قبل از این مورد مشخص نشده باشد، حداقل سن صفر است. در غیر این صورت یک بزرگتر از حداکثر سن براکت قبلی است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @exclude_from_capacity 1 boolean یک بولی که نشان می‌دهد آیا یک کودک در این گروه سنی باید در کل ظرفیت اتاق و ظرفیت کودک حساب شود. این ظرفیت ها را می توان با Transaction (Property Data) تنظیم کرد. به عنوان مثال، نوزادان زیر یک سن خاص ممکن است نیازی به محاسبه ظرفیت کودک نداشته باشند.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 0..1 float یک مقدار اعشاری غیر منفی که مقدار ثابتی را که باید برای یک فرزند اضافی در این براکت شارژ شود، مشخص می‌کند. این هزینه از همان ارزی استفاده می کند که برای نرخ های شبانه مشخص شده است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

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

برای جزئیات در مورد نحوه محاسبه قیمت بزرگسالان، به بحث زیر counts_as_base_occupant مراجعه کنید.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @discount_amount 0..1 float

یک مقدار اعشاری مثبت که مقدار تخفیف ثابتی را از قیمت بزرگسالان برای یک فرزند اضافی در این براکت مشخص می‌کند. این هزینه از همان ارزی استفاده می کند که برای نرخ های شبانه مشخص شده است.

به طور کلی شارژ فرزند در این براکت با کسر مبلغ ثابت از «قیمت واحد» محاسبه می شود. قیمت واحد با جزئیات بیشتر در بخش counts_as_base_occupant مشخص شده است.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @counts_as_base_occupant 0..1 string

اگر ویژگی percentage یا discount_amount مشخص شده باشد، باید counts_as_base_occupant نیز مشخص شود. وقتی نرخ <BaseByGuestAmount> را برای اعمال درصد هزینه ها و تخفیف ها انتخاب می کنید، این مقدار تعیین می کند که آیا یک فرزند باید در NumberOfGuest گنجانده شود یا خیر.

هدف در اینجا به دست آوردن یک "قیمت واحد" است که از آن می توان هزینه واقعی را محاسبه کرد.

unit price = rate / occupancy

مقدار این ویژگی باید یکی از never , preferred یا always باشد .

  • اگر never مشخص نشده باشد، کودک هرگز نباید در نرخ اقامت در نظر گرفته شود.

    اگر می خواهید نرخی را برای 2 بزرگسال و 2 کودک (2+2) محاسبه کنید، باید از نرخ 2 بزرگسال استفاده کنید زیرا کودکان نباید شامل شوند.

  • اگر preferred مشخص شده باشد، ترجیحاً کودک باید در نرخ اقامت در نظر گرفته شود.

    اگر می‌خواهید نرخی را برای 2 بزرگسال و 1 کودک (2+1) محاسبه کنید، ترجیحاً باید از نرخ 3 بزرگسال استفاده کنید، اما اگر آن را پیدا نکردید، باید از نرخ برای 2 بزرگسال استفاده کنید.

  • اگر always مشخص شده باشد، کودک باید همیشه در نرخ اقامت در نظر گرفته شود.

    اگر می خواهید برای 2 بزرگسال و 2 کودک (2+2) نرخ محاسبه کنید، باید از نرخ 4 بزرگسال استفاده کنید زیرا کودکان باید شامل شوند.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes کانتینری برای فهرستی از انواع اتاق هایی که هزینه ها برای آنها اعمال می شود. هزینه ها برای هر <RoomType> مشخص شده اعمال می شود. اگر <RoomTypes> مشخص نشده باشد، هزینه ها برای همه اتاق های داخل ملک مشخص شده اعمال می شود.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType 1..n RoomType نوع اتاق را مشخص می کند. یک نوع اتاق در یک عنصر <RoomData> در پیام تراکنش (داده های ویژگی) تعریف می شود و با استفاده از مقدار <RoomID> آن ارجاع داده می شود. (مقدار <RoomID> آن نیز توسط ویژگی InvTypeCode در پیام های OTA_HotelRateAmountNotifRQ ارجاع داده می شود.)
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType / @id 1 string شناسه منحصر به فرد موجودی (نوع اتاق). این مقدار در پیام Transaction (Property Data) به <RoomID> نشان داده می شود. حداکثر تعداد کاراکترهای مجاز 50 کاراکتر است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans 0..1 RatePlans کانتینری برای فهرستی از طرح‌های نرخ که هزینه‌ها برای آنها اعمال می‌شود. اگر <RatePlans> مشخص نشده باشد، هزینه ها برای همه طرح های نرخ اعمال می شود.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan 1..n RatePlan یک طرح نرخ را مشخص می کند. طرح نرخ با ترکیبی از بسته، نرخ‌ها و در دسترس بودن تعریف می‌شود، همانطور که در پیام‌های Transaction (Property Data)، OTA_HotelRateAmountNotifRQ، و OTA_HotelAvailNotifRQ تعریف شده است، و توسط PackageID مشخص شده است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan / @id 1 string شناسه منحصر به فرد برای طرح نرخ. این مقدار به مقدار PackageID در <PackageData> در پیام Transaction (Property Data) و در ویژگی RatePlanCode در <StatusApplicationControl> در هر دو پیام <OTA_HotelRateAmountNotifRQ> و <OTA_HotelAvailNotifRQ> منطبق می شود. حداکثر تعداد کاراکترهای مجاز 50 کاراکتر است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates 0..1 StayDates ظرفی برای یک یا چند محدوده تاریخ که نحوه اعمال هزینه ها را تعیین می کند.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange 1..99 DateRange یک محدوده تاریخی که تاریخ هایی را که قرار است تبلیغات اعمال شود را مشخص می کند.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @start 0..1 Date تاریخ شروع (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید قبل یا همان تاریخ end باشد. اگر start مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ شروع نامحدود است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @end 0..1 Date تاریخ پایان (بر اساس منطقه زمانی ملک)، شامل محدوده تاریخ. این تاریخ باید همان تاریخ start یا بعد از آن باشد. اگر end مشخص نشده باشد، محدوده تاریخ عملاً از نظر تاریخ پایان نامحدود است.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @days_of_week 0..1 string

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

شخصیت های معتبر عبارتند از:

  • M برای دوشنبه
  • T برای سه شنبه
  • W برای چهارشنبه
  • H برای پنجشنبه
  • F برای جمعه
  • S برای شنبه
  • U برای یکشنبه

هر ترکیب کاراکتری معتبر است.

نمونه ها

هزینه های بزرگسالان

هزینه برای بزرگسالان اضافی فقط می تواند به صورت مبالغ ثابت بیان شود. مثال زیر یک پیام ExtraGuestCharges را نشان می دهد که هزینه های بزرگسالان را مشخص می کند:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <StayDates />
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

در اینجا نرخ های مربوطه آمده است:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
            <BaseByGuestAmt AmountAfterTax="120.00"
                            CurrencyCode="USD"
                            NumberOfGuests="3"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>

هنگامی که یک کاربر چهار بزرگسال را در گوگل جستجو می کند، نرخ کل 170 = 120 + 50 خواهد بود.

120 از نرخ <BaseByGuestAmt> با NumberOfGuests="3" و 50 از AdultCharge amount="50" می آید.

هزینه های کودک

هزینه‌های کودکان در گروه سنی تا 17 سال بیان می‌شود و می‌تواند به صورت ثابت، درصد یا تخفیف بیان شود.

مثال زیر یک پیام ExtraGuestCharges را نشان می دهد که هزینه های فرزند را مشخص می کند:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <AgeBrackets>
        <ChildAgeBrackets>
          <ChildAgeBracket max_age="3" percentage="10"
                           counts_as_base_occupant="never" />
          <ChildAgeBracket max_age="10" percentage="30"
                           counts_as_base_occupant="preferred"/>
          <ChildAgeBracket max_age="17" discount_amount="10"
                           counts_as_base_occupant="always" />
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

در اینجا نرخ های مربوطه آمده است:

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            EchoToken="12345678"
                            TimeStamp="2020-05-19T20:50:37-05:00"
                            Version="3.0">
  <RateAmountMessages HotelCode="ABC">
    <RateAmountMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <Rates>
        <Rate>
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="100.00"
                            CurrencyCode="USD"
                            NumberOfGuests="1"/>
            <BaseByGuestAmt AmountAfterTax="110.00"
                            CurrencyCode="USD"
                            NumberOfGuests="2"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
```

  1.  Suppose you want the total price for 2 adults and 1 child of 2 years
      of age.

      Children aged 0-3 are never included in the rate's occupancy,
      so here you should take the double occupancy rate and divide by 2 to
      get the unit price. Then, multiply by the percentage rate and sum
      with the rate to get the total price.

      `unit price ` = 110 / 2 = 55

      `total price` = 110 + 55 * 0.1 = 115.5

  1.  Suppose you want the total price for 1 adult and 2 children, both of 5
      years of age.

      Children aged 4-10 are preferably included in the rate's
      occupancy. you should start by looking for a 3 adult rate since both
      children are preferably included in the rate's occupancy. Since
      that doesn't exist you should fall back to the 2 adult rate and then,
      take this rate and divide by two to get the unit price. Finally,
      multiply by the percentage rate and sum with the scaled rate to
      get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + 55 * 0.3 + 55 * 0.3 = 88

  1.  Suppose you want the total price for 1 adult and 1 child of 17
      years of age.

      Children aged 11-17 are always included in the rate's occupancy, so,
      in this case, take the double occupancy rate and divide by 2 to get
      the unit price. Then, deduct it by the discount amount and sum with
      the scaled rate to get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + (55 - 10) = 100

محدودیت های شارژ

همه انواع محدودیت ها اختیاری هستند و می توان از هر ترکیبی از آنها استفاده کرد.

مثال زیر یک پیام ExtraGuestCharges را نشان می دهد که محدودیت ها را مشخص می کند:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

پیام بالا مشخص می‌کند که بزرگسالان باید برای هر محصولی که نوع اتاق «ملکه» یا «شاه» با نرخ «وای فای رایگان» یا «صبحانه گرم» برای تاریخ‌های ۱ سپتامبر ۲۰۲۰ تا ۱۴ سپتامبر ۲۰۲۰ دارد، هزینه دریافت شود. .

هزینه های همپوشانی

این بخش نمونه ای از یک پیام نامعتبر را نشان می دهد که هزینه های متفاوتی را برای ترکیبی از تاریخ ها و محصولات مشابه مشخص می کند.


<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-05"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="20" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

پیام بالا نامعتبر است زیرا اولین <ExtraGuestCharge> مشخص می کند که "ملکه" و "وای فای رایگان" برای 1 تا 14 سپتامبر باید 50 نفر از بزرگسالان اضافی هزینه کنند. دومین <ExtraGuestCharge> مشخص می کند که هر یک از "ملکه" یا "پادشاه" با هر یک از "وای فای رایگان" یا "صبحانه گرم" برای 1 تا 5 سپتامبر باید برای بزرگسالان 20 نفر دیگر هزینه دریافت کند. برای "ملکه" و "وای فای رایگان" برای 1 تا 5 سپتامبر هزینه های همپوشانی وجود دارد و تداخل بین اینکه آیا هزینه پرداخت شود وجود دارد. 20 یا 50 برای یک بزرگسال اضافی.

پاسخ ها

نحو

پیام ExtraGuestChargesResponse از دستور زیر استفاده می کند:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse 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>
</ExtraGuestChargesResponse>

عناصر و ویژگی ها

پیام ExtraGuestChargesResponse دارای عناصر و ویژگی های زیر است:

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

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

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

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

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

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

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

نمونه ها

موفقیت

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

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

مسائل

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

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