---
title: Rooms & Calendar Events
slug: redshift/rooms-and-calendar-events
icon: {"lucideIcon":"DoorOpen"}
docTags: 
createdAt: 2026-10-01T12:35:24.388Z
---

Not previously documented. Covers physical room booking and non-appointment calendar entries.

### `rooms` — clinic rooms

- `clinic_id` → `clinics.id`, `name`
- Referenced by `appointment.room_id` and `custom_events.room_id`

### `custom_events` — non-appointment calendar entries

Free-standing calendar blocks not tied to a booked appointment (e.g. a vet blocking personal time, or a task on the SOAP timeline via `soap_id`).

- `clinic_id`, `vet_id`, `user_id`, `pet_id`, `room_id` — all optional depending on event type
- `soap_id` → `new_file_cases.id` — links an event to a specific SOAP record's timeline
- `datetime_start`, `datetime_end` (plus `_utc` variants)
- `status`, `lifecycle_status`
- `recurrence`, `recurrence_parent_id`, `frequency` — recurring-event support, same pattern as `appointment`
- `template_id`, `template_task_id` — links back to a task template if the event was generated from one

### `diary_categories` — categorization for calendar entries

- `name`, `translation_slug`, `status`, `order`
- Reference table — not client-prefixed
