Back to Guides
Quotes
Quotes — overview
When the price isn't fixed yet. Quote, customer accepts, becomes a booking — or stays standalone.
A quote is a price offer you send before the customer commits. Two flavours:
- Booking-attached quote — the customer requested a service that needs in-person assessment to price (e.g. a colour correction with unknown product cost). You convert the booking into a "quote pending" state, send a price, the customer accepts/declines, and on accept it flips back to a regular confirmed booking.
- Standalone quote — there's no booking yet. The customer asked "how much would X cost?" via your contact form, by email, in person. You build a line-itemised quote, send it via email or shareable link, and on accept it creates a fresh booking + invoice.
Both flavours sit under Sales → Quotes in the admin nav.
When to send a quote vs a booking
- Use a booking with quote if the customer is committed to coming in but the price varies based on what they need (typical hair colour correction).
- Use a standalone quote when the customer hasn't booked anything yet and you're competing for the work (typical home services, multi-service spa packages, group bookings).
Anatomy of a quote
- Customer (or guest details if not yet a customer)
- Line items: services + products + custom rows
- Subtotal, optional discount, tax, total
- Optional deposit % required to confirm
- An expiry date — quotes auto-expire if not accepted by then
- Notes shown to the customer
- Internal notes (admin-only)
- Status: Draft → Sent → Viewed → Accepted → Declined / Expired
How customers accept
The quote email contains a unique link. Tapping it opens the public quote page — no login required. Customer reviews, taps Accept, and:
- For a booking-attached quote: the booking flips to confirmed, the customer is told to keep the existing time.
- For a standalone quote: the customer is asked to pick a date/time, then a booking is created in your calendar.
If a deposit is required, the accept flow routes through Stripe Checkout and the booking is created only after payment.