Các khoản phí phụ của khách

Cước phí gửi qua <OTA_HotelRateAmountNotifRQ> có thể là được sửa đổi để tính cho người lớn và trẻ em ngoài mức giá ban đầu số lượng khách lưu trú. Thông báo ExtraGuestCharges cho phép quy cách về cách tính giá phòng cho những khách lưu trú bổ sung này và những phòng, gói giá và ngày lưu trú sẽ được áp dụng khoản phí đó.

Yêu cầu về sức chứa

Giá được tính trong thông báo ExtraGuestCharges chỉ hợp lệ nếu tất cả đáp ứng các yêu cầu về dung lượng. Xem Giao dịch (Dữ liệu của cơ sở lưu trú) để biết thêm thông tin.

Yêu cầu

Cú pháp

Thông báo ExtraGuestCharges sử dụng cú pháp sau:

<?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>

Phần tử và Thuộc tính

Thông báo ExtraGuestCharges có các thành phần sau và thuộc tính:

Phần tử / @Thuộc tính Số lần xuất hiện Loại Mô tả
ExtraGuestCharges 1 Complex element Phần tử gốc của thông báo này.
ExtraGuestCharges / @partner 1 string Tài khoản đối tác dùng cho thư này. Giá trị chuỗi này là Partner key giá trị được liệt kê trên Trang Cài đặt tài khoản trong Hotel Center.

Lưu ý: Nếu bạn có phần phụ trợ cung cấp nguồn cấp dữ liệu cho nhiều tài khoản, thì giá trị này cần phải khớp với ID được chỉ định trong <RequestorID> của <OTA_HotelRateAmountNotifRQ><OTA_HotelAvailNotifRQ> tin nhắn cho cùng một kết quả tài khoản.

ExtraGuestCharges / @id 1 string Giá trị nhận dạng duy nhất cho thông báo yêu cầu này. Giá trị này được trả về trong tin nhắn phản hồi. Các ký tự được phép là a-z, A-Z, 0-9, _ (dấu gạch dưới) và - (dấu gạch ngang).
ExtraGuestCharges / @timestamp 1 DateTime Ngày và giờ tạo thông báo này.
ExtraGuestCharges / HotelExtraGuestCharges 0..n HotelExtraGuestCharges Vùng chứa tính phí cho một cơ sở lưu trú.
ExtraGuestCharges / HotelExtraGuestCharges / @hotel_id 1 string Giá trị nhận dạng duy nhất của cơ sở lưu trú. Giá trị này phải khớp với Mã khách sạn được chỉ định bằng <id> trong phần tử <listing> trong Nguồn cấp dữ liệu danh sách khách sạn. Mã khách sạn cũng có trong Hotel Center.
ExtraGuestCharges / HotelExtraGuestCharges / @action 0..1 enum Chỉ định cách áp dụng bản cập nhật. Chỉ overlay là được hỗ trợ và mặc định là lớp phủ. Mọi khoản phí trước đây cho việc này bị xoá trước khi áp dụng nội dung cập nhật.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

Một tập hợp khoản phí cho một cơ sở lưu trú. Tên này có thể chứa các quy định hạn chế về cách áp dụng khoản phí và cách tính các khoản phí được tính theo độ tuổi hoặc danh mục khách.

Mỗi ExtraGuestCharge trong một HotelExtraGuestCharges phải áp dụng cho một tập hợp ngày duy nhất và sản phẩm của Google. Nếu hai phần tử ExtraGuestCharge đề cập đến cùng một kết hợp ngày và sản phẩm, thì toàn bộ thư sẽ bị từ chối.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets 1 AgeBrackets Vùng chứa nhóm tuổi để tính phí theo độ tuổi hoặc danh mục khách mời.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge 0..1 AdultCharge Vùng chứa tính phí cho người lớn bổ sung.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge / @amount 0..1 float Một giá trị thập phân dương cho biết số tiền cố định tính phí cho người lớn bổ sung. Khoản phí này sử dụng cùng đơn vị tiền tệ với mục được chỉ định cho mức giá mỗi đêm.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Vùng chứa dành cho trẻ em bổ sung phí. Các nhóm tuổi này chỉ có thể bao gồm độ tuổi từ 0 đến 17.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..99 ChildAgeBracket Khoản phí áp dụng cho trẻ em ở một độ tuổi cụ thể. Các phải được sắp xếp theo thứ tự từ max_age thấp nhất đến cao nhất max_age. Bạn có thể chỉ định số tiền cần trả bằng cách sử dụng amount, percentage hoặc discount_amount. Phải có đúng một trong các thuộc tính đó được chỉ định cho mỗi <ChildAgeBracket>.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer Độ tuổi tối đa mà các khoản phí được chỉ định trong <ChildAgeBracket> có thể áp dụng. Độ tuổi tối thiểu là 0 nếu không có <ChildAgeBracket> nào khác được chỉ định trước sự kiện này. Nếu không, giá trị này lớn hơn giá trị của dấu ngoặc vuông trước độ tuổi tối đa.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @exclude_from_capacity 1 boolean Giá trị boolean cho biết trẻ trong độ tuổi này có cần được tính vào tổng sức chứa của phòng và sức chứa của trẻ. Các có thể được thiết lập bằng Giao dịch(Dữ liệu của cơ sở lưu trú). Ví dụ: trẻ sơ sinh dưới một độ tuổi nhất định có thể không cần tính vào hạn mức của tài khoản con.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 0..1 float Một giá trị thập phân không âm cho biết số tiền cố định cần tính phí cho trẻ em bổ sung trong nhóm này. Khoản phí này sử dụng giống với đơn vị tiền tệ được chỉ định cho giá mỗi đêm.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

Một giá trị thập phân từ 1 đến 99 cho biết tỷ lệ phần trăm của giá dành cho người lớn sẽ được tính cho thêm một trẻ em trong gói này dấu ngoặc vuông. Khoản phí này sử dụng cùng đơn vị tiền tệ với đơn vị tiền tệ được chỉ định cho giá mỗi đêm.

Xem cuộc thảo luận dưới counts_as_base_occupant để biết chi tiết về cách tính giá dành cho người lớn.

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

Một giá trị thập phân dương cho biết mức chiết khấu cố định số tiền giảm giá cho giá người lớn cho trẻ em bổ sung trong khung này. Khoản phí này sử dụng cùng đơn vị tiền tệ với đơn vị tiền tệ được chỉ định cho mỗi đêm giá.

Nhìn chung, phí cho trẻ em trong khung này được tính bằng trừ số tiền cố định vào "đơn giá". Đơn giá là được thảo luận chi tiết hơn trong counts_as_base_occupant phần thuộc tính.

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

Nếu percentage hoặc discount_amount được chỉ định, thì counts_as_base_occupant phải cũng được chỉ định. Giá trị này xác định liệu phần tử con có nên được bao gồm trong NumberOfGuest khi bạn chọn một <BaseByGuestAmount> tỷ lệ để áp dụng tỷ lệ phần trăm các khoản phí và chiết khấu.

Mục tiêu ở đây là có được "đơn giá" mà từ đó phí có thể tính được.

unit price = rate / occupancy

Giá trị của thuộc tính này phải là một trong never, preferred hoặc always.

  • Nếu bạn chỉ định never thì phần tử con không bao giờ được có trong số người lưu trú của giá phòng.

    Nếu bạn muốn tính giá cho 2 người lớn và 2 trẻ em (2 + 2), bạn nên sử dụng mức giá cho 2 người lớn vì trẻ em không được đưa vào.

  • Nếu bạn chỉ định preferred thì phần tử con phải tốt nhất nên được bao gồm trong số người lưu trú của giá phòng.

    Nếu bạn muốn tính giá cho 2 người lớn và 1 trẻ em (2 + 1), bạn nên sử dụng mức giá cho 3 người lớn, nhưng nếu không thể , thì bạn nên sử dụng mức giá cho 2 người lớn.

  • Nếu bạn chỉ định always thì phần tử con phải luôn có trong số người lưu trú của giá phòng.

    Nếu bạn muốn tính giá cho 2 người lớn và 2 trẻ em (2 + 2), bạn nên sử dụng mức giá cho 4 người lớn vì trẻ em phải được đưa vào.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes Vùng chứa danh sách các loại phòng áp dụng khoản phí đó. Các khoản phí sẽ được áp dụng cho mỗi <RoomType> đã chỉ định. Nếu bạn không chỉ định <RoomTypes>, áp dụng cho tất cả phòng trong cơ sở lưu trú được chỉ định.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType 1..n RoomType Xác định một loại phòng. Loại phòng được xác định trong một Phần tử <RoomData> trong một Giao dịch (Dữ liệu của cơ sở lưu trú) và được tham chiếu bằng Giá trị <RoomID>. (Bây giờ là <RoomID> cũng được thuộc tính InvTypeCode tham chiếu trong OTA_HotelRateAmountNotifRQ.)
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType / @id 1 string Giá trị nhận dạng duy nhất của quỹ phòng (loại phòng). Giá trị này liên kết cho <RoomID> trong thông báo Giao dịch (Dữ liệu của cơ sở lưu trú). Số lượng ký tự tối đa được phép là 50.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans 0..1 RatePlans Vùng chứa danh sách các gói giá áp dụng khoản phí đó. Nếu bạn không xác định <RatePlans>, thì các khoản phí sẽ áp dụng cho mọi gói giá.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan 1..n RatePlan Xác định một gói giá. Gói giá được xác định bằng cách kết hợp gói, giá và tình trạng còn phòng, như được xác định trong Giao dịch (Dữ liệu của cơ sở lưu trú), OTA_HotelRateAmountNotifRQ và OTA_HotelAvailNotifRQ thông báo và như được xác định bằng PackageID.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan / @id 1 string Giá trị nhận dạng riêng biệt của gói giá. Giá trị này liên kết với Giá trị PackageID trong <PackageData> trong thông báo Giao dịch (Dữ liệu của cơ sở lưu trú) và trong Thuộc tính RatePlanCode trong <StatusApplicationControl> ở cả hai <OTA_HotelRateAmountNotifRQ><OTA_HotelAvailNotifRQ> tin nhắn. Số lượng ký tự tối đa được phép là 50.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates 0..1 StayDates Vùng chứa một hoặc nhiều phạm vi ngày xác định cách .
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange 1..99 DateRange Phạm vi ngày xác định các ngày mà chương trình khuyến mãi sẽ được áp dụng.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @start 0..1 Date Ngày bắt đầu (dựa trên múi giờ của cơ sở lưu trú), tính cả ngày phạm vi ngày. Ngày này phải trước hoặc giống với ngày Ngày end. Nếu bạn không chỉ định start thì ngày này phạm vi hoàn toàn không giới hạn về ngày bắt đầu.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @end 0..1 Date Ngày kết thúc (dựa trên múi giờ của cơ sở lưu trú) kể cả ngày phạm vi ngày. Ngày này phải trùng hoặc sau ngày start ngày. Nếu bạn không chỉ định end thì ngày này phạm vi thực tế là không giới hạn về ngày kết thúc.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @days_of_week 0..1 string

Ngày trong tuần được phép sử dụng trong phạm vi ngày. Nếu không đã chỉ định, tất cả các ngày đều được phép trong phạm vi ngày. Một ký tự trong chuỗi chỉ định một ngày. Ví dụ: "MTWHF" chỉ định mà các ngày trong tuần được phép trong phạm vi ngày.

Các ký tự hợp lệ là:

  • M đại diện cho thứ Hai
  • T đại diện cho thứ Ba
  • W đại diện cho thứ Tư
  • H đại diện cho thứ Năm
  • F đại diện cho thứ Sáu
  • S đại diện cho thứ Bảy
  • U đại diện cho Chủ Nhật

Mọi tổ hợp ký tự đều hợp lệ.

Ví dụ

Phí cho người lớn

Các khoản phí cho người lớn bổ sung chỉ có thể được trình bày dưới dạng số tiền cố định. Chiến lược phát hành đĩa đơn ví dụ sau đây cho thấy một thông báo ExtraGuestCharges chỉ định người lớn khoản phí:

<?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>

Sau đây là các mức thuế suất tương ứng:

<?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>

Khi người dùng tìm kiếm 4 người lớn trên Google, tổng giá sẽ là 170 = 120 + 50.

120 đến từ tỷ lệ <BaseByGuestAmt> với NumberOfGuests="3" và 50 đến từ AdultCharge amount="50".

Phí cho trẻ em

Phí cho trẻ em được trình bày theo nhóm tuổi đến 17 tuổi và có thể được thể hiện dưới dạng số tiền cố định, tỷ lệ phần trăm hoặc chiết khấu.

Ví dụ sau đây cho thấy một thông báo ExtraGuestCharges chỉ định phí trẻ em:

<?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>

Sau đây là các mức thuế suất tương ứng:

<?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

Giới hạn tính phí

Tất cả các loại quy định hạn chế là không bắt buộc và bạn có thể kết hợp các loại quy định này đã sử dụng.

Ví dụ sau đây cho thấy một thông báo ExtraGuestCharges chỉ định hạn chế:

<?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>

Thông báo ở trên nêu rõ rằng người lớn cần phải được tính phí cho bất kỳ sản phẩm nào có loại phòng là "nữ hoàng" hoặc "king" có gói giá "wifi miễn phí" hoặc "bữa sáng nóng" từ ngày 01/09/2020 đến ngày 14/09/2020.

Khoản phí trùng lặp

Phần này cho thấy ví dụ về một thông báo không hợp lệ nêu rõ thông tin khác tính phí cho cùng một kiểu kết hợp ngày và sản phẩm.


<?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>

Thông báo ở trên không hợp lệ vì <ExtraGuestCharge> đầu tiên chỉ định rằng "queen" và "wifi-miễn phí" bạn sẽ phải trả phí cho ngày 1 đến ngày 14 tháng 9 người lớn bổ sung 50 người. <ExtraGuestCharge> thứ hai chỉ định rằng bất kỳ "queen" nào hoặc "king" bằng bất cứ "wifi-miễn phí" nào hoặc "bữa sáng nóng" cho ngày 1 đến ngày 5 tháng 9 nên tính phí thêm người lớn là 20 người. Có các khoản phí chồng chéo cho "nữ hoàng" và "wifi-miễn phí" từ ngày 1 tháng 9 đến 5 và xung đột giữa việc tính phí 20 hay 50 cho một người lớn bổ sung.

Phản hồi

Cú pháp

Thông báo ExtraGuestChargesResponse sử dụng các cú pháp:

<?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>

Phần tử và Thuộc tính

Thông báo ExtraGuestChargesResponse có các thành phần sau và thuộc tính:

Phần tử / @Thuộc tính Số lần xuất hiện Loại Mô tả
ExtraGuestChargesResponse 1 Complex element Phần tử gốc cho biết ứng dụng nhận được thành công hay gặp vấn đề Tin nhắn yêu cầu ExtraGuestCharges.
ExtraGuestChargesResponse / @timestamp 1 DateTime Ngày và giờ tạo thông báo này.
ExtraGuestChargesResponse / @id 1 string Giá trị nhận dạng duy nhất lấy từ thông báo ExtraGuestCharges được liên kết.
ExtraGuestChargesResponse / @partner 1 string Tài khoản đối tác dùng cho thư này.
ExtraGuestChargesResponse / Success 0..1 Success Cho biết rằng thông báo ExtraGuestCharges đã được xử lý thành công mà không có cảnh báo, lỗi hoặc hỏng hóc.

<Success> hoặc <Issues> là xuất hiện trong mỗi thông điệp.

ExtraGuestChargesResponse / Issues 0..1 Issues Vùng chứa một hoặc nhiều vấn đề gặp phải trong khi xử lý ExtraGuestCharges tin nhắn.

<Success> hoặc <Issues> là xuất hiện trong mỗi thông điệp.

ExtraGuestChargesResponse / Issues / Issue 1..n Issue Nội dung mô tả về cảnh báo, lỗi hoặc thất bại xảy ra trong khi đang xử lý thông báo ExtraGuestCharges. Bạn có thể xem thông tin chi tiết về các vấn đề này trong Thông báo lỗi về trạng thái nguồn cấp dữ liệu.
ExtraGuestChargesResponse / Issues / Issue / @code 1 integer Giá trị nhận dạng của vấn đề.
ExtraGuestChargesResponse / Issues / Issue / @status 1 enum

Loại vấn đề mà bạn gặp phải.

Các giá trị hợp lệ là warning, error, và failure.

Ví dụ

Thành công

Sau đây là phản hồi cho một sự kiện đã được xử lý thành công ExtraGuestCharges tin nhắn.

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

Vấn đề

Dưới đây là phản hồi cho một thông báo ExtraGuestCharges chưa được xử lý do lỗi.

<?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>