# Data Overview

Acuity Scheduling exposes seven entities through Coupler.io, covering everything from individual appointment records to the structural setup of your scheduling system.

## Entities summary

| Entity            | Best used for                                      |
| ----------------- | -------------------------------------------------- |
| Appointments      | Booking volume, status tracking, revenue reporting |
| Calendars         | Calendar utilization and availability analysis     |
| Clients           | Client list, contact details, retention analysis   |
| Appointment types | Service catalog, duration and pricing overview     |
| Blocks            | Identifying unavailable time patterns              |
| Labels            | Segmenting and categorizing bookings               |
| Forms             | Intake responses and client-provided information   |

## Appointments

#### Key fields

| Field                    | Description                                         |
| ------------------------ | --------------------------------------------------- |
| `id`                     | Unique appointment identifier                       |
| `datetime`               | Start date and time of the appointment              |
| `endTime`                | End date and time                                   |
| `duration`               | Length of the appointment in minutes                |
| `type`                   | Name of the appointment type                        |
| `calendar`               | Calendar the appointment is assigned to             |
| `status`                 | Booking status (e.g., scheduled, canceled, no-show) |
| `price`                  | Price charged for the appointment                   |
| `paid`                   | Payment status                                      |
| `firstName` / `lastName` | Client name                                         |
| `email`                  | Client email address                                |
| `phone`                  | Client phone number                                 |
| `notes`                  | Internal notes on the appointment                   |
| `confirmationPage`       | URL of the booking confirmation page                |

## Clients

#### Key fields

| Field                    | Description                          |
| ------------------------ | ------------------------------------ |
| `id`                     | Unique client identifier             |
| `firstName` / `lastName` | Client name                          |
| `email`                  | Email address                        |
| `phone`                  | Phone number                         |
| `notes`                  | Notes attached to the client profile |

## Appointment types

#### Key fields

| Field         | Description                             |
| ------------- | --------------------------------------- |
| `id`          | Unique appointment type identifier      |
| `name`        | Service or appointment type name        |
| `duration`    | Duration in minutes                     |
| `price`       | Price for this type                     |
| `category`    | Category grouping for the type          |
| `calendarIDs` | Calendars where this type is available  |
| `active`      | Whether this type is currently bookable |

## Calendars

#### Key fields

| Field      | Description                           |
| ---------- | ------------------------------------- |
| `id`       | Unique calendar identifier            |
| `name`     | Calendar display name                 |
| `email`    | Email associated with the calendar    |
| `timezone` | Timezone setting for the calendar     |
| `location` | Location associated with the calendar |

## Forms

#### Key fields

| Field    | Description                                 |
| -------- | ------------------------------------------- |
| `id`     | Unique form identifier                      |
| `name`   | Form name                                   |
| `fields` | List of form fields and their configuration |

## Common field combinations

* **Booking volume report** — `datetime`, `type`, `calendar`, `status` from Appointments
* **Revenue tracking** — `datetime`, `type`, `price`, `paid` from Appointments
* **Client retention** — Join Clients with Appointments on email to see repeat booking patterns
* **Service performance** — Join Appointment types with Appointments on `type` to compare revenue and volume per service

## Use cases by role

{% tabs %}
{% tab title="Business owners" %}

* Track total bookings and revenue by appointment type and calendar across any date range
* Identify peak booking periods and slow seasons to adjust availability or promotions
* Use the **Aggregate** transformation to roll up daily appointments into weekly or monthly summaries
  {% endtab %}

{% tab title="Operations" %}

* Monitor calendar utilization and block patterns to optimize staff scheduling
* Export client lists and appointment history for CRM enrichment or email campaigns
* Use the **Append** transformation to combine data from multiple Acuity accounts into one report
  {% endtab %}

{% tab title="Marketing" %}

* Analyze which appointment types drive the most bookings to inform service promotion
* Join form responses with appointment records to understand what clients say at intake
* Send appointment trends to ChatGPT or Claude for narrative summaries and recommendations
  {% endtab %}
  {% endtabs %}

## Platform-specific notes

* The `start_date` parameter filters **Appointments** by booking date — other entities like Calendars, Clients, and Appointment types return all records regardless of start date
* Canceled and no-show appointments are included in the Appointments entity — filter by `status` in your destination to exclude them if needed
* Form response data is structured as nested fields — some destinations may require flattening before analysis
* Acuity's API does not support real-time webhooks through Coupler.io — data reflects the state at the time of the last sync
* If you manage multiple businesses, each Acuity account requires its own data flow with its own API credentials
