リクエスト
構文
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 | 1 つの宿泊施設に関する税金と手数料を定義するメッセージのルート要素。 |
TaxFeeInfo / @timestamp | 1 | DateTime | このメッセージの作成日時。 |
TaxFeeInfo / @id | 1 | string | このリクエスト メッセージの一意の識別子。この値はレスポンス メッセージ内で返されます。使用できる文字は、a-z 、A-Z 、0-9 、_ (アンダースコア)、- (ダッシュ)です。 |
TaxFeeInfo / @partner | 1 | string | このメッセージのパートナー アカウント。この文字列の値は、Hotel Center の
[アカウント設定] ページに表示されている [パートナーキー] の値です。
注: 複数のアカウントのフィードを提供するバックエンドを使用している場合、この値は、同じアカウントの |
TaxFeeInfo / Property | 1..n | Property | 1 つの宿泊施設の税金と手数料を定義するためのコンテナ。 |
TaxFeeInfo / Property / @action | 0..1 | string | 更新の適用方法を指定します。overlay のみがサポートされており、デフォルトは overlay です。この更新が適用される前に、このプロパティの以前の Taxes と Fees はすべてクリアされます。 |
TaxFeeInfo / Property / ID | 1 | string | 宿泊施設の一意の識別子。この値は、ホテルリスト フィードの <listing> 要素の <id> を使用して指定した HotelID と一致する必要があります。HotelID は Hotel Center にも表示されます。 |
TaxFeeInfo / Property / Taxes | 0..1 | Taxes | 1 つ以上の <Tax> 要素のコンテナ。 |
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 | 客室タイプを指定します。客室タイプは、Transaction(宿泊施設データ)メッセージの <RoomData> 要素で定義され、RoomID を使用して識別されます(その <RoomID> 値は、OTA_HotelRateAmountNotifRQ メッセージの InvTypeCode 属性でも参照されます)。 |
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id | 1 | string | 在庫の一意の識別子(客室タイプ)。この値は、Transaction(宿泊施設データ)メッセージの <RoomID> に対応します。最大 50 文字まで使用できます。 |
TaxFeeInfo / Property / Taxes / Tax / RatePlans | 0..1 | RatePlans | 税金が適用される料金プランのリストのコンテナ。<RatePlans> を指定しない場合、すべての料金プランに税金が適用されます。 |
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan | 1..n | RatePlan | 料金プランを指定します。料金プランは、パッケージ、料金、空室状況の組み合わせで定義されます。また、Transaction(宿泊施設データ)、OTA_HotelRateAmountNotifRQ、OTA_HotelAvailNotifRQ の各メッセージにより定義され、PackageID により識別されます。 |
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id | 1 | string | 料金プランの一意の識別子。この値は、Transaction(宿泊施設データ)メッセージの <PackageData> と、<OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージ両方の <StatusApplicationControl> 属性で設定される RatePlanCode の値に対応します。最大 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> が amount に設定され、<Period> が night に設定されている場合にのみ適用されます。税金を適用できる泊数を制限します。
|
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 | 1 つ以上の <Bracket> 要素のコンテナ。連続していて重複しない税率区分のセットを定義します。例: インドの GST スラブ税。この要素は、 |
TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount | 0..1 | float | 最初のブラケットの starts_at 値を下回る宿泊料金に適用される税率または税額の値。 |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket | 1..n | Bracket | 1 泊あたりの料金に基づいて税区分を定義します。 |
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at | 1 | float | 税区分の下限を定義します。上限は、後続のブラケットの 税率区分は、1 泊の料金が区分の この値は 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 | 1 つ以上の <ChildAgeBracket> 要素を保持するコンテナ。 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket | 1..n | ChildAgeBracket | 子どもの年齢範囲と対応する税額を定義します。 |
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age | 1 | integer | お子様の年齢の上限を定義します。下限は、これより 1 つ下の年齢層の
|
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 | UserCountries のリストで 1 つの国を定義します。 |
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code | 1 | string | CLDR 国コード(DE や FR など)。国によっては、CLDR 国コードが 2 文字の ISO 国コードと同じではないことに注意してください。また、CLDR 地域コードはサポートされていません。 |
TaxFeeInfo / Property / Taxes / Tax / Rank | 1 | integer | 税金または手数料の適用順序を指定するランク。たとえば、値が 2 の場合、税金は 2 番目に適用されます。 <Rank>2</Rank> 税金と手数料の間で重複するランク値を指定できますが、税金と手数料が任意かつ累積的に適用される未定義の動作が発生する可能性があります。 または、
<Rank exclusive="true">1</Rank> 税金は手数料の前に適用されます。したがって、税金と手数料のランクが同じで、手数料の 同じランクのすべての税金と手数料を含めるには、 ランクのない税金と手数料は、ランク付けされたすべてのエントリの前に適用されます。
|
TaxFeeInfo / Property / Fees | 0..1 | Fees | 1 つ以上の <Fee> 要素のコンテナ。 |
TaxFeeInfo / Property / Fees / Fee | 1..n | Fee | 宿泊施設に適用される個別の料金。 |
例
宿泊施設あたりの税金と手数料の数の上限は 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 泊あたりの料金に基づいて適用されます。税率は次のとおりです。
- 1 泊の料金が 1,000 以下の場合、税金はかかりません。
- 1 泊の料金が 1,000 より大きく 7,500 以下の場合、12% の税金。
- 1 泊の料金が 7,500 を超える場合は 18% の税金。
<?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>
年齢に基づく税金
乗員の年齢に基づいて適用される税金:
- 大人の宿泊者 1 名につき $20 の税金。
- 11 ~ 17 歳のお子様には 10 ドルの税金が課されます。
- 0 ~ 10 歳のお子様には 5 ドルの税金が課されます。
<?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>
滞在期間が重複している
複数の宿泊期間が定義されていて、それらが互いに重複している場合、指定された宿泊期間はそれらの期間の 1 つを満たせばよく、すべてを満たす必要はありません。宿泊期間は、1 つの開始期間と終了期間で指定する必要があります。
<?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"
と異なるランクを持つ複数の税金と手数料の例です。レートに適用する必要がある税金と手数料は次のとおりです。
- ランク 1 の
exclusive="true"
の宿泊税 5%。 - ランク 1 の 10 米ドルのルームサービス税。
- ランク 2 の
exclusive="true"
の清掃料金は 50 米ドルです。 - ランク 3 の 2% のアメニティ料金。
<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 | TaxFeeInfo メッセージの処理中に発生した 1 つ以上の問題のコンテナ。
各メッセージには、 |
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>