> ## Documentation Index
> Fetch the complete documentation index at: https://docs.axisdata.net/llms.txt
> Use this file to discover all available pages before exploring further.

# RatePlanToken Search RS

The Search functionality for our RatePlanToken product is directly based on our original OTA\_HotelAvailRQ/RS. The response message is essentially the same with an extra attribute.

## Purpose

* Confirm successful processing (`<Success/>`) or return error diagnostics (`<Errors/>`). [Error Scenarios](../glossary/errors).
* Deliver one or more `<RoomStay>` items with pricing, guest counts, and property references.
* Return the RatePlanToken needed for RP Token bookings.

## Details and Structure

All the details regarding this message can be found at [OTA\_HotelAvailRS](../hotel/searchRS).

This response works exactly the same, and depending on the distributor setup for RP Token, those new hotels will be received.

The RatePlanToken room stays will be returned with a RatePlanToken in the search RS, which will be needed at the booking step.

<Warning>
  Response may contain a mix of RoomStays with and without RatePlanToken. If it is returned, it is **needed** for the booking.
</Warning>

### RatePlanToken

The RatePlanToken consists of a string in the RoomStay, which needs to be used in the booking step.

```xml theme={null}
<RoomRates>
    <RatePlans>
        <RatePlan RatePlanToken="xxxxxxxx" />
    </RatePlans>
    <RoomRate RoomTypeCode="RMSDDB0000" NumberOfUnits="3">
        <Rates>
        ...
```

## Differences with classic Hotel Search

The structure of the message is exactly the same, but the available optional features are less for these searches.

### What's not included

* [Multi-Room logic](../hotel/searchRS#multi-room-specifics) is not yet available for RP Token Search.
* [Recommended Retail Price](../hotel/searchRS#recommended-retail-price) is not supported.
* Enrichment via [InfoSource](../hotel/searchRS#enrichment-via-infosource). Every response will be displayed as per InfoSource = 0.
* [Area Search](../hotel/searchRS#areas) is not supported.
* [Offer tags](../hotel/searchRS#offer-tags) are not available in this mode.

### RatePlans and Multicontracting

In this flow, rateplans and multicontracting are always included. The codes, in this case, will already be encoded inside the RatePlanToken and don't need to be used in the traditional "concatenated to room code" approach.

The Rateplan code is needed to ensure a proper distribution of the rates. It will be visible in the response in the following section, but it does not have to be used at the booking request.

```xml theme={null}
...
</RoomTypes>
<RatePlans>
    <RatePlan RatePlanCode = "BP007" />
<RatePlans>
...
```

### Taxes and Fees

The Taxes and Fees are small rates or commissions that may be added to a booking if a contract requests it.

There are three main types of Taxes and Fees:

* **Mandatory**: They are treated as a supplement in the contract, and calculated as one in the booking. Visible in Price Breakdown.
* **Included**: They are included in the hotel rate. They are visible under the Tax section as "Inclusive".
* **Payable Locally**: Taxes for the customer to pay on spot. They are visible under the tax section as "Exclusive".

```xml theme={null}
<Taxes Amount="100.00" CurrencyCode="EUR">
    <Tax Amount="50.00" CurrencyCode="EUR" Code="3" SequenceNbr="1" Type="Inclusive" ChargeFrequency="12">
        <TaxDescription>
            <Text Language="EN">This is a mandatory tax included in the rate, total amount for the whole stay</Text>
        </TaxDescription>
    </Tax>
    <Tax Amount="50" CurrencyCode="EUR" Code="18" SequenceNbr="2" Type="Inclusive" ChargeFrequency="21">
        <TaxDescription>
            <Text Language="EN">This is a mandatory tax included in the rate, value is per pax per night</Text>
        </TaxDescription>
    </Tax>
    <Tax Amount="75.00" CurrencyCode="EUR" Code="12" SequenceNbr="3" Type="Exclusive" ChargeFrequency="12">
        <TaxDescription>
            <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), total amount for the whole stay</Text>
        </TaxDescription>
    </Tax>
    <Tax Percent="7" Code="30" SequenceNbr="4" Type="Exclusive" ChargeFrequency="12">
        <TaxDescription>
            <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a percentage of the total amount</Text>
        </TaxDescription>
    </Tax>
    <Tax Amount="2.00" CurrencyCode="EUR" Code="5" SequenceNbr="5" Type="Exclusive" ChargeFrequency="21">
        <TaxDescription>
            <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a per pax per night value</Text>
        </TaxDescription>
    </Tax>
</Taxes>
```

The Code represents which type of Tax or Fee the element refers to. The Mapping of the codes is the following:

**ChargeFrequency** uses OTA CHG codes:

* 1 per night
* 12 per stay
* 18 per room per stay
* 19 per room per night
* 20 per pax per stay
* 21 per pax per night

**Code** uses OTA FTT codes:

* 3 city tax
* 6 federal tax
* 30 country tax
* 12 resort fee
* 18 tourism tax
* 27 miscellaneous
* 5 energy tax
* 36 VAT

## Complete Examples

<CodeGroup>
  ```xml Basic expandable theme={null}
  <OTA_HotelAvailRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="2008.1" TransactionIdentifier="1-1/1">
    <Success/>
    <HotelStays>
      <HotelStay>
        <BasicPropertyInfo HotelCode="AESPMI5L46" HotelName="Caserio de Lanzarote" HotelCodeContext="11111" AreaID="1012SA">
          <Award Rating="2 Stars"/>
        </BasicPropertyInfo>
      </HotelStay>
    </HotelStays>
    <RoomStays>
      <RoomStay RoomStayCandidateRPH="0" RPH="0" ResponseType="PropertyList">
        <RoomTypes>
          <RoomType RoomTypeCode="RM00CRMV00"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan RatePlanCode = "BP007" />
        </RatePlans>
        <RoomRates>
          <RoomRate RoomTypeCode="RM00CRMV00" NumberOfUnits="3" RatePlanToken="NGDjY1BxMJshml1tjSjP60aQLl1ZM_DXaHsmytDg91gP9V3sV124B2yEudvNXnrvUgY7TQEz5cQ3ElEy3ZVc-56GYgRG4tVk1juq6x8E8ddMdKBv6tvWpth6CoSEjz30SgGDRkscCIhD_JFViqtNLiL7mwI3g2-zMvKnMAz3tA-B4POClx7_-0Sw1Ga8oBKad5C0NXtrHvlsQYW6L8Q_">
            <Rates>
              <Rate ChargeType="21">
                <Base AmountAfterTax="900.00" CurrencyCode="EUR"/>
                <Total AmountAfterTax="900.00" CurrencyCode="EUR">
                  <Taxes Amount="100.00" CurrencyCode="EUR">
                    <Tax Amount="50.00" CurrencyCode="EUR" Code="3" SequenceNbr="1" Type="Inclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax included in the rate, total amount for the whole stay</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="50" CurrencyCode="EUR" Code="18" SequenceNbr="2" Type="Inclusive" ChargeFrequency="21">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax included in the rate, value is per pax per night</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="75.00" CurrencyCode="EUR" Code="12" SequenceNbr="3" Type="Exclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), total amount for the whole stay</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Percent="7" Code="30" SequenceNbr="4" Type="Exclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a percentage of the total amount</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="2.00" CurrencyCode="EUR" Code="5" SequenceNbr="5" Type="Exclusive" ChargeFrequency="21">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a per pax per night value</Text>
                      </TaxDescription>
                    </Tax>
                  </Taxes>
                </Total>
              </Rate>
            </Rates>
            <Features>
              <Feature>
                <Description>
                  <Text>BB</Text>
                </Description>
              </Feature>
            </Features>
          </RoomRate>
        </RoomRates>
        <GuestCounts>
          <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
        </GuestCounts>
        <TimeSpan Start="2027-07-17" End="2027-07-24"/>
        <BasicPropertyInfo HotelCode="AESPMI5L46">
          <VendorMessages>
            <VendorMessage Title="Free Stay Offers" InfoType="3">
              <SubSection SubTitle="100" SubCode="Value">
                <Paragraph>
                  <Text>Free Stay Offers 100</Text>
                </Paragraph>
              </SubSection>
              <SubSection SubTitle="FSO" SubCode="OTS"/>
            </VendorMessage>
            <VendorMessage Title="FreeCancellationConditions" InfoType="2">
              <SubSection SubTitle="FCP-RATE" SubCode="DRV"/>
              <SubSection SubTitle="FCP-P7D" SubCode="DRV"/>
            </VendorMessage>
          </VendorMessages>
        </BasicPropertyInfo>
        <Reference Type="22" ID="TEST" ID_Context="TEST"/>
      </RoomStay>
      <RoomStay RoomStayCandidateRPH="0" RPH="1" ResponseType="PropertyList">
        <RoomTypes>
          <RoomType RoomTypeCode="RM00DB0000"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan RatePlanCode = "B0N00" />
        </RatePlans>
        <RoomRates>
          <RoomRate RoomTypeCode="RM00DB0000" NumberOfUnits="3" RatePlanToken="NGDjY1BxMJshmmFtjbCh_FrakddKXJqOLLrrvn66FUKcv733e99zorrdN5sggUah-wCrtjvwKpVWjStevjddUqmUfpp5hu8AifkJA6TEP3NUfzVtsfTz8nYOWf7hUbapmAGKoAQMsg8OU4VDBSnY6eIGUq4USuzb2KREwyPBjCtbjGr2E2vrxyeEjKi-u084IYyjloODIBh5hqfRHCsvFq1E">
            <Rates>
              <Rate ChargeType="21">
                <Base AmountAfterTax="1050.00" CurrencyCode="EUR"/>
                <Total AmountAfterTax="1050.00" CurrencyCode="EUR">
                  <Taxes Amount="100.00" CurrencyCode="EUR">
                    <Tax Amount="50.00" CurrencyCode="EUR" Code="3" SequenceNbr="1" Type="Inclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax included in the rate, total amount for the whole stay</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="50" CurrencyCode="EUR" Code="18" SequenceNbr="2" Type="Inclusive" ChargeFrequency="21">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax included in the rate, value is per pax per night</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="75.00" CurrencyCode="EUR" Code="12" SequenceNbr="3" Type="Exclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), total amount for the whole stay</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Percent="7" Code="30" SequenceNbr="4" Type="Exclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a percentage of the total amount</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="2.00" CurrencyCode="EUR" Code="5" SequenceNbr="5" Type="Exclusive" ChargeFrequency="21">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a per pax per night value</Text>
                      </TaxDescription>
                    </Tax>
                  </Taxes>
                </Total>
              </Rate>
            </Rates>
            <Features>
              <Feature>
                <Description>
                  <Text>HB</Text>
                </Description>
              </Feature>
            </Features>
          </RoomRate>
        </RoomRates>
        <GuestCounts>
          <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
        </GuestCounts>
        <TimeSpan Start="2027-07-17" End="2027-07-24"/>
        <BasicPropertyInfo HotelCode="AESPMI5L46">
          <VendorMessages>
            <VendorMessage Title="Free Stay Offers" InfoType="3">
              <SubSection SubTitle="100" SubCode="Value">
                <Paragraph>
                  <Text>Free Stay Offers 100</Text>
                </Paragraph>
              </SubSection>
              <SubSection SubTitle="FSO" SubCode="OTS"/>
            </VendorMessage>
            <VendorMessage Title="FreeCancellationConditions" InfoType="2">
              <SubSection SubTitle="FCP-RATE" SubCode="DRV"/>
              <SubSection SubTitle="FCP-P7D" SubCode="DRV"/>
            </VendorMessage>
          </VendorMessages>
        </BasicPropertyInfo>
        <Reference Type="22" ID="TEST" ID_Context="TEST"/>
      </RoomStay>
      <RoomStay RoomStayCandidateRPH="0" RPH="2" ResponseType="PropertyList">
        <RoomTypes>
          <RoomType RoomTypeCode="RMSD000000"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan RatePlanCode = "BP000" />
        </RatePlans>
        <RoomRates>
          <RoomRate RoomTypeCode="RMSD000000" NumberOfUnits="3" RatePlanToken="NGDjY1BxMJshml1tjSjP60aQLl1ZM_Cf3KsowB5VsQtL1rKj712xZxiN84shnXXvUnL-VuNL9_3oCh-K_gzCjnq8EOJ65_ZgN1qEnxnndPD64qGBC7Rc6pzcvagsoUEnROAuP9uABw7iFDXg5TIQ19c0mkBD3NYB-Ez34Q9e1OS3dvl2gR7_-0Sw1Ga8oBIIhJry9q3vVnQDv9NiwBcy">
            <Rates>
              <Rate ChargeType="21">
                <Base AmountAfterTax="1200.00" CurrencyCode="EUR"/>
                <Total AmountAfterTax="1200.00" CurrencyCode="EUR">
                  <Taxes Amount="100.00" CurrencyCode="EUR">
                    <Tax Amount="50.00" CurrencyCode="EUR" Code="3" SequenceNbr="1" Type="Inclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax included in the rate, total amount for the whole stay</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="50" CurrencyCode="EUR" Code="18" SequenceNbr="2" Type="Inclusive" ChargeFrequency="21">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax included in the rate, value is per pax per night</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="75.00" CurrencyCode="EUR" Code="12" SequenceNbr="3" Type="Exclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), total amount for the whole stay</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Percent="7" Code="30" SequenceNbr="4" Type="Exclusive" ChargeFrequency="12">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a percentage of the total amount</Text>
                      </TaxDescription>
                    </Tax>
                    <Tax Amount="2.00" CurrencyCode="EUR" Code="5" SequenceNbr="5" Type="Exclusive" ChargeFrequency="21">
                      <TaxDescription>
                        <Text Language="EN">This is a mandatory tax NOT included in the rate (payable locally), expressed as a per pax per night value</Text>
                      </TaxDescription>
                    </Tax>
                  </Taxes>
                </Total>
              </Rate>
            </Rates>
            <Features>
              <Feature>
                <Description>
                  <Text>AI</Text>
                </Description>
              </Feature>
            </Features>
          </RoomRate>
        </RoomRates>
        <GuestCounts>
          <GuestCount AgeQualifyingCode="10" Age="30" Count="2"/>
        </GuestCounts>
        <TimeSpan Start="2027-07-17" End="2027-07-24"/>
        <BasicPropertyInfo HotelCode="AESPMI5L46">
          <VendorMessages>
            <VendorMessage Title="Free Stay Offers" InfoType="3">
              <SubSection SubTitle="100" SubCode="Value">
                <Paragraph>
                  <Text>Free Stay Offers 100</Text>
                </Paragraph>
              </SubSection>
              <SubSection SubTitle="FSO" SubCode="OTS"/>
            </VendorMessage>
            <VendorMessage Title="FreeCancellationConditions" InfoType="2">
              <SubSection SubTitle="FCP-RATE" SubCode="DRV"/>
              <SubSection SubTitle="FCP-P7D" SubCode="DRV"/>
            </VendorMessage>
          </VendorMessages>
        </BasicPropertyInfo>
        <Reference Type="22" ID="TEST" ID_Context="TEST"/>
      </RoomStay>
    </RoomStays>
  </OTA_HotelAvailRS>
  ```
</CodeGroup>
