how to send quotes on WhatsApp with AI without getting the price wrong.
To send quotes on WhatsApp with AI without errors, the system calculates the price from your price list and the model only decides what to quote. This guide is for businesses that quote over chat (rentals, events, services). In heysteff the Bookings module does it, from the Pro plan (299 USD/month).
◆ prerequisites
A written price list (packages, add-ons, travel), your seasons defined with concrete dates, and a clear rule for who can approve a quote before it reaches the customer.
Why quotes over chat go wrong
Quoting on WhatsApp looks simple: the customer asks, you reply with a number. In practice, mistakes keep showing up in the same places. The quote uses the wrong season's rate because nobody checked whether the requested Saturday falls in high season. Travel to a distant venue is forgotten. An add-on is added up wrong. An old rate goes out because it was copied into a quick reply. And when an unchecked language model writes the quote, a new risk appears: it makes up an amount that sounds reasonable but that your business never set.
A price mistake in a chat cannot be undone: the customer already took a screenshot. The question is not whether AI can quote, but how to split the work so the number never depends on what the model "thinks".
Rule 1: the model decides what to quote; code calculates how much
The split that works is this: the AI agent understands the conversation and decides what is being quoted (date, time slot, package, add-ons and venue), and a deterministic function calculates how much it costs with the current price list. The system writes the text with the amount, not the model. If a price is missing, the right answer is not to quote and to alert the team, never to fill the gap with an estimate.
So the agent names products ("Plus package", "Extra hour") and the system looks them up in your list. If the customer asks for something that does not exist, the agent asks or escalates.
Rule 2: seasons with explicit rules, not from memory
Almost every rental or events business has prices that change with the date. The problem is that "high season" usually lives in someone's head. To quote without errors, each season needs written rules, and there must be a clear order when two rules match the same date. A sensible order, from most specific to most general:
- Specific date: a holiday or the eve of one with its own price.
- Weekdays: for example, Fridays and Saturdays.
- Date range: December through February.
- Base season: the one that applies when nothing else matches.
With that order, a January Saturday that is also a holiday takes the holiday price, no debate. Before letting anyone (or anything) quote, test your rules with a simulator or, at least, a list of tricky dates: the first Saturday of high season, the last day of a range, a holiday that falls on a weekday.
Rule 3: do not quote without the minimum details
An incomplete quote forces a second quote, and the second one almost always has a different number. Define which details are required before giving a price. In an events business they are usually: date, time slot, event type, package, add-ons, venue or district (for travel) and guest count if it changes the service. A good agent asks for them one at a time, in the conversation, and only quotes once it has them.
Rule 4: decide who approves before it goes out
Not every quote needs the same level of control. The sensible path is to start with human review and switch to automatic sending once you trust your price list.
| Mode | What happens | When it fits |
|---|---|---|
| Automatic | The agent builds the quote and it goes to the customer on its own. | Stable prices, standard products, high volume. |
| Review | The quote waits as a suggestion in the inbox and a person approves, edits or discards it. | When starting out, in high season or for large events. |
| Manual | The agent collects the details, alerts the team and tells the customer the quote is on its way. | Custom events or event types with special pricing. |
Ideally you can mix them: automatic in low season and review in high season, or review only for one event type.
Rule 5: a quote does not reserve the date
Many double bookings start with a misunderstanding: the customer got a quote and believes the date is theirs. Make it clear in the message that the quote has an expiry and that the date is held separately, with a deadline to pay the deposit. If you hold dates, set an expiry time, send a reminder beforehand and release the date if the deposit does not arrive. We cover it in detail in how to prevent double bookings.
Rule 6: respect each channel's format
A quote with several lines, add-ons and conditions can be long. WhatsApp accepts messages of up to 4,096 characters, but Instagram cuts off at 1,000 and rejects anything longer. Split the text into shorter messages instead of truncating it, and avoid asterisk bold or other formatting the channel shows literally. If you quote by email, reply in the same thread.
Rule 7: the agent does not negotiate discounts
An agent that can lower the price ends up lowering it. If you give discounts, have a person on the team give them, and make sure the quote is not recalculated on its own over a price someone set by hand.
How heysteff handles it
In heysteff these rules live in the Bookings module. You set up packages, add-ons, rule-based seasons, prices by unit type and travel by venue or district, and test any date in the simulator. The agent passes date, slot, package and add-ons by name; the system calculates the total and the quote goes out as its own message. The model never sees or writes an amount, and with no price there is no quote.
You choose the mode (automatic, review or manual; review is the default) and can change it by season or event type. The quote is split to fit the channel's length, and if the team set a price or a discount, the agent does not requote. And if you turn on holds, the agent can take the date only after a sent quote with the current total, for the time you define (48 hours by default), with a reminder and automatic release. Your team always does the confirmation, when the deposit arrives.
For events businesses, see also AI for event rental businesses; for tours and equipment rentals, AI for tours and experiences.
Frequently asked questions
Can an AI agent send quotes on WhatsApp without getting the price wrong?
Yes, as long as the model does not write the price. The agent decides what to quote and a function calculates the total from your price list and seasons; if a price is missing, no quote goes out. That is how the heysteff Bookings module works.
How do I charge more in high season without checking every date by hand?
With seasons defined by rules: specific date, weekdays and date range, in that order of priority, plus a base season. Each date takes the most specific rule that matches.
Can I review quotes before the AI sends them?
Yes. In review mode, the default in heysteff, the quote waits as a suggestion in the inbox and a person approves, edits or discards it before it goes out.
Can the AI give discounts in a quote?
It should not, and in heysteff it cannot: the agent does not give discounts. If someone on the team sets a price or a discount, the agent does not requote over it either.
Does a sent quote reserve the date?
No. A quote does not take the date; only a hold with a deadline or a confirmed booking does. It is worth telling the customer in the same message.
Which plan includes it and how much does it cost?
The Bookings module comes with the Pro plan, at 299 USD/month (239 USD/month billed annually), and with Max, at 549 USD/month. See pricing.
◆ next step
Load your price list and let Steff quote on WhatsApp with your numbers.
Related: Bookings module, how to prevent double bookings, WhatsApp payments and copilot mode.