Skip to content
ChatfuelSDK

Bookings

A calendar your team drags appointments around, staff whose weekly hours decide what can be booked at all, a services catalogue, and one setting for how far the AI goes on its own when a customer asks for a time.

One booking list, six ways into it

The calendar draws it, the appointments list sorts it, staff and services decide what may go in it. Every section reads the same bookings, and a change in one shows up in the others while you watch.

Draws the day, the week, the month

One column per day, or one per specialist. Working hours and breaks are shaded from each person’s own schedule, a line marks now, and blocks take their colour from the specialist or from the status.

Lists what is coming

Upcoming, past, or a range you pick, with search, filters and every column sortable. Change the status across a selection, or take the rows out as CSV.

Holds the people and their hours

Weekly working hours with one break a day, the services each person offers, and a Google Calendar connection per specialist. Those hours are the only thing availability is worked out from.

Holds what you sell

Every service with its duration, its price, its photos and whether it is on offer today. It is the same catalogue the assistant quotes from.

Says what the customer hears

The confirmation message, the notice 24 hours before and the one 2 hours before, the language they go out in, and whether they leave through Chatfuel or your connected WhatsApp number. The bot’s time zone is set here too, and every time on every screen is read on it.

Counts what happened

Status mix, no-show and cancel rates, attended revenue per currency, utilisation per specialist and the busiest hours. Every card prints the window it counted, because the booking API aggregates nothing.

Drag it, and it is booked

Drag an appointment to another hour, drag its edge to make it longer, drag empty grid to start a new one — every one of them snaps to fifteen minutes and goes to the server. A teammate’s tab follows it live, and ⌘Z takes a move or a status change back for a minute.

It only offers a time that is free

The wizard asks the server for one service on one day and gets back the start times each specialist is genuinely open for, with what is already booked taken out. Pick “anyone” and it books the first person free at the time you chose.

The AI books as far as you let it

Five levels, from collecting what the customer wants and leaving the booking to a person, through a slot a teammate approves, to booking on its own — and one of them is never to book at all. It is one setting in AI Automations: the bot’s default rule, or a different answer for a particular source.

A window, not a page

The booking query takes a start and an end and nothing else — no page, no filter, no sort, no search — so the list grows by ninety days at a time and the header says twelve of forty rather than printing the smaller number as the answer. Every insight card names the window it counted for the same reason.

Set the hours, take the booking, resolve it

Availability comes from exactly one place — the specialists’ own weekly schedules — so the hours are where a booking workspace starts, and the wizard, the AI and the shading on the grid all read them.

01

Set the hours

Each specialist gets a weekly schedule with one break a day, and the list of services they offer. Somebody with no working hours cannot be booked through availability at all — though an operator can still put an appointment on them by hand, and the wizard says whose hours are missing and links to them.

02

Take the booking

Through the wizard — service, specialist or anyone, day, a free start time, the customer — or by dragging on empty grid, or by the AI itself within the level you gave it. All three write the same record, and every open section reconciles from it.

03

Resolve it

Confirm, Attended, No-show, Needs reschedule or Cancel, from the detail panel, a row menu or a digit key; a reschedule is a drag to the new hour. ⌘Z takes a move or a status change back for a minute, and a delete asks first, because nothing can bring it back. Reading needs People · View, writing a booking needs People · Edit, and staff, services, the AI settings and the time zone need AI · Edit.

Six statuses, and the one you cannot go back to

A booking is born Pending and moves on from there. Every other transition works, Canceled back to Confirmed included — but nothing returns to Pending: the API refuses that from every state, so it is never offered as a target.

NameWhat it meansCan be setHolds the slot
PendingWhere every booking starts, before anyone has resolved it either way.
ConfirmedAgreed with the customer and expected to happen.
AttendedThey came. The only status attended revenue is counted from.
No-showThey did not. This and Attended are the two numbers the no-show rate is made of.
RescheduleNeeds a new time. The block stays on the grid, drawn tentatively, until it gets one.
CanceledCalled off. The one status that gives the time back — availability offers it again and utilisation stops counting it.

Five levels of AI autonomy

What the assistant may do by itself when a customer wants an appointment. Set in AI Automations — the Default rules, or per source — and read here beside the rest of the booking settings.

NameWhat the AI does
Collect intentThe AI collects what the customer wants; a human books it.
Propose, a teammate approvesThe AI proposes a slot; a teammate approves before it is booked.
Book, a teammate reviewsThe AI books; a teammate reviews it afterwards.
Full autonomyThe AI books on its own.
Don’t bookThe AI answers questions but never books.

What the settings page controls

The booking configuration the whole bot shares: what the customer is sent, in which language, through which channel, and on which clock.

NameWhat it sets
Send throughChatfuel, or your connected WhatsApp number on a bot that has one.
Confirmation messageWhether a confirmation goes out when the appointment is made, and what it says.
RemindersA notice 24 hours before and one 2 hours before, each with its own text. They are the only reminders the API has.
LanguageEnglish, Spanish, Portuguese, Indonesian or Malay.
AI autonomyShown here, changed in AI Automations, so one setting has one home.
Time zoneThe bot’s clock. Every schedule, every free slot and every time on every screen is read on it.
Booking pageThe hosted link, on the bots Chatfuel has given one. Shown to copy and open; it is not a page this app creates.

What it holds

The API publishes none of these. A couple are its own — it refuses a booking longer than 24 hours — and the rest are the module’s, picked against the fact that there is no page to ask for: a window is the unit, and a window has to stop somewhere.

Days one window may span366
Upcoming grows by90 days
Past grows by30 days
Shortest booking5 minutes
Longest booking24 hours
Drag, resize and nudge snap to15 minutes
Free times offered every15 minutes
Breaks in a working day1
Service title120 characters
Service description1,000 characters
Photos on a service10
Undo60 seconds, one entry

FAQs

Not from this app. A page a customer opens would have to hold a dashboard token it cannot be trusted with, so a customer-facing booking page needs a server of its own — Chatfuel runs its own experiment there, and the settings page shows that link on the bots that have one. What ships here is the operator’s version: a wizard your team books through, and an AI that books through the same one.

One command, and the calendar is in your app

npx @chatfuel/wizard