> Source: https://docs.virtuo.in/vio/telephony/appointments > Set booking hours per agent so Vio can check real availability during a call, confirm the date out loud, and email the caller a calendar invite. # Appointments **Your agent can check what is genuinely free and book a real appointment while the caller is still on the phone.** It offers only slots that exist, reads the date back so the caller can catch a mistake, and emails them a calendar invite before hanging up. **An agent with no booking hours declines every request.** Absent availability means "not bookable" — deliberately, because an agent that books into hours you never agreed to is worse than one that says it cannot. **Booking hours are the on-switch**, not a refinement. ## Set it up ### Set booking hours **Appointments → Booking hours.** Pick the agent, enable the days it can take bookings, and set the window for each one. ### Tune the shape of a day | Setting | What it does | |---|---| | **Slot length** | How long one appointment runs. 5 minutes to 8 hours. | | **Buffer** | Dead time held either side of a booking, so back-to-back appointments do not collide. | | **Max per day** | A ceiling on how many bookings that agent will take in a day, whatever the hours allow. | | **Blackout dates** | Specific dates to refuse entirely — holidays, a shutdown week. Enter them as `2026-10-02, 2026-11-01`. | ### Give the agent the tools On the agent's [**Tools**](/vio/agents/tools) tab, attach both: - **Check availability** — finds times that are actually free, so the agent offers real options instead of guessing. - **Book appointment** — books one. Attach both. An agent with only the booking tool will try to book without first knowing what is free. ### Test it Ring the agent and ask for a meeting. Confirm the appointment appears in the **Appointments** grid, and that the invite lands in the caller's inbox. ## What the caller experiences The agent offers **at most four times** in one breath — a caller cannot hold a longer list in their head — and confirms the chosen one by its **full, absolute date** ("Thursday the 27th of August, at 4:30 in the afternoon") rather than "tomorrow". Reading the real date back is what lets a caller catch a misunderstanding while they can still fix it. Times are handled in **IST**. The caller says a wall-clock time and Vio resolves it server-side; the agent is not left doing date arithmetic in its head, which is precisely where a voice agent silently gets a day boundary wrong. After booking, the caller is emailed a **calendar invite** (`.ics`) they can add to any calendar app. ## Double bookings Two callers asking for 4:00 at the same moment cannot both get it. Overlap is rejected at the database level, so the second one is told the slot has gone and offered the next real opening. Bookings also respect the **buffer** and the **max per day** you set, and never run beyond a **90-day** horizon — an agent will not book a caller into next year. ## Google Calendar (optional) You can connect a Google Calendar so Vio also **reads your free/busy** — meaning your agent will not book over something already in your calendar — and **mirrors each booking** as an event. **Vio is the system of record, not Google.** The appointment lives in Vio; the Google event is a mirror. Booking always goes through the agent's tools, because that is the only path that enforces your booking hours, the buffer, the daily cap and non-overlap. Creating an event directly in Google does not create a Vio appointment. The caller receives Vio's own `.ics` invite rather than a Google guest invitation. Check the **Integrations** page in your dashboard for whether the Google Calendar connector is available on your workspace — if it shows as *coming soon*, appointments still work fully; you simply do not get the free/busy check and the mirrored event. ## Frequently asked **Q. Why does my agent say it can't book anything?** Almost always no booking hours. Open **Appointments → Booking hours**, pick that agent, and enable at least one day. Also confirm both tools are attached on the agent's Tools tab. **Q. Can different agents have different hours?** Yes. Booking hours are set per agent, so a sales line and a service line can keep separate calendars. **Q. What timezone are appointments in?** IST. The agent resolves what the caller says against the current IST date and confirms the absolute date out loud. **Q. Can I block out a holiday?** Yes — add it to **Blackout dates**. The agent refuses that date entirely, whatever the weekly hours say. **Q. Where do I see what has been booked?** The **Appointments** view shows the grid of bookings per agent. ## Next Attach the tools on the [**Tools**](/vio/agents/tools) tab, or let the agent ring people back instead with [**Callbacks**](/vio/telephony/callbacks).