Festivals & ticketing
festivals
Columns
| Column | Type | Null | Default | Keys |
|---|---|---|---|---|
| id | uuid | no | gen_random_uuid() | PK |
| slug | text | no | — | unique |
| name | text | no | — | |
| start_date | date | yes | — | |
| end_date | date | yes | — | |
| max_free_spots | integer | no | 10 | |
| stripe_payment_link | text | yes | — | |
| ticket_url | text | yes | — | |
| city | text | yes | — | |
| country | text | yes | — | |
| description | text | yes | — | |
| styles | json | yes | [] | |
| logo | text | yes | — | |
| accent_color | text | yes | — | |
| early_bird_deadline | date | yes | — | |
| early_bird_offer_name | text | yes | — |
Value lists come from .$type<'a' | 'b'>() in the schema — enforced in TypeScript only, not by the database.
Keys, constraints & indexes
Unique
- (slug) festivals_slug_unique
Indexes
No secondary indexes.
Foreign keys
None.
Referenced by
- dinners (festival_id)
- festival_ride_shares (festival_id)
- festival_roommate_lookups (festival_id)
- festival_signups (festival_id)
- referrals (festival_id)
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
- dinner.list
- festivalSignup.status
- festivalSignup.join
- festivalSignup.createCheckoutSession
- festivalSignup.ticketCheckout
- festivalSignup.publicRoster
- festivalSignup.setMyVisibility
- festivalSignup.getMyVisibility
- festivalSignup.myTickets
- claim.claimMyTicketHolderRows
- claim.getClaimStatus
- festival.bySlug
- festivalInsights.myFestivals
- festivalInsights.styleLevelMix
- events.festivals
- plan.goingList
- plan.myPlan
- plan.sharedPlan
- plan.discover
- plan.proofShowcase
- plan.suggestions
- referral.myReferrals
- rideShare.list
- rideShare.create
- rideShare.delete
- businessEvents.attendees
- roommate.list
- roommate.toggle
REST & webhooks
- GET /api/festivals
- GET /api/festivals/:slug
- POST /api/stripe/webhook
- POST /api/webhooks/tickettailor
- ANY /mcp
- ANY /mcp/public
Relations
Rendering diagram…
Diagram source
erDiagram
dinners {
uuid id PK
uuid festival_id FK
}
festival_ride_shares {
uuid id PK
uuid festival_id FK
uuid dancer_id FK
}
festival_roommate_lookups {
uuid id PK
uuid festival_id FK
uuid dancer_id FK
}
festival_signups {
uuid id PK
uuid festival_id FK
uuid dancer_id FK
text tickettailor_order_id UK
}
festivals {
uuid id PK
text slug UK
}
referrals {
uuid id PK
uuid festival_id FK
uuid referrer_id FK
uuid referee_id FK
}
festivals ||--o{ dinners : "festival_id"
festivals ||--o{ festival_ride_shares : "festival_id"
festivals ||--o{ festival_roommate_lookups : "festival_id"
festivals ||--o{ festival_signups : "festival_id"
festivals ||--o{ referrals : "festival_id" Defined at server/database/schema.ts:77 as festivals.