TaxFeeInfo

構文

TaxFeeInfo メッセージでは、次の構文を使用します。
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
            id="message_ID"
            partner="partner_account_name">
  <Property>
    <ID>HotelID</ID>
    <Taxes>
      <Tax>
        <StayDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <Type>[percent|amount]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>tax_amount</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <StayDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <Type>[percent|amount]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>fee_amount</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

要素と属性

TaxFeeInfo メッセージには、次の要素と属性があります。
要素 / @属性 発生数 説明
TaxFeeInfo 1 複合要素 1 つの宿泊施設に関する税金と手数料を定義するメッセージのルート要素。
TaxFeeInfo / @timestamp 1 DateTime このメッセージの作成日時。
TaxFeeInfo / @id 1 String 各 TaxFeeInfo メッセージの一意の識別子。
TaxFeeInfo / @partner 1 String このメッセージのパートナー アカウント。この文字列の値は、Hotel Center の [アカウント設定] ページに表示されている [パートナーキー] の値です。

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

TaxFeeInfo / Property 1~n Property 1 つの宿泊施設の税金と手数料を定義するためのコンテナ。
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 / StayDates 0~1 StayDates

(たとえば特定の季節の税金に対応するために)税金が適用されるかどうかを決定する 1 つ以上の期間のコンテナ:

  • <Period> が「stay」に設定されていて <Type> が「percent」に設定されていれば、旅行プランの日付が期間の日付と重複する場合は、旅行プランのすべての宿泊日数に対して税率が適用されます(たとえば、出発日が 10 月 1 日で、期間の最初の日付が 10 月 1 日の場合、税金は旅行プランに適用されません)。
  • <Period> が「stay」に設定されいて <Type> が「amount」に設定されていれば、旅行プランの日付が期間の日付と重複する場合は、税額は旅行プラン全体を対象とする定額として適用されます。
  • <Period> が「night」に設定されていて <Type> が「amount」に設定されていれば、税額は、その日付が期間の日付と重複する旅行プランの 1 泊ごとに適用されます。

注: <Period> を「night」、<Type> を「percent」に設定すると、TaxFeeInfo メッセージでは通常は無効な組み合わせになるため、正常に処理されません。

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 / 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 料金プランの一意の識別子。この値は PackageID の値に対応します。PackageID の値は、Transaction(宿泊施設データ)メッセージの <PackageData> と、<OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージ両方の <StatusApplicationControl>RatePlanCode 属性にあります。最大 50 文字まで使用できます。
TaxFeeInfo / Property / Taxes / Tax / Type 1 Enum

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

  • percent: 合計料金に対する割合
  • amount: 最終的な料金に追加する定額
TaxFeeInfo / Property / Taxes / Tax / Basis 1 Enum

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

  • room: <Amount> が客室に適用されます。
  • person: <Amount> が 1 人ごとに適用されます。<Type> が「amount」に設定されている場合にのみ、この値が適用されます。
TaxFeeInfo / Property / Taxes / Tax / Period 1 Enum

<Type> が「amount」に設定されている場合にのみ、この値が適用されます。

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

  • stay: <Amount> が滞在の合計料金に追加されます。
  • night: <Amount> が滞在の 1 泊ごとに追加されます。
TaxFeeInfo / Property / Taxes / Tax / Currency 0~1 String 税金の 3 文字の通貨コード(例: USD)。
TaxFeeInfo / Property / Taxes / Tax / Amount 1 Float 税率または税額の値。
TaxFeeInfo / Property / Fees 0~1 Fees 1 つ以上の <Fee> 要素のコンテナ。
TaxFeeInfo / Property / Fees / Fee 1~n Fee 宿泊施設に適用される個別の料金。
TaxFeeInfo / Property / Fees / Fee / StayDates 0~1 StayDates

(たとえば特定の季節の料金に対応するために)料金が適用されるかどうかを決定する 1 つ以上の期間のコンテナ:

  • <Period> が「stay」に設定されていて <Type> が「percent」に設定されていれば、旅行プランの日付が期間の日付と重複する場合は、旅行プランのすべての宿泊日数に対して料金率が適用されます(たとえば、出発日が 10 月 1 日で、期間の最初の日付が 10 月 1 日の場合、料金は旅行プランに適用されません)。
  • <Period> が「stay」に設定されいて <Type> が「amount」に設定されていれば、旅行プランの日付が期間の日付と重複する場合は、料金額は旅行プラン全体を対象とする定額として適用されます。
  • <Period> が「night」に設定されていて <Type> が「amount」に設定されていれば、料金額は、その日付が期間の日付と重複する旅行プランの 1 泊ごとに適用されます。

注: <Period> を「night」、<Type> を「percent」に設定すると、TaxFeeInfo メッセージでは通常は無効な組み合わせになるため、正常に処理されません。

TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange 1~20 DateRange 料金を適用する日付を指定する期間。
TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange / @start 0~1 Date 期間の開始日(宿泊施設のタイムゾーンに基づく)。この日付は、end と同じかそれ以前の日付にする必要があります。start を指定しない場合、開始日に関する限り、期間は実質的に無制限となります。
TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange / @end 0~1 Date 期間の終了日(宿泊施設のタイムゾーンに基づく)。この日付は、start と同じかそれ以降の日付にする必要があります。end を指定しない場合、終了日に関する限り、期間は実質的に無制限となります。
TaxFeeInfo / Property / Fees / Fee / StayDates / DateRange / @days_of_week 0~1 String

期間で許可される曜日です。指定しないと、期間内のすべての曜日が許可されます。文字列の各文字で曜日を指定します。たとえば、「MTWHF」は、期間で平日を許可することを指定します。

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

  • M(月曜日)
  • T(火曜日)
  • W(水曜日)
  • H(木曜日)
  • F(金曜日)
  • S(土曜日)
  • U(日曜日)

任意の文字の組み合わせが有効です。

TaxFeeInfo / Property / Fees / Fee / RoomTypes 0~1 RoomTypes 料金が適用される客室タイプのリストのコンテナ。料金は指定された各 <RoomType> に適用されます。<RoomTypes> を指定しない場合、すべての客室に料金が適用されます。
TaxFeeInfo / Property / Fees / Fee / RoomTypes / RoomType 1~n RoomType 客室タイプを指定します。客室タイプは、Transaction(宿泊施設データ)メッセージの <RoomData> 要素で定義され、<RoomID> 値を使用して参照されます(その <RoomID> 値は、OTA_HotelRateAmountNotifRQ メッセージの InvTypeCode 属性でも参照されます)。
TaxFeeInfo / Property / Fees / Fee / RoomTypes / RoomType / @id 1 String 在庫の一意の識別子(客室タイプ)。この値は、Transaction(宿泊施設データ)メッセージの <RoomID> に対応します。最大 50 文字まで使用できます。
TaxFeeInfo / Property / Fees / Fee / RatePlans 0~1 RatePlans 料金が適用される料金プランのリストのコンテナ。<RatePlans> を指定しない場合、すべての料金プランに料金が適用されます。
TaxFeeInfo / Property / Fees / Fee / RatePlans / RatePlan 1~n RatePlan 料金プランを指定します。料金プランは、パッケージ、料金、空室状況の組み合わせで定義されます。また、Transaction(宿泊施設データ)、OTA_HotelRateAmountNotifRQ、OTA_HotelAvailNotifRQ の各メッセージにより定義され、PackageID により識別されます。
TaxFeeInfo / Property / Fees / Fee / RatePlans / RatePlan / @id 1 String 料金プランの一意の識別子。この値は PackageID の値に対応します。PackageID の値は、Transaction(宿泊施設データ)メッセージの <PackageData> と、<OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージ両方の <StatusApplicationControl>RatePlanCode 属性にあります。最大 50 文字まで使用できます。
TaxFeeInfo / Property / Fees / Fee / Type 1 Enum

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

  • percent: 合計料金に対する割合
  • amount: 最終的な料金に追加する定額
TaxFeeInfo / Property / Fees / Fee / Basis 1 Enum

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

  • room: <Amount> が客室に適用されます。
  • person: <Amount> が 1 人ごとに適用されます。<Type> が「amount」に設定されている場合にのみ、この値が適用されます。
TaxFeeInfo / Property / Fees / Fee / Period 1 Enum

<Type> が「amount」に設定されている場合にのみ、この値が適用されます。

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

  • stay: <Amount> が滞在の合計料金に追加されます。
  • night: <Amount> が滞在の 1 泊ごとに追加されます。
TaxFeeInfo / Property / Fees / Fee / Currency 0~1 String 料金の 3 文字の通貨コード(例: USD)。
TaxFeeInfo / Property / Fees / Fee Amount 1 Float 料金の割合または金額の値。

例 1

次のサンプルに、基本的な TaxFeeInfo メッセージを示します。

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo  timestamp="2020-05-18T16:20:00-04:00"
             id="12345678">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Currency>USD</Currency>
        <Amount>10.00</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Currency>USD</Currency>
        <Amount>5.00</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>