event-date bookings, quoted and held on WhatsApp.
Bookings is the heysteff module for businesses that rent out units by event date: photo booths, venues, kayaks, vans or sound equipment. The AI agent checks availability, quotes with your prices and holds the date on WhatsApp; your team confirms once the deposit arrives. It comes with the Pro plan and above, at 299 USD/month.
Who it is for (and why an appointment calendar is not enough)
Appointment scheduling is built for short time slots: a consultation, a demo, a visit. A rental business needs something else: knowing which unit covers each event, blocking setup and travel time between two events of the same unit, keeping the price, quote and payments together, and charging differently by season. Bookings handles that and lives alongside scheduling in the same workspace.
Inventory, time slots and setup time
You set up unit types ("White booth", "Premium booth") and their units, which can be put under maintenance. You define time slots such as "Day" and "Night" (a slot can cross midnight), the minutes of setup and teardown, and travel time, which is blocked before the event. Optionally, you add a daily cap on events on top of physical capacity.
Units are assigned automatically (the first free one of the type) or by hand, and can be reassigned by dragging.
Seasonal pricing, packages and add-ons
You sell fixed-price packages and add-ons (for example, "Extra hour" by quantity). Prices live in seasons, and each date picks a season by rule: a specific date first (a holiday), then weekdays, then a date range and, if nothing matches, the base season. A unit type can cost more in each season, and a venue can add a travel line by venue or district. A simulator shows the season and price for any date.
If a product has no price in the season or in the base season, the quote is not created: heysteff never makes up a price.
What the agent does and what your team does
| Step | AI agent | Your team |
|---|---|---|
| Availability | Says whether a date is available and suggests nearby dates. Never reveals how many units are left. | Sees occupancy by day, slot and unit in the calendar. |
| Quote | Picks slot, package and add-ons by name; the system builds the amount and the text from your prices. | Chooses the mode: send automatically, review before sending (default) or quote manually. |
| Hold the date | Only if you turn it on, and only after a quote was sent. Lasts 48 hours by default. | Can extend the hold from the booking panel. |
| Reminder and release | A reminder goes out before the hold expires (60 minutes by default) and, with no deposit, the date is released automatically. | Gets an alert if a hold cannot be released or the customer cannot be notified. |
| Confirmation | Never confirms and never gives discounts. | Confirms when the deposit arrives and enters the amount actually paid. |
| Customer summary | If enabled, confirming sends a summary with date, time, venue, package, total, deposit and balance. | Edits the summary text. |
Quoting and holding without the agent touching a number
The AI model never sees or writes a price: the agent passes date, slot, package and add-ons, and the code calculates the total. The quote goes out as its own message; on Instagram it is split to fit the channel's length limit and on Gmail it goes out in the same thread. With WhatsApp on the official API, a hold reminder outside the 24-hour window goes out through an approved template, which heysteff requires before turning holds on. More in how to send quotes on WhatsApp with AI.
No double bookings, even with two chats at the same time
Whenever something takes a date (an agent hold, a team booking, an import), a lock is taken per unit type and, if there is a daily cap, per day. Underneath, the database rejects two overlapping blocks on the same unit, setup and travel included. A quote does not take capacity: only a hold or a confirmed booking does. Step by step in how to prevent double bookings.
Calendar, booking panel, receivables and list
The day view gives one row per unit with setup and travel marked, plus a card per booking. The booking panel brings together customer, event, quotes, payments (amount, method and receipt), checklist and a link to the chat. The "List" tab searches by name, phone, email, venue or district, and exports up to 5,000 rows to CSV. Booking status changes (quoted, held, confirmed, cancelled) can move the conversation in your sales pipeline or trigger an automation flow.
You can import the events you already have in a heysteff scheduling calendar as an initial load, and configure the whole module from the MCP server.
What it does not do yet
So you know what to expect: the mobile app does not have Bookings screens yet (you manage them from the web dashboard), there is no per-booking PDF, and each booking covers a single day for now. Collecting the deposit is not tied to the booking: you can send a link with WhatsApp payments, but your team confirms the booking when it records the payment.
Frequently asked questions
What software should I use to rent out photo booths, venues or equipment by date?
A booking system by unit and date, not an appointment calendar. In heysteff that is the Bookings module: inventory by unit type, time slots, setup and travel time, seasonal pricing and an AI agent that quotes and holds dates on WhatsApp, Instagram, Messenger or Gmail.
Which plan includes Bookings and how much does it cost?
From the Pro plan, which costs 299 USD/month (239 USD/month billed annually), and also on Max, at 549 USD/month. It is not on Free or Starter. You also need to turn on the Bookings module in your workspace. Details on pricing.
Can an AI agent get the price wrong in a quote?
It cannot make one up: the model never sees or writes amounts. The system calculates the total from the seasons, packages and add-ons you configured, and if a price is missing the quote is not created.
Does the agent confirm the booking?
No. The agent only quotes and, if you turn it on, holds the date for a set time (48 hours by default). Your team confirms when the deposit arrives, entering the amount actually paid.
Can I import my current events calendar?
Yes, if your events are in a heysteff scheduling calendar: they are imported as an initial load, without duplicates if you run it again, and days with more events than units are flagged as conflicts. Spreadsheet import is not available yet.
◆ next step
Load your units and prices, and let Steff quote and hold dates for you.