> For the complete documentation index, see [llms.txt](https://docs.podplay.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.podplay.app/marketing/marketing-integrations/use-booking-records-in-activecampaign.md).

# Use Booking Records in ActiveCampaign

Once the Club has connected the PodPlay app in ActiveCampaign, every Reservation and Event signup is stored as a **Booking** on the Customer's ActiveCampaign contact. Use Bookings when you want campaigns about a specific session, not just "this person has ever purchased something."

This is the right tool when you want to email people who booked Friday Open Play, who cancelled themselves, or who already checked in.

{% hint style="warning" %}
Bookings require the **PodPlay app in ActiveCampaign App Studio**. They do not arrive with the Segment sync on its own. See [Connect the PodPlay App in ActiveCampaign](/marketing/marketing-integrations/connect-the-podplay-app-in-activecampaign.md) to switch them on. A Club that has only the Segment sync still receives contacts and orders, but no Bookings.
{% endhint %}

## What a Booking is

A Booking is one Reservation or Event signup for one Customer. If two people sign up for the same Event, each contact gets their own Booking.

ActiveCampaign attaches Bookings to the contact. You will see them on the contact record, and you can use them in segments and automations.

Bookings are separate from the purchase (order) that ActiveCampaign already receives. The order is the payment. The Booking is the session itself, including whether it is still on the calendar.

### Fields you can use

| Field         | What it means                                                      | Typical use                                                                      |
| ------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
| Event Name    | Title of the Event or Reservation                                  | Target a named class, mixer, or clinic                                           |
| Type          | Kind of session, such as Open Play, Clinic, or Coaching            | Target a program category when names vary                                        |
| Start Time    | When the session starts                                            | Reminders before play, or "played last weekend"                                  |
| End Time      | When the session ends                                              | Follow-ups after play                                                            |
| Check-in Time | When the Customer checked in. Empty until they check in            | Post-visit surveys only after they actually arrived                              |
| Status        | booked or cancelled                                                | Keep active players vs cancelled players in different journeys                   |
| Cancelled By  | user (the Customer) or admin (staff). Empty while Status is booked | Win-back only when the Customer cancelled. Skip when staff cancelled the session |

**PLEASE NOTE:** Court Reservations sometimes have no Event Name. Filter on Type in those cases — a plain court booking reports Type as **Private**.

### When PodPlay updates a Booking

PodPlay creates or updates the same Booking as the Customer moves through the session:

* The Customer completes a Reservation or Event signup
  * Status is **booked**
  * Event Name, Type, Start Time, and End Time are filled in
* The Customer checks in
  * Check-in Time is set
  * Status stays **booked**
* The Customer or staff cancels
  * When Start Time and End Time are available on the Booking, Status becomes **cancelled**
  * Cancelled By is **user** if the Customer cancelled, or **admin** if staff cancelled

The same Booking is reused. You do not get a second record when they check in or cancel.

### Example campaigns

These are starting points. Adjust names and times to match your Club.

#### Remind people who are still booked

* Status is **booked**
* Start Time is in the next 24 hours
* Event Name or Type matches the program you want to promote

Use this for a "see you tomorrow" reminder. People who already cancelled drop out because Status is no longer booked.

#### Win back a Customer who cancelled

* Status is **cancelled**
* Cancelled By is **user**
* Type or Event Name matches the program

Send a "want to rebook?" message. Do not use this when Cancelled By is **admin**. Staff cancelled that session for them, so a win-back email feels wrong.

#### Ask for feedback after they play

* Check-in Time is not empty
* Status is **booked**
* End Time has passed

Check-in Time is the signal they showed up. Status alone is not enough, because a booked session can still be a no-show.

### Tips

* Build segments on Booking fields, not only tags. Tags say "this person booked somewhere." Bookings say which session and whether it is still on.
* Status values are exactly **booked** and **cancelled**. Cancelled By values are exactly **user** and **admin**. Match those spellings in automations.
* Older Bookings created before this data went live may be missing Status, Event Name, or Cancelled By until the Customer books, checks in, or cancels again.
* Membership purchases do not create a Booking. Only Reservations and Event signups do.
* A Court Reservation with no program attached reports its Type as **Private**. That is the Type to filter on for plain court time.

{% hint style="info" %}
PodPlay and PingPod are not affiliated with ActiveCampaign. Clubs purchase ActiveCampaign separately. If Bookings are not appearing on contacts after a Reservation or Event signup, first check that the PodPlay app is still connected in App Studio, then contact your PodPlay CSM.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.podplay.app/marketing/marketing-integrations/use-booking-records-in-activecampaign.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
