# Recommended Calendar Source Plan

This plan translates the current calendar inventory into source settings. Do not place private feed URLs in this file. Enter rotated URLs only through the application.

## Main Personal and Family

The personal and family links previously supplied were the same exact feed. Add one source initially:

- Name: `Main Personal and Family`
- Category: `Personal`
- Identity email: use the email address represented by the feed and invitations
- Include in agenda: Yes
- Include in conflicts and mirrors: Yes
- Warn about missing event details: Yes
- Display privacy: Full event details
- All-day events: Ignore for conflicts
- Tentative events: Block time
- Awaiting-response invitations: Warn on overlap but do not mirror
- Virtual buffers: 15 minutes before and after
- In-person buffers: 30 minutes before and after
- Different-location travel: 30 minutes
- Refresh interval: 5 minutes

When a distinct shared-family feed is available, add it as `Family Shared`, category `Family`. The duplicate-feed check will prevent accidental copies of the same feed.

## Clarkson Work

- Name: `Clarkson Work`
- Category: `Work`
- Identity email: `swilhelm@clarkson.edu`
- Include in agenda: Yes
- Include in conflicts and mirrors: Yes
- Warn about missing event details: Yes
- Display privacy: Full event details on this private VPS, or Busy plus category if privacy needs change
- All-day events: Ignore for conflicts
- Tentative events: Block time
- Awaiting-response invitations: Warn on overlap but do not mirror
- Virtual buffers: 15 minutes before and after
- In-person buffers: 30 minutes before and after
- Different-location travel: 30 minutes
- Refresh interval: 5 minutes

The VPS can ingest Clarkson through its ICS feed. Writing Busy events back into Clarkson requires the account-local Apps Script bridge. If Clarkson blocks Apps Script or the Advanced Calendar service, leave the Clarkson mirror target unconfigured. Work events will still be visible to the conflict engine and can still create Busy copies on personal and Excelsior calendars.

## RQP Officiating

- Name: `RQP Officiating Assignments`
- Category: `Officiating`
- Identity email: leave blank unless the feed contains attendee records tied to a known account
- Include in agenda: Yes
- Include in conflicts and mirrors: Yes
- Warn about missing event details: Yes
- Display privacy: Full event details
- All-day events: Ignore unless the provider uses all-day assignments
- Tentative events: Block time
- Awaiting-response invitations: Block only if the feed accurately represents assignment acceptance; otherwise use Warn
- Virtual buffers: 15 minutes
- In-person buffers: 45 minutes is reasonable for setup and changing
- Different-location travel: Start at 60 minutes if assignments routinely span different schools
- Refresh interval: 5 minutes

## Arbiter Officiating

- Name: `Arbiter Officiating Assignments`
- Category: `Officiating`
- Identity email: leave blank unless attendee status is present
- Include in agenda: Yes
- Include in conflicts and mirrors: Yes
- Warn about missing event details: Yes
- Display privacy: Full event details
- All-day events: Ignore unless needed by the provider
- Tentative events: Block time
- Awaiting-response invitations: Block if unaccepted assignments should reserve the slot; otherwise Warn
- Virtual buffers: 15 minutes
- In-person buffers: 45 minutes
- Different-location travel: Start at 60 minutes
- Refresh interval: 5 minutes

## Excelsior

Add each real Excelsior calendar or consolidated Excelsior feed as its own source, unless multiple calendars are intentionally combined by the provider.

Recommended defaults:

- Category: `Excelsior`
- Include in agenda: Yes
- Include in conflicts and mirrors: Yes
- Warn about missing event details: Yes for meetings; optional for informational event calendars
- All-day events: Ignore for informational events; Block for travel or tournament-duty calendars
- Tentative events: Block time
- Awaiting-response invitations: Warn
- Virtual buffers: 15 minutes
- In-person buffers: 30 minutes
- Different-location travel: 45 minutes
- Refresh interval: 5 minutes

## Informational calendars

Holidays, birthdays, public tournament schedules, and calendars you merely watch should normally use:

- Include in agenda: Optional
- Include in conflicts and mirrors: No
- Warn about missing event details: No
- All-day events: Ignore

This prevents false conflicts and unnecessary Busy blocks.

## Categories

Use a small, stable category set so mirror titles and digests remain consistent:

- Personal
- Family
- Work
- Excelsior
- Officiating
- Volleyball
- Travel
- Other

A source category can be changed later without replacing its feed URL.
