Skip to content

public.benefit_reservations

Synced from docs/generated/erd/ — do not hand-edit.
Regenerate with bun run docs:erd (needs staging reader), then this script runs automatically.
Labels: docs/db/erd-table-labels.yml · Runbook: docs/runbooks/erd-schema-docs.md

Holds placed against entitlements before fulfilment (expiring reservations) — Not: benefit_usage — a reservation is not yet consumption

Name Type Default Nullable Children Parents Comment
created_at timestamp with time zone now() false
entitlement_id uuid false public.entitlements
expires_at timestamp with time zone true
id uuid gen_random_uuid() false public.benefit_usage
org_id text ‘’::text false organizations
quantity integer 1 false
reserved_for_id text true
reserved_for_type text ‘event’::text false
status text ‘pending’::text false
updated_at timestamp with time zone now() false
Name Definition
Sponsorships Sponsorship offerings and bookings, event sponsor slots/fulfillment,
sponsor impressions/placements, package benefits. Catalog §2.3.
(Table names on staging: sponsorships / sponsorship_offerings — not
sponsorship_inventory from older prose.)
Name Type Definition
benefit_reservations_entitlement_id_fkey FOREIGN KEY FOREIGN KEY (entitlement_id) REFERENCES entitlements(id) ON DELETE CASCADE
benefit_reservations_pkey PRIMARY KEY PRIMARY KEY (id)
fk_benefit_reservations_org FOREIGN KEY FOREIGN KEY (org_id) REFERENCES organizations(id)
Name Definition
benefit_reservations_pkey CREATE UNIQUE INDEX benefit_reservations_pkey ON public.benefit_reservations USING btree (id)
Name Definition
benefit_reservations_updated_at CREATE TRIGGER benefit_reservations_updated_at BEFORE UPDATE ON public.benefit_reservations FOR EACH ROW EXECUTE FUNCTION update_updated_at_column()
erDiagram

"public.benefit_reservations" }o--|| "public.entitlements" : "FOREIGN KEY (entitlement_id) REFERENCES entitlements(id) ON DELETE CASCADE"
"public.benefit_usage" }o--o| "public.benefit_reservations" : "FOREIGN KEY (reservation_id) REFERENCES benefit_reservations(id) ON DELETE SET NULL"
"public.benefit_reservations" }o--|| "public.organizations" : "FOREIGN KEY (org_id) REFERENCES organizations(id)"

"public.benefit_reservations" {
  uuid entitlement_id FK ""
  uuid id ""
  text org_id FK ""
}
"public.entitlements" {
  uuid benefit_definition_id FK ""
  uuid company_id FK ""
  uuid id ""
  uuid membership_unit_id FK ""
  text org_id FK ""
  uuid sponsor_subscription_id FK ""
}
"public.benefit_usage" {
  uuid entitlement_id FK ""
  text org_id FK ""
  uuid reservation_id FK ""
}
"public.organizations" {
  text association_id FK ""
  uuid default_approval_reviewer_contact_id FK "Org-level fallback reviewer for two-step send (#5698). Routing chain: the sender's own reviewer, then this, then all org admins. NULL means fall through to the admins, which is the pre-#5698 behaviour."
  text id ""
  text parent_org_id FK "#671 self-referencing hierarchy pointer. NULL = root org. Direct writes are blocked by trg_block_direct_parent_org_id_writes for every role except service_role/postgres/supabase_admin — the only write path for authenticated/interactive callers is public.reparent_organization(). Cycle-prevented by trg_prevent_org_hierarchy_cycle. #quot;Is association#quot; is derived (EXISTS a child), never stored."
}

Generated by tbls