税金料金情報

リクエスト

構文

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-zA-Z0-9_(アンダースコア)、-(ダッシュ)です。
TaxFeeInfo / @partner 1 string このメッセージのパートナー アカウント。この文字列の値は、Hotel Center の [アカウント設定] ページに表示されている [パートナーキー] の値です。

注: 複数のアカウントのフィードを提供するバックエンドを使用している場合、この値は、同じアカウントの <OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージの <RequestorID> 要素で指定されている ID 属性値に一致する必要があります。

TaxFeeInfo / Property 1..n Property 1 つの宿泊施設の税金と手数料を定義するためのコンテナ。
TaxFeeInfo / Property / @action 0..1 string 更新の適用方法を指定します。overlay のみがサポートされており、デフォルトは overlay です。この更新が適用される前に、このプロパティの以前の TaxesFees はすべてクリアされます。
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」は、期間で平日を許可することを指定します。

有効な文字は次のとおりです。

  • 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: 宿泊プランのすべての日付が滞在日と重複している場合、宿泊プランの 1 泊ごとに税金を適用します。
  • 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> が 1 人ごとに適用されます。<Type> が「amount」に設定されている場合にのみ、この値が適用されます。
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

指定できる値は次のとおりです。

  • stay: <Amount> が滞在の合計料金に追加されます。
  • night: <Amount> が滞在の 1 泊ごとに追加されます。
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string 税金の 3 文字の通貨コード(例: USD)。

注: <Currency> が指定されていないが <Amount> が指定されている場合、<Currency> の値はデフォルトで基本レートの通貨になります。

TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float 税率または税額の値。
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights この値は、<Type>amount に設定され、<Period>night に設定されている場合にのみ適用されます。

税金を適用できる泊数を制限します。

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 1 つ以上の <Bracket> 要素のコンテナ。連続していて重複しない税率区分のセットを定義します。例: インドの 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 1 泊あたりの料金に基づいて税区分を定義します。
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

税区分の下限を定義します。上限は、後続のブラケットの starts_at フィールドで指定します。最後のブラケットに上限はありません。

税率区分は、1 泊の料金が区分の 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 1 つ以上の <ChildAgeBracket> 要素を保持するコンテナ。
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket 子どもの年齢範囲と対応する税額を定義します。
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

お子様の年齢の上限を定義します。下限は、これより 1 つ下の年齢層の 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 UserCountries 仕様のタイプ。

有効な値は includeexclude です。

UserCountries typeinclude に設定されている場合、税金はリストにある国のユーザーにのみ適用されます。

UserCountries typeexclude の場合、税金はリストにある国以外のユーザーにのみ適用されます。

UserCountries type が設定されていない場合、include として扱われ、税金はリストにある国のユーザーにのみ適用されます。

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country UserCountries のリストで 1 つの国を定義します。
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string CLDR 国コードDEFR など)。国によっては、CLDR 国コードが 2 文字の ISO 国コードと同じではないことに注意してください。また、CLDR 地域コードはサポートされていません。
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

税金または手数料の適用順序を指定するランク。たとえば、値が 2 の場合、税金は 2 番目に適用されます。<Type>cumulative_percent に設定されている場合は、この要素を常に指定する必要があります。通常、この順序は税金と手数料の両方に適用されます。

<Rank>2</Rank>

税金と手数料の間で重複するランク値を指定できますが、税金と手数料が任意かつ累積的に適用される未定義の動作が発生する可能性があります。

または、<Rank> 内で "exclusive" パラメータを使用して、同じランクのすべての税金と手数料が料金に適用されることを示します。デフォルト値は false で、同じランクのすべての税金と手数料が任意の順序で料金に適用されます。"exclusive" は省略可能です。

exclusive パラメータが true に設定されている場合、<Tax> 内に記載されている最初の税金、または <Fee> 内に記載されている最初の料金のみがレートに適用されます。

<Rank exclusive="true">1</Rank>

税金は手数料の前に適用されます。したがって、税金と手数料のランクが同じで、手数料の "exclusive"true に設定されている場合でも、税金が先に適用されます。ベスト プラクティスとして、税金と手数料は適用される順に記載することをおすすめします。

同じランクのすべての税金と手数料を含めるには、exclusivetrue に設定しないでください。

ランクのない税金と手数料は、ランク付けされたすべてのエントリの前に適用されます。

<Rank> は 1 ~ 99 の範囲(両端を含む)でなければなりません。

TaxFeeInfo / Property / Fees 0..1 Fees 1 つ以上の <Fee> 要素のコンテナ。
TaxFeeInfo / Property / Fees / Fee 1..n Fee

宿泊施設に適用される個別の料金。

<Tax> のすべての子要素は、同じ構文で <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> に基づいて税金と手数料が適用される順序は次のとおりです。

  1. exclusive="true" とランク 1 の宿泊税が最初に適用されます。
  2. 前の宿泊税が排他的であるため、ランク 1 のルームサービス税は適用されません。
  3. 次に、exclusive="true" でランク 2 の清掃料金が適用されます。
  4. ランク 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 メッセージが正常に(警告、エラー、失敗が発生せずに)処理されたことを示します。

各メッセージには、<Success><Issues> のいずれかがあります。

TaxFeeInfoResponse / Issues 0..1 Issues TaxFeeInfo メッセージの処理中に発生した 1 つ以上の問題のコンテナ。

各メッセージには、<Success><Issues> のいずれかがあります。

TaxFeeInfoResponse / Issues / Issue 1..n Issue TaxFeeInfo メッセージの処理中に発生した警告、エラー、または失敗の説明。これらの問題の詳細については、フィード ステータスのエラー メッセージをご覧ください。
TaxFeeInfoResponse / Issues / Issue / @code 1 integer 問題の識別子。
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

発生した問題の種類。

有効な値は warningerrorfailure です。

成功

以下は、正常に処理された 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>