Get to Know WeSpeak Rates

Create and manage your rates so the assistant quotes with real prices and availability: how rates are organized and which type of connection is best for your hotel.

Last updated: July 6, 2026

WeSpeak Rates is where you create and manage your rates, so the assistant can quote over chat with real prices and availability and close the booking. It's your conversational booking engine: on top of your website, you sell directly through WhatsApp.

One key distinction to understand everything else:

  • Rates manages the RATES (the prices and their rules).
  • AVAILABILITY is handled by your integration (your Channel Manager, your PMS, or your engine). The only exception is WeSpeak Engine, the native engine, where you also load the inventory into WeSpeak.

What you can do with Rates

  • Corporate and promotional rates (public or with a code).
  • Parent and child rate structures (derived by percentage or amount: Early Booking, Last Minute, Long Stay…). If the parent changes, the children update by themselves.
  • Taxes and fees per rate (included in the price or not).
  • Each rate with its own payment and cancellation policy — for example, a "Non-Refundable" one that charges 100% and a "Flexible" one that only asks for a card as a guarantee.
  • Restrictions per rate: validity period and days, minimum/maximum stay, lead time (to build last minute / early booking rates), countries, and arrival or departure blocks.

The Rates screens

SectionWhat it's for
IntegrationsInitial setup (children's ages, whether infants take up a spot) and the connection code for your Channel Manager.
RoomsCreate your rooms with capacities and descriptions.
Taxes and FeesDefine taxes (fixed or %) and enable them per rate.
ListsView all your rates and their status: Activate, Hide, Finalize, or Delete.
CalendarView rates by room (the parent in purple, the derived ones below) and edit in bulk.
PoliciesCreate cancellation and payment policies, and associate them with your rates.
TestsSimulate a query and see the final price the assistant would give (includes draft rates).
New RateThe central button: choose between Base Rate, Derived, or (PMS only) External.

How a rate is created (the steps of the creation wizard)

When you click New Rate, a step-by-step creation wizard opens. The steps are:

  1. Rate Type — you choose between Base Rate, Derived Rate, or (PMS only) External Rate. You can also start from a predefined preset (Early Booking, Last Minute, Long Stay) that applies common settings automatically. Once the rate is created, the type cannot be changed.
  2. Price Configuration — you define the Price Type: Per Room (fixed price regardless of the number of guests) or Per Person (the price varies by occupants), the currency, and the base price per night (before taxes).
  3. Basic Information — name, code, and description. The assistant uses this data to identify the rate, so it's best to use a descriptive name and a short, consistent code (e.g., if the rate is called "Flexible," the code "FLEX").
  4. Validity — two distinct windows: the Validity Period (Booking Window) defines when it can be booked (with an "Applies to all dates" option and a valid days of the week selector — ideal for weekend-only rates), and the Stay Window (Travel Window) defines when the guest can stay (e.g., I sell today, but only for check-in in December).
  5. Policies — you select the cancellation policy, the payment policy, the taxes and fees that apply, and the meal plan (Room Only, Bed and Breakfast, Half Board, Full Board, or All Inclusive).
  6. Restrictions — all the access and stay conditions (see the table below).
  7. Summary — you review everything configured before clicking Create Rate.

The restrictions, one by one

RestrictionWhat it does
Access TypePublic (the assistant can always offer it) or Promotional Code (only shown if the guest types the code, e.g., "SUMMER2024" — useful for corporate rates).
Countries it applies to"Only these countries" or "All except these countries." The country is detected from the guest's phone number — useful for market-based promotions.
Minimum / maximum nightsMinimum or maximum stay. With a minimum of 7 nights you build a "Long Stay" promo.
Booking lead timeMinimum/maximum days in advance. Last Minute: maximum 1 day. Early Booking: minimum 150 days (5 months).
Closed to Arrival (CTA)Blocks check-in on specific days or dates (e.g., you can't arrive on a Saturday with this rate).
Closed to Departure (CTD)Blocks check-out on specific dates.
Stop SellCuts off the sale of the rate on the marked dates.

Price per room or per person

  • Per Room: a fixed price for the unit, regardless of how many guests occupy it (within the maximum capacity). Ideal for fixed corporate rates.
  • Per Person: you define a base occupancy (e.g., 2 adults) and automatic adjustments —percentage or amount— per additional or fewer guests. You can also set up children's rates by age range: for example, the first child free and the second with a fixed surcharge.

ℹ️ If your prices come from a Channel Manager, the price type and base occupancy must match how your Channel Manager handles them (e.g., if it sends $100 for 2 adults, the base occupancy is "2 adults").

Derived rates: what they inherit and what they don't

  • The price is not entered by hand: it's calculated using the Adjustment Direction (Cheaper / More Expensive) and the Adjustment Type (Percentage or Fixed Amount) applied to the base rate. If the parent changes, the derived one recalculates by itself.
  • It inherits the currency of the parent rate (it can't be changed).
  • It can only be applied to the rooms linked to the parent rate — if the base covers Duplex and Standard, the derived one can't add other categories.
  • In Restriction Synchronization you choose what it inherits automatically from the parent: Validity Period, Stay Window, Stay Restrictions, Booking Lead Time, CTA and CTD, and Stop Sell. Whatever is checked stays synchronized if you change the parent; the rest you define separately. Best practice: always inherit the Stop Sell.

Taxes and fees: how they're calculated

  • Tax: applied per night. Fee: charged only once per booking (e.g., eco fee).
  • Each can be a fixed amount or a percentage, and be included or not included in the price.
  • They are associated per rate: the same tax can be included in one rate and not included in another.
  • A payment policy's deposit can be calculated with or without taxes included.

Test before publishing

The Tests screen simulates a guest's exact query with the Check Availability and Prices button. Useful options:

  1. Include draft rates — test rates before publishing them, without them being sold.
  2. Include rates with promotional codes or enter a specific Promotional Code to verify that it appears.
  3. User Country — simulate the query from a specific country to test geographic restrictions.
  4. Children's ages — reproduce exactly the occupancy the guest queried.

The result shows the Best Option (cheapest bookable rate), the Price Range (minimum / average / maximum), the daily prices with taxes and policies, and the Detected Restrictions (non-bookable rates, closed to arrival or departure) — ideal for understanding why the assistant isn't offering a rate.

Bulk Editor

From Calendar → Bulk Editor you edit a date range in bulk: prices (including the per-occupancy setup), inventory (WeSpeak Engine only), availability status, CTA/CTD, minimum/maximum nights, and release. What it allows depending on your connection:

ConnectionEdit prices in bulk?
Channel Manager❌ (restrictions only)
PMS via API✅ (except External rates)
Booking engine
WeSpeak Engine✅ prices and inventory

Best practices

  1. Create a single Base Rate for all room categories: the plan is shared but the price is individual per room, and any policy or tax change cascades to all the derived rates.
  2. Use a single currency across your entire structure (in LATAM hospitality, USD is the norm). You can mix currencies, but it's not recommended.
  3. Create few base rates (1 or 2) and handle promotions with derived ones.
  4. Set the base rate as your most flexible and highest-priced rate — it's the standard hotel practice and what's usually mapped in Channel Managers.

The connection types — which is yours

The behavior of Rates depends on how your hotel is connected:

Channel ManagerPMS via APIWeSpeak EngineBooking engineCustom API
ExamplesChannex, RoomCloud, AmadeusOpera Cloud, CloudbedsWeSpeak's native engineYour booking pageYour custom system
Who controls the pricesYour Channel ManagerWeSpeakWeSpeakWeSpeakYour system
Who controls the inventoryYour Channel ManagerYour PMSWeSpeakYour engineYour system
Do you edit inventory in WeSpeak?NoNoYes (only one)NoNo
The booking is created in…Your Channel ManagerYour PMSWeSpeak (requires Payments)WeSpeak (requires Payments)Your system

💡 General recommendation: the ideal scenario is the Channel Manager (everything syncs by itself). Each type has its own article with the step-by-step: see the related articles.

A limit to keep in mind

Today, Rates doesn't manage one-off "extras" (spa, transfers, dinners as a separate charge). Packages can be built as a derived rate as long as the charge is per night.

If availability or price doesn't match your engine

Checklist before reporting:

  1. Check in your engine/PMS that there really is availability for those exact dates and occupancy (including the children's ages — a "2 adults + 1 child" query may find no room if the room doesn't accept that age; it's adjusted in Integrations).
  2. Check that the assistant is active and the channel connected.
  3. Use the Tests screen in Rates: simulate the same query and compare the final price.
  4. If you just renamed rooms or rates in your system, give it a few minutes — the change re-syncs; if it doesn't reflect, report it.
  5. Still not matching? Report it with the thumbs down on the assistant's reply, indicating the contact's number and the queried dates.

Frequently asked questions

I want a rate not to show in the chat (e.g., "Standard Rate").
In Lists, use the Hide action on that rate: it still exists but the assistant stops offering it. If the rate comes from your Channel Manager/PMS and you don't see it in Lists, ask your advisor for the filter.

Can the assistant quote in another currency?
Yes — quoting in another currency is enabled in Knowledge → Price and Availability → Advanced settings. The guest sees the conversion; the charge (if you use Payments) is done in your gateway's currency.

Can the booking link come with the dates already filled in?
It depends on your booking engine: if its link supports pre-filled dates, the assistant includes them. Check with your advisor, indicating which engine you use.

Can I create a plan that only applies on certain dates (e.g., year-end)?
Yes — when creating the rate, define its validity period and its restrictions (minimum stay, lead time). If your prices are managed by your engine/Channel Manager, that plan is configured there and WeSpeak picks it up.

Can I create a rate that only applies on weekends?
Yes — in the Validity step, within the validity period, mark the valid days of the week (e.g., only Saturday and Sunday). The filter is applied automatically when checking availability.

I created a derived rate but it won't let me choose rooms.
The derived rate inherits the rooms from its parent rate: it can only be applied to the rooms already linked to the base. If you need another category, add it to the base rate first.

Can I change the type of an already-created rate (from Base to Derived, for example)?
No — the type is chosen when creating it and can't be changed afterward. Create a new rate of the correct type and use Hide or Delete on the previous one.

Why doesn't the assistant offer one of my rates?
Check in order: that it's in Active status in Lists (not Draft, Hidden, or Finalized), that the queried date falls within its validity period and stay window, that it's not blocked by a restriction (minimum stay, lead time, CTA/CTD, Stop Sell, country), and that it doesn't require a promotional code. The Tests screen shows you the "Detected Restrictions" of each rate for that exact query.