คำขอ
ไวยากรณ์
ข้อความ 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>