A booking calendar inside any floating message
Visitors see a month grid of free slots, pick one, fill in their name + email, and walk away with a confirmation email and an .ics calendar invite. You see every booking in your dashboard.

Why teams pick this
Live availability calendar
Visitor picks from a real-time slot list. Already-booked slots disappear instantly, so two visitors can't claim the same time.
.ics + provider deep links
Confirmation emails attach a universal .ics file plus one-click "Add to Google / Outlook / Office 365" buttons. Works on every device.
Owner-defined hours
Per-weekday open/close, slot length (15–120 min), buffer between meetings, lead time, and how far ahead visitors can book.
Email + webhook on every booking
Get notified the moment a slot is booked. Forward to your CRM via webhook, or sync the .ics with your scheduling stack.
How it works
Add a Book Appointment message
From Dashboard → Messages → New, pick the Book Appointment template.
Set your hours and slot length
Choose weekly hours per day, slot length, buffer, lead time, and timezone. Add custom fields like "What would you like to discuss?" if you need extras beyond name + email.
Embed and book
Add the FloatMessage script to your site (or include the message on a landing page). Visitors book themselves; you watch the calendar fill up in Dashboard → Appointments.
Built for these use cases

Use case 1
Discovery calls for service businesses
Coaches, consultants, freelancers — let prospects pick a 30-min slot directly from your homepage. No back-and-forth emails.

Use case 2
Salon, gym, and trade bookings
Configure 60-min slots Mon–Sat, set a buffer for cleanup, and add a "service requested" custom field. Confirmations land in the visitor's inbox with a calendar invite.

Use case 3
Demo / sales scheduling
Show the booking widget on pricing pages. Captures a meeting + email + (optional) company-size question in one go. The webhook forwards to your CRM.
Frequently asked questions
How are double-bookings prevented?
The server validates the slot is still free at submit time, with a race-resolver that hands the win to the oldest write if two visitors race. The losing visitor gets a 409 and the calendar refreshes.
Whose timezone do visitors see?
Their own. Slots are stored in UTC; the embed displays each in the visitor's local timezone using the browser's Intl APIs. Owners see bookings in the timezone they configured per message.
Does the visitor have to install anything to add the event to their calendar?
No. The success view offers a one-click .ics download (universal) plus deep links to Google Calendar, Outlook, and Office 365. The confirmation email also has the .ics attached.
Can I block specific dates without changing my weekly schedule?
Yes. Per-date overrides let you mark holidays, conferences, or one-off blackouts without touching your recurring weekly hours.
Where do bookings show up?
Dashboard → Appointments shows a month-grid calendar with daily booking counts. Click any day for the detailed list — visitor name, email, time, notes, and any custom fields. From there you can copy emails, open mailto: links, or cancel a booking (which frees the slot).
Try book appointments free for 30 days
No credit card required. Full access to every feature.
Start Free 30-Day TrialRelated features
Forms & Feedback
Contact Forms
Add a popup contact form to any website. Built-in validation, webhook forwarding to Slack/Zapier, and a submissions inbox in your dashboard.
Live Chat & AI
Live Chat
Add a live chat widget to your website in minutes. Real-time visitor messaging, AI auto-replies, proactive triggers, and ticketing - all in one tool.
Smart Targeting
Scheduling
Schedule website popups by day of week, time of day, or date range. Run flash sales, off-hours messages, and time-sensitive promotions automatically.