ข้อมูลภาษี

คำขอ

ไวยากรณ์

ข้อความ 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>
        <Rank>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>
        <Rank>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

หมายเหตุ: หากคุณมีแบ็กเอนด์ที่มีฟีดสำหรับหลายบัญชี ค่านี้จะต้องตรงกับค่าแอตทริบิวต์ ID ที่ระบุในองค์ประกอบ <RequestorID> ของข้อความ <OTA_HotelRateAmountNotifRQ> และ <OTA_HotelAvailNotifRQ> สำหรับบัญชีเดียวกัน

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 ใน <PackageData> ในข้อความ Transaction (Property Data) และในแอตทริบิวต์ 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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

ชุดค่าผสมของอักขระแบบใดก็ได้สามารถใช้ได้

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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

ชุดค่าผสมของอักขระแบบใดก็ได้สามารถใช้ได้

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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

ชุดค่าผสมของอักขระแบบใดก็ได้สามารถใช้ได้

TaxFeeInfo / Property / Taxes / Tax / StayDates 0..1 StayDates

คอนเทนเนอร์สำหรับช่วงวันที่อย่างน้อย 1 ช่วงซึ่งกำหนดว่าจะเรียกเก็บภาษีหรือไม่ เช่น เพื่อรองรับส่วนลดตามฤดูกาล

TaxFeeInfo / Property / Taxes / Tax / StayDates / @application 1 enum

อธิบายวิธีการเรียกเก็บภาษี

ค่าที่ใช้ได้มีดังนี้

  • all: เรียกเก็บภาษีสำหรับแต่ละคืนในแผนการเดินทาง หากวันที่ทั้งหมดในแผนการเดินทางซ้อนทับกับวันที่เข้าพัก
  • any: เรียกเก็บภาษีสำหรับทุกคืนในแผนการเดินทาง หากวันที่ในแผนการเดินทางซ้อนทับกับวันที่ในช่วงวันที่เข้าพัก
  • overlap: เรียกเก็บภาษีเฉพาะคืนที่ซ้อนทับกับวันที่ในช่วงวันที่เข้าพักในแผนการเดินทาง

    หมายเหตุ: overlap จะใช้ได้ก็ต่อเมื่อตั้งค่า <Period> เป็น night เท่านั้น

คุณต้องระบุแอตทริบิวต์นี้เสมอ

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" เป็นการระบุว่าระบบอนุญาตให้ใช้วันธรรมดาในช่วงวันที่

อักขระที่ใช้ได้มีดังนี้

  • M สำหรับวันจันทร์
  • T สำหรับวันอังคาร
  • W สำหรับวันพุธ
  • H สำหรับวันพฤหัสบดี
  • F สำหรับวันศุกร์
  • S สำหรับวันเสาร์
  • U สำหรับวันอาทิตย์

ชุดค่าผสมของอักขระแบบใดก็ได้สามารถใช้ได้

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

ค่าที่ใช้ได้มีดังนี้

  • percent: เปอร์เซ็นต์ของราคารวม
  • amount: จำนวนเงินคงที่ที่จะเพิ่มลงในราคาสุดท้าย
  • cumulative_percent: เปอร์เซ็นต์ของอัตรา ภาษี และค่าธรรมเนียมทั้งหมดที่สะสมก่อนการคำนวณภาษีหรือค่าธรรมเนียมนี้ หากระบุค่านี้ คุณต้องระบุ <Rank> ด้วย
  • ไม่สามารถระบุ <Brackets> และ <AgeBrackets> ด้วย cumulative_percent เป็นประเภท

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

ค่าที่ใช้ได้มีดังนี้

  • room: นำ <Amount> ไปใช้กับห้องแล้ว
  • person: มีการใช้<Amount>ต่อคน ค่านี้จะมีผลก็ต่อเมื่อตั้งค่า <Type> เป็นจำนวนเงินเท่านั้น
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

ค่าที่ใช้ได้มีดังนี้

  • stay: ระบบจะเพิ่ม <Amount> ลงในราคารวมของการเข้าพัก
  • night: ระบบจะเพิ่ม<Amount>ต่อคืนที่เข้าพัก
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> เป็นคืน

จำกัดจำนวนคืนที่เรียกเก็บภาษีได้

ระบุ max หรือ excluded อย่างใดอย่างหนึ่ง

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 ของอินเดีย

องค์ประกอบนี้จะใช้ได้ก็ต่อเมื่อตั้งค่า <Period> เป็น night และไม่ได้ระบุ <Amount>

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

กำหนดขอบเขตล่างของช่วงชั้นการเสียภาษี ส่วนขอบเขตสูงสุดจะอยู่ในช่อง starts_at ของช่วงชั้นการเสียภาษีถัดไป ทั้งนี้ ช่วงชั้นการเสียภาษีขั้นสุดท้ายจะไม่มีขอบเขตบน

ช่วงชั้นการเสียภาษีจะมีผลเมื่อราคาต่อคืนมากกว่าหรือเท่ากับค่า starts_at ของช่วงชั้นนั้นๆ และจะต่ำกว่าค่า starts_at ของช่วงชั้นถัดไป

ค่านี้ต้องมากกว่า 0

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float ค่าของเปอร์เซ็นต์หรือจำนวนภาษีที่ใช้กับช่วงชั้นการเสียภาษีนี้
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets อนุญาตให้ระบุชุดภาษีตามอายุของผู้อยู่อาศัย

องค์ประกอบนี้จะใช้ได้ก็ต่อเมื่อไม่ได้ระบุ <Brackets> และ <Amount> รวมถึงตั้งค่า <Basis> เป็น person และตั้งค่า <Type> เป็น amount

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

กำหนดขอบเขตบนสำหรับอายุของเด็ก ขอบเขตล่างจะระบุไว้ในช่อง max_age + 1 ของวงเล็บเหลี่ยมที่อยู่ก่อนหน้า ทั้งขอบเขตบนและล่างจะรวมทั้ง 2 แบบ ขอบเขตล่างของช่วงวงเล็บแรกคือ 0

max_age ต้องอยู่ในช่วง 0 ถึง 17 (รวมเลขตัวแรกและตัวสุดท้าย)

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 ประเภทของข้อกำหนด UserCountry

ค่าที่ถูกต้องคือ include และ exclude

หากตั้งค่า typeUsercountries เป็น include ภาษีจะมีผลกับผู้ใช้จากประเทศที่ระบุไว้เท่านั้น

แต่หาก type ประเทศของผู้ใช้คือ exclude ภาษีจะมีผลกับผู้ใช้ที่อยู่นอกประเทศที่ระบุไว้เท่านั้น

หากไม่ได้ตั้งค่า type ในประเทศผู้ใช้ เราจะถือว่าเป็น include และภาษีจะมีผลกับผู้ใช้จากประเทศที่อยู่ในรายการเท่านั้น

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country กำหนด 1 ประเทศในรายชื่อประเทศผู้ใช้
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 ควรระบุองค์ประกอบนี้เสมอหากตั้งค่า <Type> เป็น cumulative_percent โดยทั่วไป การสั่งซื้อนี้มีผลกับทั้งภาษีและค่าธรรมเนียม เราอนุญาตให้ใช้ค่าอันดับที่ซ้ำกันกับภาษีและค่าธรรมเนียมได้ แต่อาจทำให้เกิดลักษณะการทำงานที่ไม่ได้กำหนด ซึ่งจะมีการเรียกเก็บภาษีและค่าธรรมเนียมในลักษณะสะสมหรือกำหนดเอง ระบบจะเรียกเก็บภาษีและค่าธรรมเนียมที่ไม่มีอันดับก่อนข้อมูลที่ได้รับการจัดอันดับทั้งหมด

<Rank> ต้องอยู่ในช่วง 1 ถึง 99 (รวมเลขตัวแรกและตัวสุดท้าย)

TaxFeeInfo / Property / Fees 0..1 Fees คอนเทนเนอร์สำหรับองค์ประกอบ <Fee> อย่างน้อย 1 รายการ
TaxFeeInfo / Property / Fees / Fee 1..n Fee

ค่าธรรมเนียมรายบุคคลที่ที่พักเรียกเก็บ

นอกจากนี้ ระบบยังรองรับองค์ประกอบย่อยทั้งหมดของ <Tax> สำหรับ <Fee> ที่มีไวยากรณ์เดียวกันด้วย

ตัวอย่าง

ข้อความพื้นฐาน

ข้อความพื้นฐานของ TaxFeeInfo มีดังนี้

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2020-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="2022-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="2020-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="2020-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>

การตอบกลับ

ไวยากรณ์

ข้อความ 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 ได้รับการประมวลผลเรียบร้อยแล้วโดยไม่มีคำเตือน ข้อผิดพลาด หรือความล้มเหลว

แต่ละข้อความจะมี <Success> หรือ <Issues> ปรากฏอยู่

TaxFeeInfoResponse / Issues 0..1 Issues คอนเทนเนอร์สำหรับปัญหาอย่างน้อย 1 รายการที่พบขณะประมวลผลข้อความ TaxFeeInfo

แต่ละข้อความจะมี <Success> หรือ <Issues> ปรากฏอยู่

TaxFeeInfoResponse / Issues / Issue 1..n Issue คำอธิบายของคำเตือน ข้อผิดพลาด หรือความล้มเหลวที่พบขณะประมวลผลข้อความ TaxFeeInfo ดูรายละเอียดเกี่ยวกับปัญหาเหล่านี้ได้ในข้อความแสดงข้อผิดพลาดของสถานะฟีด
TaxFeeInfoResponse / Issues / Issue / @code 1 integer ตัวระบุสำหรับปัญหา
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

ประเภทของปัญหาที่พบ

ค่าที่ถูกต้องคือ warning, error และ failure

ตัวอย่าง

Success

การตอบกลับข้อความ TaxFeeInfo ที่ประมวลผลเรียบร้อยแล้วมีดังนี้

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

ปัญหา

การตอบกลับข้อความ TaxFeeInfo ที่ยังไม่ได้ประมวลผลเนื่องจากพบข้อผิดพลาดมีดังนี้

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