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

# Calendars

> Manage shared company calendars with public holidays, blackout periods, and company events, and control how each event affects leave requests.

Calendars are the shared company calendars that hold your workspace's **events**: public holidays, blackout periods, and company events. Every workspace has one **default calendar**. You can add more and assign them to locations or to individual members, so a London office can follow UK bank holidays while the New York team follows US federal holidays.

Calendars grew out of Holiday Calendars. Everything you set up before keeps working — your existing holidays behave exactly as they always did, and they now sit alongside two new kinds of event you can add.

<img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-calendars-list.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=9da837e70330223831e5e186055721b3" alt="Calendars settings page listing the default Spock Calendar and three additional calendars with event counts, assigned members, and scheduled years" height="300" className="rounded-lg" data-path="images/calendars-v2-calendars-list.png" />

<Note>
  Only users with the **General Manager** role can manage calendars and events. See [Spock User Roles](/spock/team-management/user-administration#spock-user-roles) for what each role can do, and the full list of [Supported Countries](/spock/leave-management/supported-countries) for automatic holiday import.
</Note>

## In this article

* [How Members Get a Calendar](#how-members-get-a-calendar)
* [Event Types and Booking Behavior](#event-types-and-booking-behavior)
* [Managing Calendars](#managing-calendars)
* [Managing Events](#managing-events)
* [Which Calendar Applies to a Member](#which-calendar-applies-to-a-member)
* [How Events Affect Leave Requests](#how-events-affect-leave-requests)
* [Where Events Appear](#where-events-appear)
* [Calendar Subscriptions](#calendar-subscriptions)

You can manage Calendars in **Dashboard** > **Settings** > **Calendars**

Link: [Open Settings in Dashboard](https://spockoffice.com/spockapp/settings/calendars/)

## How Members Get a Calendar

Every member follows exactly one calendar at a time. A calendar can reach them in three ways:

| Route                 | What you do                                                                                    | Where                                                               |
| --------------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| **Direct assignment** | Assign specific members to a calendar                                                          | **Settings** > **Calendars** > open a calendar > **Manage members** |
| **Via location**      | Attach a calendar to an office, so everyone in that office follows it                          | **Settings** > **[Locations](/spock/team-management/locations)**    |
| **Workspace default** | Nothing — the default calendar automatically covers everyone the two routes above do not reach | **Settings** > **Calendars**                                        |

When more than one route could apply, the most specific one wins: a direct assignment overrides the member's location, and a location overrides the workspace default.

<Tip>
  Most workspaces only need locations. Assign a calendar per office and the default calendar catches everyone else — direct assignment is for the exceptions, such as a contractor who follows different holidays from the office they sit in.
</Tip>

## Event Types and Booking Behavior

Every event on a calendar has a **type** and a **booking behavior**. Together they decide how the day looks across Spock and what happens when someone tries to book leave on it.

### Type

The type describes what kind of date this is. It sets the label and the color shown on every calendar in Spock.

| Type               | Meaning                                                                               | Color |
| ------------------ | ------------------------------------------------------------------------------------- | ----- |
| **Public Holiday** | A non-working day when it blocks booking. Leave requests skip it automatically.       | Red   |
| **Blackout**       | A business-critical period when leave is restricted. Blackout days stay working days. | Amber |
| **Company Event**  | A note on the shared calendar — election day, team building, an office move.          | Blue  |

### Booking behavior

The booking behavior decides what happens when someone requests leave that overlaps the event.

| Behavior          | Effect                                                                                                                                  |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Block booking** | Leave requests on this day are rejected. See [How Events Affect Leave Requests](#how-events-affect-leave-requests) for the exact rules. |
| **Show warning**  | Booking is allowed. The person sees a message before submitting.                                                                        |
| **No action**     | The event only appears on calendars.                                                                                                    |

Choosing a type pre-fills the behavior — Public Holidays and Blackouts block, Company Events do nothing — but you can override it on any event.

<Tip>
  Switch a Public Holiday to **Show warning** to turn it into an optional holiday. The day still shows as a holiday, and people can choose to work it or book leave on it.
</Tip>

## Managing Calendars

A calendar is a named list of events. You can have as many as you need, but one is always the **workspace default**.

### How to create a calendar

<Steps>
  <Step title="Go to Settings">
    Navigate to **Settings** > **Calendars**
  </Step>

  <Step title="Click New Calendar">
    Click **+ New calendar** in the top-right corner
  </Step>

  <Step title="Name the calendar">
    Enter the calendar name and submit the form
  </Step>

  <Step title="Complete">
    The calendar appears under **Additional calendars**, ready for events and members
  </Step>
</Steps>

### How to set the default calendar

The default calendar applies to everyone who is not assigned a calendar directly or through their location.

<Steps>
  <Step title="Open the calendar">
    Select the calendar you want to promote
  </Step>

  <Step title="Set as default">
    Click **Set as default** in the top-right corner
  </Step>

  <Step title="Complete">
    The calendar moves to the **Default calendar** section of the list
  </Step>
</Steps>

<Note>
  Promoting a calendar moves the members who were directly assigned to it into the default's fallback bucket — they are covered because they are now "everyone else", not because of a direct assignment.
</Note>

### How to assign members to a calendar

<Steps>
  <Step title="Open the calendar">
    Select the calendar you want to assign members to
  </Step>

  <Step title="Click Manage members">
    Click **Manage members** on the right of the **Applies to** band
  </Step>

  <Step title="Select members">
    Choose the members to assign and save
  </Step>
</Steps>

You can also attach a calendar to a whole office in **Settings** > **[Locations](/spock/team-management/locations)**. Everyone in that location then follows it automatically, without individual assignments.

### Who a calendar applies to

Every calendar page — the default included — shows an **Applies to** band listing exactly who the calendar governs:

<img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-assigned-members-to-calendar.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=eed036c30b8715c8ba563ba597e08e4e" alt="Applies to band on the UK Holidays calendar showing two directly assigned members and two members covered via the London Office location" height="300" className="rounded-lg" data-path="images/calendars-v2-assigned-members-to-calendar.png" />

| Bucket                    | Who it contains                                                |
| ------------------------- | -------------------------------------------------------------- |
| **Directly assigned**     | Members with this calendar set on their profile                |
| **Via location**          | Members whose location uses this calendar, grouped by location |
| **Via workspace default** | Everyone else — shown on the default calendar only             |

The three buckets never overlap. Together they are the complete set of members the calendar applies to.

## Managing Events

Open a calendar to see its events in year tabs, with the date, name, type, and booking behavior of each one.

<img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-calendar-event-list.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=a3436a2fbcdd5f4244d7bef8cc2eba9f" alt="UK Holidays calendar showing the 2026 year tab with seven public holidays, each labeled Public Holiday and Blocks booking" height="300" className="rounded-lg" data-path="images/calendars-v2-calendar-event-list.png" />

### How to add an event

<Steps>
  <Step title="Open the calendar">
    Select the calendar you want to add the event to, and pick the year tab
  </Step>

  <Step title="Click Add event">
    Click **+ Add event**
  </Step>

  <Step title="Fill in the event form">
    <img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-event-form.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=be81256449a581f79daf3d8a79731c2a" alt="Event form with Details section for name, date, and description, and Booking rules section for type, booking behavior, and warning message" height="300" className="rounded-lg" data-path="images/calendars-v2-event-form.png" />

    | Field                | Required              | Description                                                                         |
    | -------------------- | --------------------- | ----------------------------------------------------------------------------------- |
    | **Event name**       | Yes                   | What the day is called. Example: *Release week*.                                    |
    | **Date**             | Yes                   | The day the event falls on.                                                         |
    | **Description**      | No                    | Why the day matters. Shown in event details on the dashboard calendar and in Slack. |
    | **Type**             | Yes                   | Public Holiday, Blackout, or Company Event.                                         |
    | **Booking behavior** | Yes                   | Block booking, Show warning, or No action.                                          |
    | **Warning message**  | Only for Show warning | Shown to anyone whose leave dates overlap this event.                               |
  </Step>

  <Step title="Save">
    Click **Save**. You can reopen any event later to change its date, type, or behavior.
  </Step>
</Steps>

### How to import public holidays

Importing fills a calendar with a country's public holidays for a whole year in one step.

<Steps>
  <Step title="Open the calendar">
    Select the calendar you want to import holidays into
  </Step>

  <Step title="Click Import holidays">
    Click **Import holidays**
  </Step>

  <Step title="Choose the country and year">
    <img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-import-country-public-holidays.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=c197842ef8870d0604ef47d0482a4cb0" alt="Import Holidays form with a Country dropdown set to United Kingdom and a Year dropdown set to 2026" height="300" className="rounded-lg" data-path="images/calendars-v2-import-country-public-holidays.png" />
  </Step>

  <Step title="Import">
    Click **Import Holidays**. The holidays arrive as **Public Holiday** with booking blocked, and you can edit any of them afterwards.
  </Step>
</Steps>

<Note>
  Running an import again for the same country and year never creates duplicates, so it is safe to re-import if you are not sure whether a year was already filled in.
</Note>

### How to delete events

To clear a whole year, open the calendar, select the year tab, and click **Delete all {year} events**. Repeat for each year you want to empty. To remove a single event, open it and click **Delete event**.

<Warning>
  All changes are **instantly propagated** in Spock and affect requesting leave and displaying calendars.
</Warning>

## Which Calendar Applies to a Member

Spock resolves one active calendar per member, following the priority in [How Members Get a Calendar](#how-members-get-a-calendar): a direct assignment first, then the member's location, then the workspace default.

To see the result for someone, go to **Members** > select the member > **Holidays and Events**. The tab names the active calendar with a badge showing where it came from, and lists every event that applies to that member for the year.

<img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-member-holidays.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=b2ab2ae82d955323515d5ec71b3fa7d1" alt="Member profile Holidays and Events tab showing UK Holidays as the active calendar via the London Office location, with upcoming and earlier events for 2026" height="300" className="rounded-lg" data-path="images/calendars-v2-member-holidays.png" />

To move a member onto a different calendar, click **Change Calendar** and pick one from the dropdown.

### Members who work public holidays

The per-member setting **Automatically skip public holidays in leave requests** decides whether that person observes public holidays at all. Turning it off exempts them: they can book leave on public holidays, and those days count normally against their allowance.

<Note>
  This setting only covers public holidays. Blackouts and warnings always apply to everyone, however it is set.
</Note>

## How Events Affect Leave Requests

### Blocking events

Blackouts and Company Events set to **Block booking** enforce identically — the type only changes the label people see. Three rules apply:

1. A **single-day request on a blocked day** is rejected, with a message naming the event and showing its description.
2. A request that **starts or ends on a blocked day** is rejected. Spock never silently moves the dates someone asked for.
3. A blocked day **strictly inside a longer request** is skipped, exactly like a public holiday: it produces no leave day, is not counted in the duration, and is not charged to the allowance.

For example, with a blackout called *Release week* on May 12:

| Request   | Result                                 |
| --------- | -------------------------------------- |
| May 12    | Rejected                               |
| May 12–14 | Rejected — blocked start date          |
| May 11–12 | Rejected — blocked end date            |
| May 11–14 | Accepted as 3 days: May 11, 13, and 14 |

<Note>
  Blocking **Public Holidays** are not affected by these rules. They keep their original behavior: skipped inside longer requests, and a request cannot start or end on one.
</Note>

### Warnings

Dates that overlap a **Show warning** event show a **Check before you submit** panel, both on the web form and in the Slack request modal. Each line names the event type and the event, followed by the warning message and the event description. Submitting is still allowed.

<img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-request-leave-blackout-waring.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=96577ad38ca725aee34f3230a3b3faf9" alt="Request Leave form with a Check before you submit panel warning that the selected date falls on the Release week blackout day" height="300" className="rounded-lg" data-path="images/calendars-v2-request-leave-blackout-waring.png" />

Warnings are never hidden by errors. If a day carries both a blocking event and a warning event, the rejection message and the warning both appear, so the day reads as closed *and* busy.

### In the date picker

The web date picker labels blackout and blocked-event days in amber, so people see restricted days before they submit a request. See [Requesting Leave](/spock/leave-management/requesting-leave) for the full request flow.

## Where Events Appear

<AccordionGroup>
  <Accordion title="Company Calendar">
    The monthly **Calendar** page shows events as colored chips — red holidays, amber blackouts, blue company events. Hovering a chip opens a card with the event's type, name, description, source calendar, and, for non-default calendars, a preview of the members it applies to.
  </Accordion>

  <Accordion title="Wallchart">
    Day headers mark holidays with 🎉 and other events with colored dots. A single holiday or an event dot opens the same detailed hover card. Days with several holidays show a compact list instead.
  </Accordion>

  <Accordion title="Member yearly calendar">
    On a member's **Calendar** tab, every calendar event renders as a small chip, the same size as leave entries but visually distinct from them:

    * 🎉 public holiday, on a red-tinted day cell
    * ⚫️ blackout, as a soft amber chip
    * 📅 company event, as a soft blue chip

    Hovering a chip shows the event's details. Hovering a leave entry shows the person's leave card instead, with type, dates, duration, notes, substitute, location, and teams.
  </Accordion>

  <Accordion title="Dashboard, Slack, and reports">
    * **Dashboard** — today's events appear on the today card, grouped and labeled by type.
    * **Slack Home Tab** — the **Company Calendar** button opens the calendar modal, grouped by type.
    * **Daily and weekly reports** — public holidays render exactly as before. Blackouts and company events appear under their own labels when present.
  </Accordion>
</AccordionGroup>

## Calendar Subscriptions

Two checkboxes in **Settings** > **Integrations** > **External Calendar Integration** control which events reach subscribed calendars:

<img src="https://mintcdn.com/ideoworks/PcXbYOiT3cqybBLW/images/calendars-v2-ical-integration-allow-to-export.png?fit=max&auto=format&n=PcXbYOiT3cqybBLW&q=85&s=a30af3bf18a191e6596bc514357921b6" alt="External Calendar Integration settings with checkboxes for showing approved leave requests, public holidays, and blackouts and company events" height="300" className="rounded-lg" data-path="images/calendars-v2-ical-integration-allow-to-export.png" />

| Checkbox                              | Effect                                                                                                 |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Show public holidays**              | Includes public holidays in the feed. Unchanged from before.                                           |
| **Show blackouts and company events** | Off by default. When on, blackouts appear as `Blackout: {name}` and company events as `Event: {name}`. |

These events then show up in Google Calendar, Apple Calendar, and Outlook alongside leave. See [Calendar Integration Setup](/spock/integrations/calendar-integration) for how to subscribe.
