คำขอ
ไวยากรณ์
ข้อความ TaxFeeInfo ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
            id="message_ID"
            partner="partner_key">
  <Property action="[overlay]">
    <ID>HotelID</ID>
    <Taxes>
      <Tax>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>tax_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <!--"exclusive" parameter is optional -->
        <Rank exclusive="[true|false]">integer</Rank>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>fee_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <!--"exclusive" parameter is optional -->
        <Rank exclusive="[true|false]">integer</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>
องค์ประกอบและแอตทริบิวต์
ข้อความ TaxFeeInfo มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
| องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย | 
|---|---|---|---|
| TaxFeeInfo | 1 | Complex element | องค์ประกอบรูทของข้อความที่กำหนดภาษีและค่าธรรมเนียมสำหรับที่พักเดียว | 
| TaxFeeInfo / @timestamp | 1 | DateTime | วันที่และเวลาที่สร้างข้อความนี้ | 
| TaxFeeInfo / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับข้อความคำขอนี้ ค่านี้จะแสดงในข้อความตอบกลับ อักขระที่อนุญาตคือ a-z,
        A-Z, 0-9, _
        (ขีดล่าง) และ - (ขีดกลาง) | 
    
| TaxFeeInfo / @partner | 1 | string | บัญชีพาร์ทเนอร์สำหรับข้อความนี้ ค่าของสตริงนี้คือค่า "Partner key" ซึ่งแสดงอยู่ที่
        หน้าการตั้งค่าบัญชีใน Hotel Center
         หมายเหตุ: หากมีแบ็กเอนด์ที่มีฟีดสำหรับหลายบัญชี ค่านี้จะต้องตรงกับค่าแอตทริบิวต์   | 
    
| TaxFeeInfo / Property | 1..n | Property | คอนเทนเนอร์สำหรับกำหนดภาษีและค่าธรรมเนียมของที่พักเดียว | 
| TaxFeeInfo / Property / @action | 0..1 | string | ระบุวิธีการใช้การอัปเดต รองรับเฉพาะ overlay และค่าเริ่มต้นคือ overlay ระบบจะล้างTaxesและFeesก่อนหน้านี้ของพร็อพเพอร์ตี้นี้ก่อนที่จะใช้การอัปเดตนี้ | 
    
| TaxFeeInfo / Property / ID | 1 | string | ตัวระบุที่ไม่ซ้ำกันของที่พัก ค่านี้ต้องตรงกับรหัสโรงแรมซึ่งระบุโดยใช้ <id> ในองค์ประกอบ <listing> ในฟีดข้อมูลโรงแรม นอกจากนี้ รหัสโรงแรมยังแสดงอยู่ใน Hotel Center ด้วย | 
| TaxFeeInfo / Property / Taxes | 0..1 | Taxes | คอนเทนเนอร์สำหรับองค์ประกอบ <Tax> อย่างน้อย 1 รายการ | 
    
| TaxFeeInfo / Property / Taxes / Tax | 1..n | Tax | ภาษีบุคคลธรรมดาที่ที่พักจะเรียกเก็บ | 
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes | 0..1 | RoomTypes | คอนเทนเนอร์สำหรับรายการประเภทห้องพักที่ต้องเสียภาษี
        ภาษีจะมีผลกับ <RoomType> แต่ละรายการที่ระบุ หากไม่มีการระบุ <RoomTypes> ภาษีจะมีผลกับห้องพักทุกประเภท | 
    
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType | 1..n | RoomType | ระบุประเภทห้องพัก ประเภทห้องพักจะระบุอยู่ในองค์ประกอบ <RoomData> ของข้อความ Transaction (Property Data) โดยใช้ RoomID เป็นตัวระบุ (นอกจากนี้ ค่า <RoomID> ยังอ้างอิงโดยแอตทริบิวต์ InvTypeCode ในข้อความ OTA_HotelRateAmountNotifRQ) | 
    
| TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับห้องพัก (ประเภทห้องพัก) ค่านี้จะแมปกับ <RoomID> ในข้อความ Transaction (Property Data) จำนวนอักขระสูงสุดที่อนุญาตคือ 50 ตัว | 
    
| TaxFeeInfo / Property / Taxes / Tax / RatePlans | 0..1 | RatePlans | คอนเทนเนอร์สำหรับรายการแพ็กเกจราคาที่จะเรียกเก็บภาษี
        หากไม่มีการระบุ <RatePlans> ระบบจะเรียกเก็บภาษีจากแพ็กเกจราคาทั้งหมด | 
    
| TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan | 1..n | RatePlan | ระบุแพ็กเกจราคา ระบบจะกำหนดแพ็กเกจราคาจากชุดค่าผสมของแพ็กเกจ ราคา และจำนวนห้องว่างตามที่ระบุไว้ในข้อความ Transaction (Property Data), OTA_HotelRateAmountNotifRQ และ OTA_HotelAvailNotifRQ รวมถึงกำหนดตามที่ PackageID ระบุไว้ | 
| TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันสำหรับแพ็กเกจราคา ค่านี้จะแมปกับค่า PackageID ในข้อความ Transaction (Property Data) ของ <PackageData> และค่า RatePlanCode ที่ตั้งไว้ภายใต้แอตทริบิวต์ <StatusApplicationControl> ในข้อความ <OTA_HotelRateAmountNotifRQ> และ <OTA_HotelAvailNotifRQ>
        จำนวนอักขระสูงสุดที่อนุญาตคือ 50 ตัว | 
    
| TaxFeeInfo / Property / Taxes / Tax / BookingDates | 0..1 | BookingDates | คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องทำการจองเพื่อให้เรียกเก็บภาษีได้ | 
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange | 1..99 | DateRange | ช่วงวันที่ที่ระบุเมื่อต้องทำการจองเพื่อให้เรียกเก็บภาษีได้ | 
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start | 0..1 | Date | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น | 
    
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end | 0..1 | Date | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด | 
    
| TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้  | 
    
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates | 0..1 | CheckinDates | คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องเลือกวันเช็คอินเพื่อให้เรียกเก็บภาษีได้ | 
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange | 1..20 | DateRange | ช่วงวันที่ที่ระบุเมื่อต้องเลือกวันเช็คอินเพื่อให้เรียกเก็บภาษีได้ | 
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start | 0..1 | Date | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น | 
    
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end | 0..1 | Date | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด | 
    
| TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้  | 
    
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates | 0..1 | CheckoutDates | คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดเมื่อต้องเลือกวันเช็คเอาต์เพื่อให้เรียกเก็บภาษีได้ | 
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange | 1..20 | DateRange | ช่วงวันที่ที่ระบุเมื่อต้องเลือกวันเช็คเอาต์เพื่อให้เรียกเก็บภาษีได้ | 
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start | 0..1 | Date | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น | 
    
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end | 0..1 | Date | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด | 
    
| TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้  | 
    
| TaxFeeInfo / Property / Taxes / Tax / StayDates | 0..1 | StayDates | คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดว่าจะเรียกเก็บภาษีหรือไม่ เช่น เพื่อรองรับส่วนลดตามฤดูกาล  | 
    
| TaxFeeInfo / Property / Taxes / Tax / StayDates / @application | 1 | enum | อธิบายวิธีการเรียกเก็บภาษี ค่าที่ใช้ได้มีดังนี้ 
 คุณต้องระบุแอตทริบิวต์นี้เสมอ  | 
    
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange | 1..99 | DateRange | ช่วงวันที่ซึ่งระบุวันที่ที่จะเรียกเก็บภาษี | 
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start | 0..1 | Date | วันที่เริ่มต้น (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่ก่อนหน้าหรือวันที่เดียวกับ end หากไม่มีการระบุ start ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่เริ่มต้น | 
    
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end | 0..1 | Date | วันที่สิ้นสุด (ตามเขตเวลาของที่พัก) ของช่วงวันที่เข้าพัก โดยนับรวมวันที่ดังกล่าวด้วย วันที่นี้ต้องเป็นวันที่เดียวกันหรือหลังจาก start หากไม่มีการระบุ end ระบบจะถือว่าช่วงวันที่ดังกล่าวไม่มีขอบเขตวันที่สิ้นสุด | 
    
| TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week | 0..1 | string | วันของสัปดาห์ที่อนุญาตให้ใช้ในช่วงวันที่ หากไม่มีการระบุ ระบบจะอนุญาตให้ใช้ทุกวันในช่วงวันที่ อักขระแต่ละตัวในสตริงจะระบุวัน เช่น "MTWHF" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่ อักขระที่ใช้ได้มีดังนี้ 
 คุณจะระบุชุดค่าผสมของอักขระแบบใดก็ได้  | 
    
| TaxFeeInfo / Property / Taxes / Tax / Type | 1 | enum | ค่าที่ใช้ได้มีดังนี้ 
 
  | 
    
| TaxFeeInfo / Property / Taxes / Tax / Basis | 1 | enum | ค่าที่ใช้ได้มีดังนี้ 
  | 
    
| TaxFeeInfo / Property / Taxes / Tax / Period | 1 | enum | 
         ค่าที่ใช้ได้มีดังนี้ 
  | 
    
| TaxFeeInfo / Property / Taxes / Tax / Currency | 0..1 | string | รหัสสกุลเงิน 3 ตัวอักษรสำหรับภาษี (เช่น USD)
       หมายเหตุ: หากไม่ได้ระบุ   | 
    
| TaxFeeInfo / Property / Taxes / Tax / Amount | 0..1 | float | มูลค่าของเปอร์เซ็นต์หรือจำนวนภาษี | 
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights | 0..1 | ApplicableNights | ค่านี้จะมีผลก็ต่อเมื่อตั้งค่า <Type> เป็นจำนวนเงิน และตั้งค่า <Period> เป็นระยะเวลาที่ค้างคืน
        จำกัดจำนวนคืนที่เรียกเก็บภาษีได้ ระบุ   | 
    
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max | 0..1 | integer | <ApplicableNights max="N"> หมายความว่าควรยกเว้นคืนหลังจาก N คืนแรก
 | 
    
| TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded | 0..1 | integer | <ApplicableNights excluded="N"> ระบุว่าควรยกเว้น
        N คืนแรก | 
    
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay | 0..1 | LengthOfStay | กำหนดขีดจำกัดของระยะเวลาในการเข้าพักที่ระบบจะเรียกเก็บภาษีนี้ได้ โดยจะไม่มีการเรียกเก็บภาษีดังกล่าวหากระยะเวลาในการเข้าพักไม่อยู่ในขีดจำกัดขั้นต่ำและสูงสุด | 
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min | 0..1 | integer | จำนวนคืนขั้นต่ำที่เข้าพักซึ่งอนุญาตให้เรียกเก็บภาษีได้ หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนขั้นต่ำ | 
| TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max | 0..1 | integer | จำนวนคืนสูงสุดที่เข้าพักซึ่งอนุญาตให้เรียกเก็บภาษีได้ หากไม่ได้ระบุ จะถือว่าไม่มีจำนวนสูงสุด | 
| TaxFeeInfo / Property / Taxes / Tax / Brackets | 0..1 | Brackets | คอนเทนเนอร์สำหรับองค์ประกอบ <Bracket> อย่างน้อย 1 รายการ
        กำหนดช่วงชั้นการเสียภาษีแบบต่อเนื่องและไม่ทับซ้อนกัน เช่น เกณฑ์ภาษี GST ของอินเดีย
      องค์ประกอบนี้จะใช้ได้ก็ต่อเมื่อตั้งค่า   | 
    
| TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount | 0..1 | float | มูลค่าของเปอร์เซ็นต์หรือจำนวนภาษีที่ใช้คำนวณราคาต่อคืนต่ำกว่าค่า starts_at ของช่วงชั้นการเสียภาษีขั้นแรก | 
    
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket | 1..n | Bracket | กำหนดช่วงชั้นการเสียภาษีโดยอิงจากราคาต่อคืน | 
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at | 1 | float | กำหนดขอบเขตขั้นต่ำของช่วงชั้นการเสียภาษี ส่วนขอบเขตสูงสุดจะอยู่ในช่อง  ช่วงชั้นการเสียภาษีจะมีผลเมื่อราคาต่อคืนสูงกว่าหรือเท่ากับค่า  ค่านี้ต้องมากกว่า 0  | 
    
| TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount | 1 | float | ค่าของเปอร์เซ็นต์หรือจำนวนภาษีที่ใช้สำหรับช่วงชั้นการเสียภาษีขั้นนี้ | 
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets | 0..1 | AgeBrackets | อนุญาตให้ระบุชุดภาษีตามอายุของผู้เข้าพัก
       องค์ประกอบนี้จะใช้ได้ก็ต่อเมื่อไม่ได้ระบุ   | 
    
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge | 0..1 | AdultCharge | คอนเทนเนอร์สำหรับระบุภาษีสำหรับผู้ใหญ่ | 
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount | 1 | float | จำนวนภาษีคงที่ที่ใช้สำหรับผู้ใหญ่ | 
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets | 0..1 | ChildAgeBrackets | คอนเทนเนอร์สำหรับองค์ประกอบ <ChildAgeBracket> อย่างน้อย 1 รายการ | 
    
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket | 1..n | ChildAgeBracket | กำหนดช่วงอายุสำหรับเด็กและจำนวนภาษีที่เกี่ยวข้อง | 
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age | 1 | integer | กำหนดขอบเขตสูงสุดของอายุบุตรหลาน ส่วนขอบเขตล่างจะอยู่ในช่อง  
  | 
    
| TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount | 1 | float | จำนวนภาษีคงที่ที่ใช้กับเด็กในช่วงอายุนี้ | 
| TaxFeeInfo / Property / Taxes / Tax / UserCountries | 0..1 | UserCountries | คอนเทนเนอร์สำหรับแสดงประเทศของผู้ใช้ที่รวมหรือยกเว้นภาษี หากมี ระบบจะรวมหรือ ไม่รวมภาษีสำหรับผู้ใช้จากประเทศที่ระบุเท่านั้น | 
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type | 0..1 | enum | ประเภทของข้อกำหนด UserCountries
         ค่าที่ใช้ได้คือ  หากตั้งค่า UserCountries  แต่หาก UserCountries  หากไม่ได้ตั้งค่า UserCountries   | 
    
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country | 1..n | Country | กำหนดประเทศ 1 ประเทศในรายการ UserCountries | 
| TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code | 1 | string | รหัสประเทศ CLDR
        เช่น DE หรือ FR โปรดทราบว่ารหัสประเทศ CLDR ไม่เหมือนกับรหัสประเทศ ISO แบบ 2 ตัวอักษรในบางประเทศ
 นอกจากนี้ ระบบยังไม่รองรับรหัสภูมิภาค CLDR ด้วย | 
    
| TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | อันดับที่ระบุลำดับการใช้ภาษีหรือค่าธรรมเนียม
        เช่น ค่า 2 หมายความว่าระบบจะใช้ภาษีเป็นอันดับที่ 2
        คุณควรกำหนดองค์ประกอบนี้เสมอหากตั้งค่า  <Rank>2</Rank> ระบบอนุญาตให้มีค่าอันดับที่ซ้ำกันในภาษีและค่าธรรมเนียม แต่การทำเช่นนี้อาจส่งผลให้เกิดลักษณะการทำงานที่ไม่คาดคิดซึ่งมีการ ใช้ภาษีและค่าธรรมเนียมในลักษณะที่กำหนดเองและสะสม หรือจะใช้พารามิเตอร์  หากตั้งค่าพารามิเตอร์  <Rank exclusive="true">1</Rank> ระบบจะใช้ภาษีก่อนค่าธรรมเนียม ดังนั้นหากภาษีและค่าธรรมเนียมมีลำดับเดียวกันและค่าธรรมเนียมมี หากต้องการรวมภาษีและค่าธรรมเนียมทั้งหมดของอันดับเดียวกัน ให้หลีกเลี่ยงการตั้งค่า
           ภาษีและค่าธรรมเนียมที่ไม่มีอันดับจะนำไปใช้ก่อนรายการที่มีอันดับทั้งหมด 
  | 
    
| TaxFeeInfo / Property / Fees | 0..1 | Fees | คอนเทนเนอร์สำหรับองค์ประกอบ <Fee> อย่างน้อย 1 รายการ | 
    
| TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | ค่าธรรมเนียมรายบุคคลที่ที่พักเรียกเก็บ  ระบบรองรับองค์ประกอบย่อยทั้งหมดของ   | 
    
ตัวอย่าง
ที่พัก 1 แห่งมีภาษีและค่าธรรมเนียมได้ไม่เกิน 300 รายการ ดูตัวอย่าง "ลบภาษี" เพื่อนำภาษีและค่าธรรมเนียมออกจากที่พัก
ข้อความพื้นฐาน
ข้อความพื้นฐานของ TaxFeeInfo มีดังนี้
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>10.00</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>person</Basis>
        <Period>night</Period>
        <Currency>USD</Currency>
        <Amount>5.00</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>
ลบภาษี
ลบภาษีและค่าธรรมเนียมระดับที่พักทั้งหมดของโรงแรมที่ระบุ ดังนี้
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-06-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property action="overlay"/>
    <ID>Property_1</ID>
  </Property>
</TaxFeeInfo>
เกณฑ์ภาษี
ใช้เกณฑ์ภาษี GST ของอินเดียในการคำนวณตามราคาต่อคืน โดยช่วงชั้นการเสียภาษีมีดังต่อไปนี้
- ไม่ต้องเสียภาษีหากราคาต่อคืนต่ำกว่าหรือเท่ากับ 1,000
 - เสียภาษี 12% หากราคาต่อคืนสูงกว่า 1,000 และต่ำกว่าหรือเท่ากับ 7,500
 - เสียภาษี 18% หากราคาต่อคืนสูงกว่า 7,500
 
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Brackets base_amount="0">
          <Bracket starts_at="1000.01" amount="12"/>
          <Bracket starts_at="7500.01" amount="18"/>
        </Brackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>
ภาษีตามอายุ
มีการเรียกเก็บภาษีตามอายุของผู้เข้าพัก ดังนี้
- ภาษี $20 สำหรับผู้ใหญ่ที่เข้าพัก
 - ภาษี $10 สำหรับเด็กอายุระหว่าง 11 ถึง 17 ปี
 - ภาษี $5 สำหรับเด็กอายุระหว่าง 0 ถึง 10 ปี
 
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>person</Basis>
        <Period>night</Period>
        <AgeBrackets>
          <AdultCharge amount="20"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="10" amount="5"/>
            <ChildAgeBracket max_age="17" amount="10"/>
          </ChildAgeBrackets>
        </AgeBrackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>
ช่วงวันที่เข้าพักซ้อนทับกัน
เมื่อกำหนดช่วงวันที่เข้าพักหลายช่วงที่ทับซ้อนกัน วันที่เข้าพักที่ระบุจะต้องเป็นไปตามช่วงใดช่วงหนึ่งเท่านั้น ไม่จำเป็นต้องเป็นไปตามทุกช่วง ต้องระบุช่วงวันที่เข้าพักใน ช่วงเริ่มต้นและช่วงสิ้นสุดเดียว
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2025-03-12T10:59:49+01:00"
            id="12345678"
            partner="partner_key">
  <Property action="overlay">
    <ID>987654</ID>
      <Taxes>
        <Tax>
          <Type>amount</Type>
          <Basis>person</Basis>
          <Period>night</Period>
          <RoomTypes>
            <RoomType id="RoomID_1"/>
            <RoomType id="RoomID_2"/>
          </RoomTypes>
          <StayDates application="any">
            <DateRange start="2025-06-16"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>50</Amount>
        </Tax>
      </Taxes>
      <Fees>
        <Fee>
          <Type>amount</Type>
          <Basis>room</Basis>
          <Period>stay</Period>
          <StayDates application="any">
            <DateRange start="2025-03-12" end="2025-03-18"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>200</Amount>
        </Fee>
        <Fee>
          <Type>amount</Type>
          <Basis>room</Basis>
          <Period>stay</Period>
          <StayDates application="any">
            <DateRange start="2025-03-19"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>300</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>
ภาษีและค่าธรรมเนียมหลายรายการที่มีการจัดอันดับเฉพาะ
ตัวอย่างต่อไปนี้แสดงภาษีและค่าธรรมเนียมหลายรายการที่มี exclusive="true" และอันดับที่แตกต่างกัน โปรดพิจารณาภาษีและค่าธรรมเนียมต่อไปนี้ที่ควรนำไปใช้กับราคา
- ภาษีการเข้าพัก 5% ที่มีอันดับ 1 
exclusive="true" - ภาษีรูมเซอร์วิส 100 บาทที่มีอันดับ 1
 - ค่าธรรมเนียมการทำความสะอาด 500 บาทที่มีอันดับ 2 
exclusive="true" - ค่าธรรมเนียมสิ่งอำนวยความสะดวก 2% ที่มีอันดับ 3
 
ลำดับเวลาที่ใช้ภาษีและค่าธรรมเนียมตาม
<Rank> มีดังนี้
- ระบบจะใช้ภาษีการเข้าพักที่มี 
exclusive="true"และอันดับ 1 ก่อน - ระบบจะไม่ใช้ภาษีบริการรูมเซอร์วิสที่มีอันดับ 1 เนื่องจากภาษีการเข้าพักก่อนหน้าเป็นแบบไม่รวม
 - จากนั้นระบบจะใช้ค่าธรรมเนียมการทำความสะอาดที่มี 
exclusive="true"และอันดับ 2 - ระบบจะใช้ค่าธรรมเนียมสิ่งอำนวยความสะดวกที่มีอันดับ 3 หลังจากใช้ค่าธรรมเนียมการทำความสะอาดที่มีอันดับ 2
 
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-02-29T12:00:00Z"
            id="tax-fee-id"
            partner="partner_key">
  <Property action="overlay">
    <ID>765432</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Amount>5</Amount>
        <Period>stay</Period>
        <Basis>room</Basis>
        <Rank exclusive="true">1</Rank>
      </Tax>
      <Tax>
        <Type>amount</Type>
        <Amount>10</Amount>
        <Period>night</Period>
        <Basis>room</Basis>
        <Currency>USD</Currency>
        <Rank>1</Rank>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Amount>50</Amount>
        <Period>night</Period>
        <Basis>room</Basis>
        <Currency>USD</Currency>
        <Rank exclusive="true">2</Rank>
      </Fee>
      <Fee>
        <Type>percent</Type>
        <Amount>2</Amount>
        <Period>stay</Period>
        <Basis>room</Basis>
        <Rank>3</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>
คำตอบ
ไวยากรณ์
ข้อความ TaxFeeInfoResponse ใช้ไวยากรณ์ต่อไปนี้
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse 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>
</TaxFeeInfoResponse>
องค์ประกอบและแอตทริบิวต์
ข้อความ TaxFeeInfoResponse มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้
| องค์ประกอบ / @แอตทริบิวต์ | จำนวนข้อผิดพลาด | ประเภท | คำอธิบาย | 
|---|---|---|---|
| TaxFeeInfoResponse | 1 | Complex element | องค์ประกอบรูทที่บ่งบอกความสำเร็จหรือปัญหาของข้อความคำขอ TaxFeeInfo ที่ได้รับ | 
| TaxFeeInfoResponse / @timestamp | 1 | DateTime | วันที่และเวลาที่สร้างข้อความนี้ | 
| TaxFeeInfoResponse / @id | 1 | string | ตัวระบุที่ไม่ซ้ำกันจากข้อความ TaxFeeInfo ที่เกี่ยวข้อง | 
| TaxFeeInfoResponse / @partner | 1 | string | บัญชีพาร์ทเนอร์สำหรับข้อความนี้ | 
| TaxFeeInfoResponse / Success | 0..1 | Success | บ่งบอกว่าข้อความ TaxFeeInfo ได้รับการประมวลผลเรียบร้อยแล้วโดยไม่มีคำเตือน ข้อผิดพลาด หรือความล้มเหลว
         แต่ละข้อความจะมี   | 
    
| TaxFeeInfoResponse / Issues | 0..1 | Issues | คอนเทนเนอร์สำหรับปัญหาอย่างน้อย 1 รายการที่พบขณะประมวลผลข้อความ TaxFeeInfo
        แต่ละข้อความจะมี   | 
    
| TaxFeeInfoResponse / Issues / Issue | 1..n | Issue | คำอธิบายของคำเตือน ข้อผิดพลาด หรือความล้มเหลวที่พบขณะประมวลผลข้อความ TaxFeeInfo ดูรายละเอียดเกี่ยวกับปัญหาเหล่านี้ได้ในข้อความแสดงข้อผิดพลาดของสถานะฟีด | 
| TaxFeeInfoResponse / Issues / Issue / @code | 1 | integer | ตัวระบุสำหรับปัญหา | 
| TaxFeeInfoResponse / Issues / Issue / @status | 1 | enum | ประเภทของปัญหาที่พบ ค่าที่ใช้ได้คือ   | 
    
ตัวอย่าง
สำเร็จ
การตอบกลับข้อความ TaxFeeInfo
 ที่ประมวลผลเรียบร้อยแล้วมีดังนี้
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</TaxFeeInfoResponse>
ปัญหา
การตอบกลับข้อความ TaxFeeInfo ที่ยังไม่ได้ประมวลผลเนื่องจากพบข้อผิดพลาดมีดังนี้
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse timestamp="2024-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TaxFeeInfoResponse>