Addagio supports four booking types: service appointments, rental reservations, product purchases, and booking requests (for quotes and custom projects). Here is exactly what happens for the most common flow -- a service booking.
The booking widget steps
When a customer visits your page, the booking widget walks them through these steps:
Select location -- If your business has multiple locations, the customer picks one. If you only have one location, this step is skipped automatically.
Main menu -- An overview of your business with a "Book Now" call-to-action. Skipped if your flow goes straight to services.
Choose staff -- The customer picks a team member. If you have no staff set up, this step is skipped.
Select services -- The customer chooses one or more services with prices and durations displayed. Multiple services can be added.
Choose channel -- The customer picks how they want to complete the booking (online form, WhatsApp, or phone call).
Confirmation form -- The customer enters their name, email, phone (optional), picks a date and time, and adds any special requests.
Success -- Confirmation screen with the booking reference code.
Steps are automatically skipped when not needed. For example, a solo practitioner with one location skips both the location and staff steps.
What happens behind the scenes
When the customer submits the booking:
The system checks for double bookings -- it verifies no existing booking overlaps the requested time slot for that staff member.
It checks for staff time-off -- if the selected staff member has blocked that date, the booking is rejected.
It rejects past dates.
A booking fee is calculated: 5% of the service subtotal, with a minimum of $3 and a maximum of $15. This fee is added to the customer's total.
A unique reference code is generated (e.g., "BK-7X3M9A").
The booking is created with status CONFIRMED (for pay-at-venue bookings) or PENDING (if online payment via Stripe is required).
Confirmation emails and SMS are sent to both the customer and the vendor.
A Google Calendar event is created if the vendor has connected their calendar.
A customer account is auto-created so the customer can manage their bookings at addagio.io/my-bookings.
Booking types
Service -- Standard appointments (haircuts, consultations, classes). Has a date, time, staff, and one or more services.
Rental -- Property reservations (vacation rentals, hotel rooms). Has check-in/check-out dates, number of guests. Price is calculated per night plus cleaning fee.
Product purchase -- Physical or digital product orders. Stock is decremented automatically.
Booking request -- Quote or inquiry for custom work (photography, modeling, event planning). Created with PENDING status for the vendor to review and respond.
Booking statuses
| Status | Meaning |
| PENDING | Awaiting payment or vendor confirmation |
| CONFIRMED | Booking is accepted and scheduled |
| COMPLETED | The appointment has taken place |
| CANCELLED | Booking was cancelled by customer or vendor |
| NO_SHOW | Customer did not attend |