# `guest_timelines`

**Module:** Guest

---

## Purpose

Append-only audit log for each guest's interaction history. Every significant event (invitation sent, opened, RSVP, checked in) creates an entry.

---

## Columns (Summary)

| Column | Notes |
|--------|-------|
| `id BIGINT UNSIGNED AUTO_INCREMENT PK` | — |
| `guest_id BIGINT UNSIGNED NOT NULL FK→guests` | — |
| `workspace_id BIGINT UNSIGNED NOT NULL (denormalized)` | — |
| `event_type VARCHAR(30) NOT NULL` | — |
| `event_detail JSON NULL` | — |
| `actor_type VARCHAR(20) NOT NULL (system|couple|guest|crew)` | — |
| `actor_id BIGINT UNSIGNED NULL (soft-ref)` | — |
| `actor_name VARCHAR(100) NULL (snapshot)` | — |
| `occurred_at DATETIME DEFAULT CURRENT_TIMESTAMP IMMUTABLE` | — |

---

## Referenced By

None

---

## Notes

See `docs/database/RELATIONSHIP.md` for full entity relationships and `database/schema.sql` for authoritative DDL.
