Venue booking & governance
booking_inquiries
Booking inquiries (migration 0039): anyone asks to book an artist or venue from their page, no account needed. The page's team answers by email.
Columns
| Column | Type | Null | Default | Keys |
|---|---|---|---|---|
| id | uuid | no | gen_random_uuid() | PK |
| profile_id | uuid | no | — | |
| requester_id | uuid | yes | — | |
| name | text | no | — | |
| text | no | — | ||
| phone | text | yes | — | |
| organization | text | yes | — | |
| what | text | no | — | |
| event_date | date | yes | — | |
| city | text | yes | — | |
| guests | integer | yes | — | |
| budget | text | yes | — | |
| message | text | no | — | |
| status | text newanswereddeclined | no | "new" | |
| notified | integer | no | 0 | |
| created_at | timestamp | no | now() | |
| answered_at | timestamp | yes | — |
Value lists come from .$type<'a' | 'b'>() in the schema — enforced in TypeScript only, not by the database.
Keys, constraints & indexes
Used by
Code that reads or writes this table, found by static analysis of the tRPC routers and API handlers (including helpers they call).
tRPC procedures
REST & webhooks
- ANY /mcp
- ANY /mcp/public
Relations
Rendering diagram…
Diagram source
erDiagram
booking_inquiries {
uuid id PK
uuid profile_id FK
uuid requester_id FK
}
dancers {
uuid id PK
text email UK
text neon_auth_id UK
text username UK
}
profiles {
uuid id PK
text username UK
}
profiles ||--o{ booking_inquiries : "profile_id"
dancers |o--o{ booking_inquiries : "requester_id" Defined at server/database/schema.ts:1267 as bookingInquiries.