ข้อมูลภาษี

คำขอ

ไวยากรณ์

ข้อความ 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]</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>
      </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]</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>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

องค์ประกอบและแอตทริบิวต์

ข้อความ TaxFeeInfo มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้

องค์ประกอบ / @แอตทริบิวต์ จำนวนข้อผิดพลาด Type คำอธิบาย
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: จํานวนคงที่ที่จะเพิ่มลงในราคาสุดท้าย
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 ทั้งขอบเขตบนและล่างครอบคลุมทั้งสองด้าน ขอบเขตล่างของวงเล็บแรกคือ 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 ประเภทของข้อกําหนดของประเทศผู้ใช้

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

หากตั้งค่า type ประเทศของผู้ใช้เป็น 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 / 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 มีองค์ประกอบและแอตทริบิวต์ต่อไปนี้

องค์ประกอบ / @แอตทริบิวต์ จำนวนข้อผิดพลาด Type คำอธิบาย
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

ตัวอย่าง

สำเร็จ

การตอบกลับข้อความ 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>