پیام مالیات و هزینه

نمای کلی

پیام TaxFeeInfo مالیات‌ها و هزینه‌هایی را که هنگام رزرو ملک و بر اساس مقررات مالیاتی ملک که در وب‌سایت ذکر شده است، برای کاربر اعمال می‌شود، تعریف می‌کند. برای افزودن داده‌های مالیات و هزینه، از پیام نرخ ( OTA_HotelRateAmountNotifRQ ) استفاده می‌کنید.

تنها اقدام پشتیبانی‌شده برای این پیام، overlay است که برای جایگزینی داده‌های مالیات و هزینه برای هر ملک استفاده می‌شود. ارسال به‌روزرسانی‌های مالیات و هزینه در هر زمان که تغییراتی ایجاد شود، مهم است.

برای اطلاعات بیشتر در مورد نحوه ارسال مالیات و هزینه‌ها، و همچنین جزئیات قیمت‌گذاری خاص برای نرخ‌های خود، به سیاست مالیات و هزینه‌ها مراجعه کنید.

روش‌های افزودن مالیات و هزینه‌ها

دو روش کلی برای اضافه کردن مالیات و هزینه‌ها وجود دارد:

در روش اول، شما AmountAfterTax در پیام نرخ مشخص می‌کنید؛ شما مالیات‌ها و هزینه‌ها را با ارسال پیام‌های نرخ که شامل نرخ‌های پایه شبانه (بدون احتساب همه مالیات‌ها و هزینه‌ها) و کل نرخ‌های شبانه (شامل همه مالیات‌ها و هزینه‌ها) هستند، اضافه می‌کنید. از آنجا که این نرخ‌ها شبانه هستند، این رویکرد فقط برای مالیات‌ها و هزینه‌های مبتنی بر درصد یا مبالغ ثابت شبانه کار می‌کند و نمی‌توان از مالیات‌ها و هزینه‌های هر اقامت استفاده کرد.

روش دوم (ترجیحی) این است که فقط نرخ‌های پایه شبانه بدون احتساب مالیات و هزینه را در پیام‌های نرخ ارسال کنید و TaxFeeInfo برای انتقال مالیات و هزینه‌ها در سطح ملک استفاده کنید. مالیات‌ها و هزینه‌های فردی همچنان می‌توانند به انواع اتاق‌ها و طرح‌های نرخ خاص که برای محدوده‌های زمانی خاص قابل اجرا هستند، محدود شوند.

این صفحه فقط روش ترجیحی استفاده از TaxFeeInfo را شرح می‌دهد و به آن اشاره دارد و نه روش تعیین AmountAfterTax در پیام نرخ ( OTA_HotelRateAmountNotifRQ ).

روش‌های تعیین مالیات

برای تعیین مالیات، گزینه‌های زیر را دارید:

  • اساس = [اتاق|شخص]
  • مدت زمان = [اقامت|شب]
  • نوع = [درصد|مقدار]

وقتی دوره برابر با stay و نوع برابر با percent باشد، گوگل مالیات و هزینه‌ها را برای کل مدت اقامت اعمال می‌کند، حتی اگر یک تاریخ در برنامه سفر با محدوده StayDates همپوشانی داشته باشد. شما نمی‌توانید فقط در صورتی که همه تاریخ‌های برنامه سفر با محدوده تاریخ اقامت همپوشانی داشته باشند، مالیات و هزینه را اعمال کنید. برای چندین محدوده تاریخ اقامت که با یکدیگر همپوشانی دارند، محدوده‌های StayDates در یک محدوده باز مشخص می‌شوند. به مثال‌های TaxFeeInfo مراجعه کنید.

برای مثال‌هایی از سناریوهای مختلف مربوط به مالیات، به «چگونه‌ها» مراجعه کنید. این مثال‌ها برخی از سناریوهای برتر مالیاتی، از جمله «چگونه‌ها» برای موارد زیر را پوشش می‌دهند:

  1. مالیات ثابت و مالیات درصدی اعمال شده برای هر ملک
  2. مالیات درصدی فقط برای شب‌های بعد از شب اول اعمال می‌شود
  3. روش جایگزینی مالیات‌های قدیمی با مالیات‌های جدید
  4. شامل یا حذف مالیات برای کشورها
  5. مالیات دال را با براکت تنظیم کنید
  6. تعیین مالیات و هزینه مشمول مالیات

بخش‌های زیر دستورالعمل‌های کلی، یک مثال ساده و سناریوهای آموزشی برای شروع اضافه کردن و به‌روزرسانی اطلاعات مالیاتی شما را پوشش می‌دهند.

عناصر اجباری و اختیاری

مرجع XML توضیحاتی در مورد عناصر الزامی و اختیاری ارائه می‌دهد. برای جزئیات بیشتر در مورد ویژگی‌ها و عناصر فرزند، به عناصر و ویژگی‌های TaxFeeInfo مراجعه کنید.

نحو و طرحواره‌ها

هنگام ایجاد پیام، از مثال نحو TaxFeeInfo به عنوان مرجع استفاده کنید تا مطمئن شوید که از قالب صحیح پیروی می‌کنید. می‌توانید از یک ابزار XML شخص ثالث مانند xmllint برای اعتبارسنجی فیدهای خود با طرحواره‌های منتشر شده قبل از ارسال آنها به گوگل استفاده کنید. برای طرحواره پیام TaxFeeinfo ، به طرحواره‌های تبلیغات هتل مراجعه کنید.

دستورالعمل‌ها

این بخش دستورالعمل‌های عمومی و دستورالعمل‌های ویژه برای تعیین مالیات و هزینه‌ها را پوشش می‌دهد.

اقدامات

روکش
از عمل overlay برای جایگزینی تمام مالیات‌های یک ملک استفاده کنید. عمل overlay پیش‌فرض و تنها عملی است که پشتیبانی می‌شود. هرگونه مالیات و هزینه قبلی برای این ملک پس از اعمال این به‌روزرسانی پاک خواهد شد.

عمومی

  • هر Tax ارزیابی و در صورت لزوم، بر اساس مبلغ AmountBeforeTax که در BaseByGuestAmt مشخص شده است، محاسبه می‌شود.

  • پس از محاسبه کلیه مالیات‌ها و هزینه‌های مربوطه، آنها به قیمت پایه اضافه می‌شوند تا قیمت کل را تشکیل دهند.

  • سینتکس <Tax> و <Fee> یکسان است.

  • مالیات‌ها و هزینه‌ها می‌توانند محدودیت‌هایی داشته باشند، مانند:

    • فقط برای انواع اتاق‌ها و طرح‌های نرخی خاص اعمال می‌شود.
    • فقط برای تاریخ‌های اقامت خاص اعمال می‌شود.

    این محدودیت‌ها اختیاری هستند و لازم نیست هر نوع محدودیتی را تنظیم کنید؛ اگر برای همه قابل اجرا است، می‌توانید این موارد را خالی بگذارید.

  • هر زمان که تغییری در مالیات‌ها یا هزینه‌ها ایجاد شد، به‌روزرسانی TaxFeeInfo را ارسال کنید.

مثال

این بخش یک مثال ساده از پیام TaxFeeInfo را با استفاده از عناصر الزامی و اختیاری ارائه می‌دهد. پس از آماده‌سازی فایل، باید آن را با استفاده از یک پیام POST به این نقطه پایانی به Google ارسال کنید:

https://www.google.com/travel/hotels/uploads/taxes

برای کسب اطلاعات بیشتر در مورد نحوه ارسال/POST پیام، به ارسال پیام‌ها مراجعه کنید.

برای ویژگی hotel_id ، از شناسه هتل منحصر به فردی که در سیستم خود برای شناسایی هتل استفاده کرده‌اید، استفاده کنید. این مقدار باید با شناسه هتل مشخص شده با استفاده از <id> در عنصر <listing> در فید فهرست هتل‌ها مطابقت داشته باشد. سازگاری با سیستم شما برای اطمینان از نمایش صحیح داده‌های شما توسط گوگل بسیار مهم است.

این مثال نحوه تعیین درصد مالیات ۱۰٪ و مبلغ هزینه ۵۰ دلار برای یک ملک برای کل مدت اقامت (نه به ازای هر شب) را نشان می‌دهد:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-20T16:20:00-04:00"
            partner="partner_key"
            id="12345678">
  <Property>
    <ID>HOTELID</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>10</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>50</Amount>
        <Currency>USD</Currency>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

برای مثال‌هایی از افزودن مالیات‌های مرتبط با سن و سایر مثال‌ها، به مثال‌های مالیاتی مراجعه کنید.

چگونه‌ها

این بخش راه‌حل‌هایی برای سناریوهایی که ممکن است هنگام تعیین مالیات و هزینه‌ها با آنها مواجه شوید، ارائه می‌دهد.

سناریو ۱: نحوه اضافه کردن مالیات ثابت

این مثال مالیاتی نحوه تعیین مالیات ثابت برای هر ملک را نشان می‌دهد.

توضیحات

شما می‌خواهید به جای مالیات درصدی، مالیات ثابتی را برای هر اتاق یا اقامت به ازای هر ملک اعمال کنید.

راه حل

برای اضافه کردن گزینه مالیات ثابت، به جای percentage amount استفاده کنید.

نمونه

این نمونه نحوه اضافه کردن مالیات ثابت با استفاده از amount به جای percentage را نشان می‌دهد:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>30</Amount>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

سناریو ۲: نحوه هدف‌گذاری مالیات‌ها با استفاده از ApplicableNights

توضیحات

شما می‌خواهید مالیات ثابت را فقط برای شب‌های بعد از شب اول اعمال کنید. به عنوان مثال، برای استفاده روزانه از یک سرویس خاص که از شب اول مستثنی است، هزینه اجباری وجود دارد، جایی که مهمان(گان) شانس استفاده از آن سرویس خاص را نداشته‌اند.

راه حل

برای کنترل اینکه کدام شب‌ها مالیات اعمال شود، از <ApplicableNights excluded="1"/> استفاده کنید.

نمونه

این نمونه نحوه استفاده از ApplicableNights را نشان می‌دهد:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Amount>50</Amount>
        <ApplicableNights excluded="1"/>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

سناریوی ۳: چگونه مالیات‌ها و هزینه‌های قدیمی را با مالیات‌ها و هزینه‌های جدید جایگزین کنیم

توضیحات

مالیات‌ها و هزینه‌های فعلی تغییر کرده‌اند و باید با موارد جدید جایگزین شوند.

راه حل

از عمل overlay برای حذف تمام مالیات‌ها و هزینه‌های موجود استفاده کنید.

نمونه

نمونه زیر نحوه حذف تمام مالیات‌ها و هزینه‌های یک ملک را نشان می‌دهد:

    <?xml version="1.0" encoding="UTF-8"?>
    <TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
                id="12345678"
                partner="partner_key">
      <Property action="overlay">
        <ID>Property_1</ID>
      </Property>
    </TaxFeeInfo>

سناریوی ۴: نحوه لحاظ کردن یا مستثنی کردن مالیات برای کشورها

توضیحات

شما باید مالیات کشورهای خاص را لحاظ کنید و مالیات کشورهای دیگر را حذف کنید. برای مثال، باید مالیات یک کنفدراسیون کوچک‌تر با مالیات‌های غیر اتحادیه اروپا را حذف کنید و مالیات همه کشورهای دیگر را لحاظ کنید.

راه حل

از گزینه‌های include یا exclude برای UserCountries type استفاده کنید. include برای اعمال مالیات فقط به کشور ذکر شده یا exclude برای اعمال مالیات به همه کشورها به جز کشور ذکر شده استفاده کنید.

نمونه

نمونه زیر نحوه تعیین مالیات برای کاربران خارج از کشور هتل (اسرائیل) را نشان می‌دهد:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16: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>
        <UserCountries type="exclude">
          <Country code="IL"/>
        </UserCountries>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

سناریو ۵: نحوه تعیین مالیات دال با استفاده از براکت

توضیحات

شما می‌خواهید مالیات GST را که بر اساس نرخ‌های شبانه اعمال می‌شود، اضافه کنید.

راه حل

برای این سناریو، فرض کنید طبقات مالیاتی GST کشور هدف عبارتند از:

  • اگر نرخ هر شب کمتر یا مساوی ۱۰۰۰ باشد، مالیاتی تعلق نمی‌گیرد.
  • ۱۲٪ مالیات اگر نرخ هر شب بیشتر از ۱۰۰۰ و کمتر یا مساوی ۷۵۰۰ باشد.
  • ۱۸٪ مالیات اگر نرخ هر شب بیشتر از ۷۵۰۰ باشد.

نمونه

نمونه زیر نحوه تنظیم مالیات دال با براکت را نشان می‌دهد:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-28T16: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>

سناریوی ۶: نحوه تعیین مالیات و هزینه مشمول مالیات

توضیحات

شما می‌خواهید مالیاتی مانند مالیات بر ارزش افزوده و هزینه خدمات دیگری را که برای آن مالیات نیز اعمال می‌شود، اضافه کنید.

راه حل

این سناریو دو نمونه از موارد استفاده از هزینه‌های مشمول مالیات را در نظر می‌گیرد:

  • هم مالیات و هم هزینه مشمول مالیات به صورت هزینه‌های درصدی تعریف می‌شوند.
  • مالیات به صورت درصدی است، در حالی که هزینه مشمول مالیات مبلغ ثابتی برای هر اقامت است.

مثال‌ها

هزینه مشمول مالیات به درصد

این مثال دارای AmountBeforeTax ۱۰۰ دلار، مالیات بر کالا و خدمات ۱۸٪ و ۵٪ هزینه خدمات اضافی است - که کل درصد هزینه مشمول مالیات را ۵.۹٪ (۵ * ۱.۱۸) و کل مبلغ نرخ ۱۲۳.۹۰ دلار [= ۱۱۸ دلار (۱۸٪ کالا و خدمات) + ۵.۹ دلار (۵.۹٪ هزینه خدمات)] می‌کند.

قطعه کد زیر مالیات (GST) و هزینه مشمول مالیات (هزینه خدمات) را به صورت درصد تعریف می‌کند:

<TaxFeeInfo timestamp="2022-08-16T16: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>18</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>5.9</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

هزینه مشمول مالیات به عنوان مبلغ

این مثال دارای AmountBeforeTax ۱۰۰ دلار، مالیات بر کالا و خدمات ۱۸٪ و یک هزینه ثابت ۲۰ دلاری اضافی است که کل هزینه مشمول مالیات را ۲۳.۶۰ دلار (۲۰ دلار * ۱.۱۸ دلار) و کل مبلغ نرخ ۱۴۱.۶۰ دلار [= ۱۱۸ دلار (۱۸٪ کالا و خدمات) + ۲۳.۶۰ دلار (۲۰ دلار نرخ ثابت)] می‌کند.

قطعه کد زیر، مالیات (GST) را به صورت درصد و هزینه مشمول مالیات (هزینه خدمات) را به صورت یک نرخ ثابت تعریف می‌کند:

<TaxFeeInfo timestamp="2022-08-16T16: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>18</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>23.6</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>