Calendar and appointments
Read the Calendar, book on a customer's behalf, complete, move or cancel appointments, set booking rules, and let an agent take bookings over voice, WhatsApp and web chat.
Calendar shows every appointment your agents and your team have booked. Behind it sit one or more booking calendars: sets of rules that decide which times can be booked at all. Your agents and your team book against the same rules, so the console and an agent can never offer different times.
Who can do what:
| You are | You can |
|---|---|
| Member | Read the calendar, book with New appointment, mark appointments complete or no-show, reschedule and cancel. |
| Admin or Owner | Everything a member can, plus open Booking rules, create and edit booking calendars, connect Google Calendar, and switch on booking for an agent. |
The Calendar is available on every plan.
The examples on this page come from Veloria Home, an appliance brand that books technician visits for AC service, washing-machine repairs and RO purifier installations.
Set up in five steps #
- 1
Create a booking calendar
An admin opens Calendar → Booking rules → New calendar, sets the opening hours, booking length and limits, and selects Create calendar. See Booking rules.
- 2
Switch on booking for an agent
In Agents → your agent → Tools, turn on Book appointments. See Let an agent book.
- 3
Test it
In the agent's Test tab, ask the agent for a visit, pick a time, and finish the booking.
- 4
Check the Calendar
The booking appears with the customer, the channel and the agent.
- 5
Connect Google Calendar (optional)
If your team keeps its real diary in Google, connect it so Google events block times.
Read the calendar #
Views and navigation #
Use ‹ Today › to move one period back or forward, or jump back to today. Pick a view on the right:
| View | Shows |
|---|---|
| Week | Monday to Sunday on a time grid. Each day header reads {N} booked, Free, Closed or Holiday. The count covers only bookings that still hold time, so a past day whose visits were all marked complete reads Free. |
| Day | One day on a time grid. Phones open in this view. |
| Month | Six weeks of day cells, up to three bookings per cell plus +N more. Select +N more, or double-click a day, to open it in Day view. |
| Agenda | A list of the next 14 days from the date you're on. If nothing is booked: Nothing booked in this stretch. |
Two filters sit beside the views:
- All agents narrows the calendar to one agent's bookings.
- All calendars narrows it to one booking calendar. It only appears when you have more than one.
Everything you choose is kept in the page address, so you can bookmark or share a view. For example, /calendar?view=week&date=2026-10-12&calendar=<id> opens that week for one calendar, and ?appt=<id> opens one appointment.
What the colours and markers mean #
- Colour is the agent that took the booking. Bookings your team added without crediting an agent have a plain border.
- A hatched strip under a booking is the gap after it, when nobody can book.
- Shaded hours are outside the calendar's opening hours. Month cells show Closed for a day with no hours and Holiday for a date in Days you're closed.
- Cancelled and Moved bookings stay on the grid as faint, dashed history, so you can see what changed.
- A Busy (Google) block is an event from a connected Google calendar. It holds the time but isn't a customer.
- When a time holds more than one booking, the block shows how many seats are taken, for example 2/3.
The shading and the Closed and Holiday markers follow the calendar picked in All calendars. With all calendars shown, they follow your default calendar.
Click an empty time in Week or Day view to start a booking for that day. You can't drag to create or move bookings.
Time zones on the calendar #
A booking calendar keeps its hours in its own time zone. The grid is drawn in that zone, so 9:00 am on screen is 9:00 am for the business.
If your device is set to a different time zone, a chip appears in the toolbar: Showing Kolkata · GMT+5:30 with Switch to your time. Switching redraws the same bookings in your own clock; the chip then reads Showing your time with Switch to Kolkata. It never changes the calendar's hours or any booking. Your choice is remembered in this browser.
Every other time in the console uses your workspace time zone. The appointment window's Added time is the exception: it uses your device's clock.
Open an appointment #
Select a booking to open it. The window's title is the booking's reference, such as AP-6E887048, which is also what the customer is quoted.
At the top you see the date, the time with the calendar's zone, and Your time when your device is in a different zone. The status badge is one of:
| Status | Meaning |
|---|---|
| Booked | Holds the time. The normal state of a new booking. |
| Confirmed | Holds the time, like Booked. The console doesn't set this status. |
| Completed | The visit happened. |
| No-show | The customer didn't turn up. |
| Cancelled | Freed. The record stays as history. |
| Moved | Replaced by a booking at a new time. The new booking says Moved from an earlier booking. |
| Busy (Google) | Imported from Google Calendar. Change it in Google. |
The fields:
| Field | What it shows |
|---|---|
| Who | The customer's name, or their phone or email if no name was given. |
| Phone, Email | Shown when known. Select them to call or write. |
| Calendar | The booking calendar it was booked into. |
| Booked via | WhatsApp, Phone, Web chat, or Added by your team followed by the team member's name. A Google busy block shows Google Calendar. |
| What for | The service booked. Only shown when the booking carries a service; calendars set up in the console don't have services. |
| Added | When the booking was made, in your device's time. |
| Agent | View agent opens the agent's Tools tab. Shown when an agent took or was credited with the booking. |
| Contact | Open in Contacts finds the customer's contact record. |
| Notes | What the customer or your team noted, such as an address detail or the fault. |
| Reason | Why it was cancelled, for cancelled bookings. |
The appointment window doesn't list a change history. The customer's contact record lists their appointments alongside calls, conversations and tickets.
Complete, no-show, reschedule or cancel #
Which buttons you get depends on whether the booking's end time has passed:
| The booking | Buttons |
|---|---|
| Hasn't ended yet (including one in progress) | Reschedule, Cancel appointment |
| Has ended | Mark complete, No-show |
| Is cancelled, moved, completed or a no-show | None |
| Is a Busy (Google) block | None |
So you can't mark a visit complete before it is due to finish, and you can't move or cancel one after it has ended.
Mark complete and No-show act straight away, with no confirmation. Once set, the buttons disappear: the console has no way to switch a completed visit to a no-show or back, so check before you select.
Reschedule #
- 1
Select Reschedule
The window shows the current time struck through: Currently
Wednesday 14 October, 12:00 pm. - 2
Pick a new date and time
New date starts on the booking's own day. New time lists only times the calendar has open, without the current one.
- 3
Select Move appointment
You see Moved to {time}. The old booking becomes Moved and a new booking holds the new time.
The new time is reserved before the old one is released. If someone else takes the new time first, you get That time is not available — the original appointment is unchanged. Pick another time.
A rescheduled booking keeps its customer, notes, channel and agent.
Cancel #
Select Cancel appointment. The form says This frees the slot immediately. The booking stays in your history.
Pick a Reason: Customer cancelled, Customer didn't turn up, We had to cancel, Duplicate booking or Other. Other asks What happened (up to 500 characters). Then select Cancel appointment.
The customer sees the reason
When the customer gave an email address, the cancellation email includes the reason you picked, or what you typed under What happened. Write it as you would to the customer.
Telling the customer #
The reschedule and cancel forms each have an unlabelled switch under the time or reason, on by default. On the reschedule form its help text says it Sends a short message on the channel they booked from.
What you can rely on today: moving or cancelling a booking always notifies the customer by email when the booking has an email address, whichever way the switch is set. If you don't want the customer told, don't use these buttons; contact them yourself first. See Confirmations and reminders.
Book on a customer's behalf #
Use New appointment for a customer who phoned the store, walked in or wrote to you. Any member can book.
- 1
Open the form
Select New appointment, or click an empty time on the grid. The button is greyed out until a booking calendar exists.
- 2
Pick the calendar, date and time
Calendar appears when you have more than one. Time lists only open times, with Only times this calendar has open are shown. When several people can share a time, it shows how many places are left, for example 9:00 am (2 left).
- 3
Add the customer
Fill in at least one of Name, Phone or Email: At least one of name, phone or email is needed. Give an email if you want the customer to get a confirmation and reminders.
- 4
Credit an agent, add notes
Credit to an agent is optional; leave it on Your team for a booking your team took. Notes takes up to 500 characters for the technician.
- 5
Select Book appointment
You see Booked {time}. The booking shows Booked via Added by your team with your name.
If a day has nothing open, the picker says Nothing open on this day. and either The next free day is {date}. or Try another date, or check this calendar's opening hours.
The console books under the same rules as your agents: the earliest-booking limit, the booking horizon, capacity and closed days all apply. If the time was taken while the form was open, you see That time has just been taken.
Booking rules #
Booking rules (admins) lists your booking calendars. Each row shows the name, a Default badge, the opening hours, the booking length, the time zone, and a sentence describing the overlap rule. Select a row to edit it, or New calendar to add one.
Use one calendar per set of rules. Veloria keeps technician visits (three technicians, travel time after each visit) separate from RO installations (one installer, longer jobs), because they have different hours, lengths and capacity.
The editor is titled New booking calendar or the calendar's name: These rules decide every time your agents can offer.
What this calendar is for #
| Field | What it does |
|---|---|
| Name | Required. A new calendar starts as Appointments. The form says Only your team sees this name, but confirmation and reminder emails use it as the business name: "Your appointment with Veloria Home service visits is confirmed". Pick a name your customers will recognise. |
| Time zone | Required. Defaults to your workspace zone. Every time on this calendar is in this zone. Opening hours, offered times and email times all use it. |
| Default switch (under Name, help text New agents book into this one unless you pick another.) | New calendars start with it on. Keep it on for one calendar only. |
When you're open #
Bookings can only land inside these hours. Your agents will say you're closed outside them.
- Use the switch beside each day to open or close it. A day you open starts at 9:00 am to 6:00 pm. New calendars open Monday to Friday, 9:00 am to 6:00 pm.
- Times are in 15-minute steps. The closing time must allow at least one full booking.
- Select + (Add a second stretch of hours) for a lunch break. A day can have up to four stretches; × (Remove these hours) deletes one.
- Copy → Copy to weekdays or Copy to all days repeats one day's hours.
- Your week at a glance previews the week.
Hours can't run past midnight. For a late shift, split it: 8:00 pm to 11:45 pm on one day, then 12:00 am onward on the next.
How long each booking is #
| Field | Options | Default |
|---|---|---|
| Booking length | 15, 20, 30, 45, 60, 90 or 120 minutes | 30 minutes |
| Gap after each booking | None, 5, 10, 15 or 30 minutes | None |
Booking length also sets how often a time can start: times begin at opening and step by one booking length. A 60-minute calendar open from 9:00 am offers 9:00, 10:00, 11:00 and so on. You can't set a separate start interval in the console.
The gap is held after each booking and nobody can book into it. With 60 minutes plus a 30-minute gap, a 9:00 am visit holds the technician until 10:30 am, so with one technician the 10:00 am time is gone and 11:00 am is the next. Customers aren't told about the gap; the booking itself stays 60 minutes.
Can two people book the same time? #
This is the rule your agents follow when a slot is already taken.
| Choice | What happens |
|---|---|
| One at a time (recommended, default) | A 3:00 pm booking closes that time. Nobody else can take it. |
| A few at once | Pick Up to 2 people to Up to 20 people. Use it when several technicians can each take a visit at the same time. When the last place is taken, the time closes. |
| No limit | Anyone can book any open time, however many turn up. Nothing ever shows as full. Use it only when headcount truly doesn't matter. |
The sentence under the choices restates your rule with a 3:00 pm example. For One at a time it also spells out the gap.
Limits #
| Field | Options | Default |
|---|---|---|
| Earliest someone can book | Right away, 1 hour ahead, 2 hours ahead, 4 hours ahead, 1 day ahead, 2 days ahead | 2 hours ahead |
| How far ahead | 7, 14, 30, 60 or 90 days | 60 days |
| Days you're closed | Any dates. Pick one under Add a day, then Add. Remove one with its ×. | None |
Days you're closed overrides the weekly hours for holidays, stock-taking days or a team off-site. Those dates show as Holiday on the calendar.
Saving #
The bar at the bottom tells you where you are: Fix the highlighted fields to continue., Unsaved changes, All changes saved, or for a new calendar Check the settings above, then create it. Select Create calendar or Save booking rules; Discard undoes your edits. If you leave with unsaved edits, the console asks Leave without saving?
New rules apply to the next availability check straight away. Existing bookings are never moved or cancelled by a rule change.
The form stops you with:
- Give this calendar a name.
- Pick a time zone.
- {Day} must close after it opens.
- {Day} is shorter than one {N}-minute booking.
- {Day} has overlapping hours.
- Open on at least one day, or nobody can book.
The Google Calendar card appears below Limits once the calendar is saved. See Connect Google Calendar.
You can't archive or delete a booking calendar from the console. Bookings always keep a link to the calendar they were made in.
Let an agent book #
In Agents → your agent → Tools, turn on Book appointments (admins). It is off by default because a booking takes a real slot in your diary. The switch is greyed out until a booking calendar exists; the card links to Set up a calendar.
When you turn it on, the agent is bound to your default calendar. With more than one calendar, a Calendar list lets you pick another. The card then summarises the bound calendar's hours, length and overlap rule, with Change these linking to its booking rules.
Changes on the Tools tab are live immediately
Each switch saves as soon as you flip it, and the agent uses it on its next reply on every channel. There is no separate publish step for tool settings. Try the booking flow in the agent's Test tab before you switch it on for a busy line, and use the agent's version history if you need to see or roll back a change.
What the agent does #
With Book appointments on, the agent:
- checks live availability before it offers any time, using the same rules as the console;
- offers at most three times in the customer's words (on calls, it looks no more than three days ahead and offers no more than three times);
- books only the exact time the customer picks, and never says "booked" unless the booking succeeded;
- if someone else takes that time first, apologises and offers the next open times.
It takes the customer's details from the channel:
| Channel | What the agent needs |
|---|---|
| The number comes from WhatsApp. It asks for a first name if it doesn't have one. | |
| Phone | The caller's number comes from the call. It asks for a first name; it never asks a caller to spell an email address. |
| Web chat | It asks for a first name and an email address, one at a time. |
Agent bookings link to the customer's contact record, creating one if needed, and appear on the Calendar under Booked via with the agent.
Moving and cancelling through the agent #
| Setting | The agent can |
|---|---|
| Book appointments on, Let it move or cancel a booking off | Book, and move the customer's own upcoming booking. It can't cancel. If asked, it says it can't cancel and offers to pass the request on. |
| Let it move or cancel a booking on | Book, move and cancel the customer's own upcoming booking. |
Despite its label, the second switch only controls cancelling: rescheduling is always available while booking is on. Plan for an agent that can move bookings. If you don't want customers moving bookings through the agent, keep Book appointments off and take bookings through your team.
Either way, the agent only finds bookings that match the phone number or email address the channel supplied, so it can't change someone else's booking. If the customer has several upcoming bookings, it reads them back and asks which one.
Confirmations and reminders #
Amomic-AI emails the customer at four moments, only when the booking has an email address:
| Event | Subject line |
|---|---|
| Booked (by an agent or by your team) | Your appointment with {calendar name} is confirmed |
| Moved | Your appointment with {calendar name} has moved |
| Cancelled | Your appointment with {calendar name} is cancelled (includes the reason) |
| Reminder | Reminder: {calendar name}, {date and time} |
The emails are sent from Amomic-AI, name your booking calendar as the business, and carry the date and time in the calendar's zone and the booking reference. They ask the customer to reply to you to change anything.
Reminders go out 24 hours and 2 hours before the start. A reminder whose moment has already passed when the booking is made is skipped, so a visit booked three hours ahead gets only the 2-hour reminder. Reminders are checked every few minutes, so one can arrive a few minutes late. Cancelled and moved bookings get no further reminders; the new booking after a move gets its own.
What you can't change in the console:
- the reminder times;
- turning these emails off;
- sending them by WhatsApp instead of email.
Customers who gave only a phone number, which includes most phone and WhatsApp bookings, get no confirmation or reminder from Amomic-AI. The agent confirms the day and time in the conversation itself. On web chat the agent always collects an email, so web bookings get emails.
A failed email never undoes a booking. The appointment on the Calendar is the record.
While the workspace is suspended for an unpaid plan invoice, none of these emails is sent. A confirmation, move or cancellation email due in that time is not sent later. A due reminder is held instead, and goes out once the invoice is paid, as long as the appointment hasn't started yet. See When a payment fails.
Google Calendar #
Connect a Google calendar from a saved booking calendar's rules page. Bookings then appear in Google, and timed Busy events already in Google block those times for agents and your team. All-day and Free events don't block anything; use Days you're closed for a whole day. Follow Connect Google Calendar for the full walkthrough.
Avoiding double bookings #
Every booking, whether from an agent or your team, is checked against the rules at the moment it is made, not when times were listed. If two customers pick the last place at once, one gets it and the other is offered the next open times.
- Set Can two people book the same time? to match how many people can really serve a time.
- Use Gap after each booking for travel or clean-up, rather than a longer booking length.
- A Google event only blocks time after it has synced; check Last synced on the Google Calendar card if a new event isn't blocking yet.
- No limit removes the capacity check entirely.
Troubleshooting #
Go-live checklist #
- Each booking calendar's time zone and opening hours match the business.
- Booking length, gap and Can two people book the same time? match how many people can serve each visit.
- Holidays are in Days you're closed.
- The calendar's name reads well in "Your appointment with {name} is confirmed".
- An agent test booking appears on the Calendar with the right customer, channel and agent.
- A second attempt at a full time is refused.
- You've decided whether the agent may cancel, and you know it can move bookings either way.
- A test booking with your own email received the confirmation.
- Google Calendar, if used, passed both checks in its guide.
- Someone on the team marks visits complete or no-show each day.