الرسوم الإضافية للضيوف

يمكن أن تكون الأسعار المُرسَلة من خلال "<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 في صفحة إعدادات الحساب في Hotel Center.

ملاحظة: إذا كانت لديك خلفية توفر خلاصات حسابات متعددة، يجب أن تتطابق هذه القيمة مع ID قيمة السمة المحددة في <RequestorID> العنصر في <OTA_HotelRateAmountNotifRQ> <OTA_HotelAvailNotifRQ> رسالة لنفس الحساب.

ExtraGuestCharges / @id 1 string معرّف فريد لرسالة الطلب هذه يتم عرض هذه القيمة في رسالة الرد. الأحرف المسموح بها هي a-z، A-Z و0-9 و_ (شرطة سفلية) و - (شرطة).
ExtraGuestCharges / @timestamp 1 DateTime تاريخ إنشاء هذه الرسالة ووقتها.
ExtraGuestCharges / HotelExtraGuestCharges 0..n HotelExtraGuestCharges حاوية رسوم موقع واحد.
ExtraGuestCharges / HotelExtraGuestCharges / @hotel_id 1 string تشير هذه السمة إلى المعرّف الفريد الخاص بالمكان المخصّص للاستئجار. يجب أن تتطابق هذه القيمة مع تم تحديد رقم تعريف الفندق باستخدام <id> في العنصر <listing> في خلاصة قوائم الفنادق يكون رقم تعريف الفندق مُدرجًا أيضًا في Hotel Center.
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 رسوم تنطبق على الأطفال في فئة عمرية معيّنة. هذه يجب طلب الترتيب من أدنى 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 قيمة منطقية تشير إلى ما إذا كان الطفل في هذه الفئة العمرية يجب أن يتم احتسابه ضمن إجمالي سعة الغرفة وسعة الغرف الفرعية. هذه يمكن ضبط السعات باستخدام المعاملة(بيانات الموقع): على سبيل المثال، الأطفال الرضّع دون سنّ معيّنة قد لا يلزم احتسابها ضمن سعة الأطفال.
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 تحديدها أيضًا. تحدِّد هذه القيمة ما إذا كان يجب على الطفل سيتم تضمينه في NumberOfGuest عند اختيار نسبة <BaseByGuestAmount> عند تطبيق النسبة المئوية للتطبيق التكاليف والخصومات.

الهدف هنا هو الحصول على "سعر الوحدة" والتي منها حساب الرسوم.

unit price = rate / occupancy

يجب أن تكون قيمة هذه السمة واحدة من never، preferred أو always.

  • إذا تم تحديد never، لا ينبغي أبدًا أن تكون المجموعة الثانوية هي في معدل إشغال السعر.

    إذا أردت حساب السعر لفردين بالغين وطفلين (2+ 2)، يجب عليك استخدام السعر لشخصين بالغين لأن الأطفال عن هذا النوع من الإعلانات.

  • إذا تم تحديد preferred، فينبغي لطفل ويفضل أن يكون مشمولاً في سعر الإشغال.

    إذا أردت احتساب السعر لفردَين بالغَين وطفل واحد (2+1)، من الأفضل استخدام السعر لثلاثة أشخاص بالغين، ولكن إذا لم يكن ذلك ممكنًا فينبغي عليك استخدام السعر لشخصين بالغين.

  • إذا تم تحديد always، فينبغي لطفل أن تكون دائمًا مشمولة في عدد النزلاء في السعر.

    إذا أردت حساب السعر لفردين بالغين وطفلين (2+ 2)، يجب عليك استخدام السعر لأربعة أشخاص بالغين لأنه يجب على الأطفال المشروع.

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 المعرّف الفريد للمستودع (نوع الغرفة) تحدد هذه القيمة إلى <RoomID> في رسالة معاملة (بيانات الموقع). الحد الأقصى لعدد الأحرف المسموح به هو 50 حرفًا.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans 0..1 RatePlans حاوية لقائمة خطط الأسعار التي تنطبق عليها الرسوم إذا لم يتم تحديد <RatePlans>، سيتم تحصيل الرسوم. على جميع خطط الأسعار
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan 1..n RatePlan تحدّد خطة أسعار. يتم تحديد خطة الأسعار من خلال مجموعة من الحزمة والأسعار والتوفّر، كما هو محدّد في المعاملة (بيانات الموقع) وOTA_HotelRateAmountNotifRQ وOTA_HotelAvailNotifRQ والرسائل كما هو محدد في PackageID.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan / @id 1 string المعرّف الفريد لخطة الأسعار يتم تعيين هذه القيمة إلى قيمة PackageID في <PackageData> في رسالة المعاملة (بيانات الموقع)، وفي سمة 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>

عندما يبحث أحد المستخدمين عن أربعة أشخاص بالغين على Google، سيكون السعر الإجمالي 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>

تشير الرسالة أعلاه إلى أنه يجب تحصيل رسوم من البالغين مقابل أي منتج. بها نوع الغرفة "ملكة" أو "ملك" مع خطة أسعار "Wi-Fi مجاني" أو "إفطار ساخن" للتواريخ من 1 سبتمبر 2020 إلى 14 سبتمبر 2020.

رسوم متداخلة

يعرض هذا القسم مثالاً على رسالة غير صالحة تحدّد قيمًا مختلفة الرسوم عن مجموعات التواريخ والمنتجات نفسها.


<?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> أن "الملكة" و"Wi-Fi مجاني" من 1 إلى 14 سبتمبر سيتم شحنها أشخاص بالغين إضافيين 50. <ExtraGuestCharge> الثاني أن أي من "الملكة" أو "ملك" باستخدام أي "Wi-Fi مجاني" أو "إفطار ساخن" في الفترة من 1 إلى 5 سبتمبر، سيتم تحصيل رسوم إضافية من البالغين 20 شخصًا. هناك رسوم متداخلة مقابل "الملكة" و"Wi-Fi مجاني" من 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>