Advance: Rate Determination Algorithm
Below is a detail description of the rate determination algorithm which Tokeet uses to generate a rate for various situations and conditions. This description is intended to help answer any detail questions which you may have about quote generation in Tokeet and how rates are calculated.
There are two different rate procedures in Tokeet. The first is for “internally” generated quotes, i.e. quotes which are generated when an inquiry is submitted via a Tokeet website or inquiry widget or when an inquiry is created via the dashboard. The second is for channel specific rates, i.e. rates that are pushed from Tokeet to any API connected channels. Although both rate procedures use the same rates specified in your Tokeet rental settings there are some subtle differences in how the rates are calculated.
Internally Generated Rates
When an inquiry is submitted to Tokeet or created via the dashboard, Tokeet generates a quote for that inquiry. The important parts of the inquiry used in generating the quote are the dates of the inquiry and the number of guests (adults + children).
Tokeet will use the dates specified to find a rate from the default category, or specified category. Tokeet may choose two rates if the booking spans multiple rate periods in your rate category. Once the rate(s) are found based on the rental dates Tokeet then proceeds to determine the appropriate price to use from your rate(s).
There is a precedent with regards to which rate type from your rental rate settings is used when generating the quote. Rate types in this sense refers to the nightly, weekly, or monthly prices set in the rate. If the inquiry is over a month or more and there is a monthly rate setting then that monthly rate is used for the portion(s) of the stay that is a month long. Otherwise, if the rate is over a week or more and a weekly rate is set then that weekly rate is used for the portion(s) of the stay that is a week long. Otherwise Tokeet tries to use any Day Specific Pricing that matches the day of week for each day in the inquiry. Otherwise, Tokeet uses the weekend rate, if it is set, and the nightly rate. If no rates are explicitly set for the inquiry period then Tokeet uses the base rate for the rental.
Here is an example. Let’s assume that you receive an inquiry for 1 month and 9 days via your Tokeet website or inquiry widget. Tokeet will automatically generate a quote for this inquiry based on your rental rates set in Tokeet. Tokeet will first find the rate that matches the period of the inquiry. If you have a monthly price set then Tokeet will use the monthly price for the first 30 days of the inquiry. Now there are 9 days left. Tokeet will look for a weekly price in the matched rate settings. If there is a weekly price then Tokeet will use that price for the next 7 days of the inquiry. Now, there are 2 days remaining. Tokeet will use either the Day Specific Rate, Weekend rate, Nightly rate, or Base rate for the last two days of the inquiry - in that specific order.
So, in summary, Tokeet tries the broadest rate match first and decreases the match size until it generates a quote for the entire period of the inquiry.
Channel Pushed Rates
When rates are pushed to your API connected channels Tokeet must determine a rate for each day of the year for the next 2 years. It uses a layering algorithm to determine the daily rates based on all the different rates in the rate category pushed to the channel.
Tokeet first lays down your rental base rate over the next two years. Then it goes through each rate in the category and determines the nightly rate. Tokeet then layers over your nightly rate as specified, or derived from the weekly rate if set. Afterwards, Tokeet layers over any Day Specific Pricing that may also be specified in each rate for each day in the period that matches the Day Specific Pricing. Finally, Tokeet layers over any Promotional Rates that is applicable over the two year period. Below is an illustration of the process of determining a nightly rate for each day for the next two years or less, depending on the channel.