> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voxo.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduling

> Connect a Google or Outlook calendar, define appointment types, and manage patient bookings for your pharmacy location.

The Scheduling page at [https://pharmacy.voxo.co/scheduling](https://pharmacy.voxo.co/scheduling) lets you take appointments — vaccine clinics, consultations, or any other patient visit — against your staff's real calendars. Define the appointment types patients can book, and VOXO writes each booking to the assigned staff member's Google or Outlook calendar and keeps availability in sync with their existing events.

The page has three sections: **Connected calendars**, **Event types**, and **Bookings**.

<Info>
  Scheduling requires the Appointment Scheduling add-on on your location's subscription. If the add-on isn't on your plan, the Scheduling item doesn't appear in the sidebar. See [Billing](/pharmacy/billing) to check or change your add-ons.
</Info>

<Note>
  Event types and bookings are scoped to the location selected in the location picker. Switch locations to manage a different store. Connected calendars are per user, not per location — connect once and the calendar is available across every location you manage.
</Note>

## Connecting a calendar

Before you can create an event type, connect the calendar that holds the staff member's schedule.

<Steps>
  <Step title="Open the Scheduling page">
    Select **Scheduling** in the sidebar.
  </Step>

  <Step title="Choose a provider">
    In the **Connected calendars** card, select **Google Calendar** or **Outlook**.
  </Step>

  <Step title="Sign in and grant access">
    Sign in to the provider and approve calendar access. When you return, the connection appears with a green **Connected** badge and the account's email address.
  </Step>
</Steps>

VOXO reads the connected calendar to find open time and writes bookings back to it, so appointments never double-book against meetings already on the calendar.

### Reconnecting an expired calendar

If the connection stops working — the password changed, or access was revoked at Google or Microsoft — the connection shows a yellow **Expired** badge. Select **Reconnect** and sign in again. While a connection is expired, that staff member's availability can't be read and new bookings won't reach their calendar.

Select **Disconnect** to remove a connection. Existing bookings already written to the calendar are not removed.

## Creating event types

An event type is something a patient can book at this location — for example, a 15-minute flu shot. Each event type controls how long the appointment is, which staff calendars are eligible, and when patients can be booked.

<Steps>
  <Step title="Select New event type">
    In the **Event types** card, select **New event type**.
  </Step>

  <Step title="Name the appointment">
    Enter a name patients and staff will recognize, such as `Vaccine Scheduling`.
  </Step>

  <Step title="Set the duration">
    Choose 10, 15, 20, 30, 45, or 60 minutes.
  </Step>

  <Step title="Choose how bookings are assigned">
    Select **Round-robin · availability** to favor whoever has the most open time, or **Round-robin · fairness** to spread bookings evenly across participants.
  </Step>

  <Step title="Select participants">
    Pick the connected staff calendars eligible for this appointment type. Each booking is assigned to one participant and written to that person's own calendar.
  </Step>

  <Step title="Set appointment hours">
    Enable the days you take appointments and set a start and end time for each. Hours are interpreted in the location's timezone.
  </Step>

  <Step title="Save">
    Select **Create**.
  </Step>
</Steps>

<Tip>
  Leave every day switched off to fall back to each participant's own working hours from their calendar provider. Set appointment hours when your vaccine window is narrower than the staff member's working day.
</Tip>

<Note>
  If no staff calendars are connected, the event type still works — bookings go to the location's own calendar, and the event type is flagged **No staff · using location calendar** in the list. Connect a staff calendar to assign bookings to a specific person.
</Note>

To change an event type, select the pencil icon on its row. To remove one, select the trash icon.

## Managing bookings

The **Bookings** card lists appointments at the selected location, with two views:

* **Calendar** — bookings laid out by day and time.
* **List** — a table of bookings with a date range filter.

Each booking shows the patient's name and phone number, when the appointment is, who it's assigned to, the event type, and its status. When a vaccine is recorded on the appointment, it appears next to the patient's name in both views, so a vaccine clinic day reads at a glance.

### Booking an appointment for a patient

Select **New booking** from either view, choose the event type, enter the patient's name and phone number, optionally record which vaccine the appointment is for, then pick an open slot and select **Book appointment**.

### Rescheduling or canceling

Select a booking to open it. The dialog shows the current details and a slot picker:

* Pick a new time and select **Reschedule** to move the appointment.
* Select **Cancel booking** to cancel it.

<Note>
  Booking, rescheduling, and canceling each send a confirmation email to the staff member the appointment is assigned to. Patients are not emailed — they're confirmed on the call.
</Note>

## Booking from an agent call

The pharmacy agent can book these appointments itself on a **Vaccine Scheduling** call campaign. The agent offers the vaccines configured on the campaign, reads back open times from the event type you select on the campaign, and books the slot the patient picks — the booking then appears here like any other. See [Call campaigns](/pharmacy/outbound-campaigns#vaccine-scheduling-campaigns).

<Note>
  Only outbound campaign calls can book. A patient who calls in and asks to schedule an appointment is still handed off to pharmacy staff.
</Note>
