> For the complete documentation index, see [llms.txt](https://kb.craftformswp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.craftformswp.com/documentation/ecommerce/catalog/shared-calendars.md).

# Shared Calendars

When one person, room or vehicle runs several of your bookable items, put those items on a **shared calendar**. A booking of one item then closes the same day or time for the others. One guide who leads three different walks can only be in one place at a time, so once someone books the Cliff Path Walk for Thursday, the Harbour Heritage Walk and the Lighthouse Trail can't be booked for Thursday any more.

![The shared calendar window: name, how many at the same time, what counts as one, and the items on it](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2FGDcSB95GbiBrGigloIXQ%2Fshared-calendars--shared-calendar-window.jpg?alt=media)

### What you need

* **CraftForms PRO**, version 2.3 or later.
* Two or more booking items in **CraftForms → Catalog** that the same person, room or vehicle runs. Product items can't join a shared calendar.

### How it works

A shared calendar is a catalog entry of its own, with a name like "Anna — guide". It is never booked or shown to visitors: it has no price, no form and no booking type. It only keeps count.

Each booking item you put on it still has its own calendar, opening hours and places. On top of that, the shared calendar checks one rule before a booking goes through:

> At no moment may more bookings (or items, see below) overlap than the calendar allows **At the same time**.

* Items booked for a whole day (single dates, date ranges) take the whole day on the shared calendar.
* Items booked by time take only their time, plus the item's buffers. A 10:00 tour and a 14:00 tour on the same day don't clash; a 10:00–11:00 and a 10:30–11:30 do.

What visitors see: a day or time that the shared calendar has no room for is simply not available. It's greyed out in the date picker, it isn't listed in a [Catalog Listing](/documentation/ecommerce/catalog/catalog-listing.md) or a [Catalog Search](/documentation/ecommerce/catalog/catalog-search.md), and the form refuses it if someone tries anyway. Visitors never see which other item took it.

### Set up a shared calendar

1. Go to **CraftForms → Catalog** and click **New shared calendar**.
2. Give it a **Name**, like "Anna — guide" or "Treatment chair". Only you see it.
3. Set **At the same time**: `1` for one at a time, `2` for a guide with an assistant or two chairs.
4. Choose **What counts as one** (see the next section).
5. Click **Save**.
6. Open each item that belongs on it (click its name in **Catalog**), open the **Shared calendar** section, pick the calendar under **Availability**, and click **Save**.

![The Shared calendar section of a booking item, with "Anna — guide" picked](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2FEbayL0OQVOUoGrPuf7Pi%2Fshared-calendars--item-shared-calendar.jpg?alt=media)

The item's upcoming bookings are put on the calendar straight away when you save it. To take an item off, pick **Its own calendar** again.

You can also pick the calendar from a post's [Catalog item panel](/documentation/ecommerce/catalog/catalog-item-panel.md): it has the same **Shared calendar** setting.

In **Catalog**, a shared calendar shows the type **Shared calendar** and how many items are on it. Click its name to open it again: **On this calendar** lists its items, with a link to each.

![A shared calendar in the Catalog list: "Shared by 3 items"](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2Fyzb5pPMRnCVuHbdtLHCk%2Fshared-calendars--catalog-list.jpg?alt=media)

### What counts as one

| Setting               | What it counts                                                                                                      | Use it for                                                                                                                                     |
| --------------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| **An item** (default) | Each item booked on that day or at that time. More bookings of the **same** item join it while the item has places. | A guide who leads one tour a day: three families can book the same Cliff Path Walk, but once it's booked, the other walks are closed that day. |
| **A booking**         | Each booking, whatever was booked.                                                                                  | Private tours, one chair, one vehicle: once anything is booked, nothing else fits, not even a second booking of the same item.                 |

With items that take only one booking each (**Occupancy Model** set to **Exclusive**), both settings work the same.

Examples with three walks on one calendar, each with 8 places, and a Cliff Path Walk booked for 12 November:

| At the same time | What counts as one | What's left on 12 November                                                                                            |
| ---------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------- |
| 1                | An item            | Cliff Path Walk (5 places left). The other two walks are closed.                                                      |
| 2                | An item            | All three walks. After a Harbour Heritage Walk booking too, only those two stay open; the Lighthouse Trail is closed. |
| 1                | A booking          | Nothing: the day is full, even for another Cliff Path Walk booking.                                                   |

![The date picker for the Harbour Heritage Walk: 12 November is greyed out because the guide is on the Cliff Path Walk that day](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2F5SPnYXhqsTBMU9A0YCWr%2Fshared-calendars--date-picker-busy-day.jpg?alt=media)

![A Catalog Listing of the three walks: on 12 November only the Cliff Path Walk is listed](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2FRKsG6EXrZGVoKoN5YRnW%2Fshared-calendars--listing-busy-day.jpg?alt=media)

In the listing's calendar view, the day shows how many free dates and times are left across the items: "1 free" instead of "3 free".

![The listing's calendar view: 12 November shows 1 free](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2FKuxfLSwIqrVrkcUvLACG%2Fshared-calendars--listing-calendar.jpg?alt=media)

Not the same as **Occupancy Model → Shared** on an item: that lets several bookings share one item's places (a boat with 8 seats). A shared calendar links several items together.

### Days off and calendar sync

The shared calendar has its own **Closed days** and **Calendar sync**:

* **Closed days**: the person's days off or holidays. Nothing on the calendar can be booked on them.
* **Calendar sync**: connect the guide's own Google Calendar (or any iCal link). Busy time there is busy for every item on the calendar. See [Calendar Sync](/documentation/ecommerce/catalog/calendar-sync.md) for how to add a calendar link.

Each item keeps its own closed days and calendar sync too. Both apply.

### From the work pages

On the **Appointments** and **Rentals** work pages (the names can be changed in Settings), **Setup** has a **Who runs these?** card. Tick **One person runs all of these** to put **every** item of that page on one shared calendar, and set **At the same time** below it. The calendar is created for you (named after the page) and counts items. Untick it to give the items their own calendars again; the shared calendar itself stays in **Catalog**.

![The "Who runs these?" card on the Appointments page's Setup](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2FaJF9PBqBRJOpFhYYjaul%2Fshared-calendars--who-runs-these.jpg?alt=media)

The switch takes all the items of the page. If only some of them share a person (the tours, but not the spa treatments), set up the calendar in **Catalog** as above instead. The card then shows how many of the page's items are on it, with a link to the calendar's **Days off and calendar sync**.

The week view shows **Busy** on a day or time that another item on the calendar has taken, with the name of that item, so you know why it's not free.

![The week view of the Harbour Heritage Walk: 12 November shows Busy, Cliff Path Walk](https://97821998-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM2yV1foUgoGHBC66VBDw%2Fuploads%2FdfLsEmi0jB78HGkfjUde%2Fshared-calendars--schedule-busy.jpg?alt=media)

### Good to know

* **Bookings you add yourself** (on the work pages or as a manual booking) are checked against the shared calendar too, and go on it.
* **Existing bookings are kept.** When an item joins a calendar, its upcoming bookings go on the calendar even if that puts it over the limit. Nothing already booked is cancelled; the calendar just has no room left on those days.
* **Cancelled, refunded or deleted bookings** free the calendar at once. A booking you move to another day moves on the calendar too.
* **Unpaid bookings count.** A booking holds its place from the moment it's made, as on the item itself.
* **Two visitors at the same moment**: the check runs again when the booking is saved, one booking at a time per calendar, so the second one is refused with "no longer available" instead of double-booking the guide.
* **Bookings from calendar sync** on one of the items (from Airbnb, Google Calendar…) count on the shared calendar too: a day taken there is one place taken, the same as a booking made here. With a limit of 1, a booking that comes in from the Harbour walk's Airbnb calendar closes the other walks that day.
* **Export and import**: shared calendars are exported with the catalog. On another site, open each item after importing and pick its shared calendar again.
* Archiving or deleting a shared calendar frees every item on it: they go back to their own calendars' rules.
