Update Seed Data: Wild Cards and Closer Shows
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Replace the 6 outdated show experiences with 2 new shows (Wild Cards Variety Show and Closer) in the Convex database seed.
Architecture: Update the static seed data in packages/backend/convex/domains/seed.ts with new EXPERIENCES array and SCHEDULE. The booking flow and dashboard already query experienceEvents table via Convex queries, so no frontend changes needed.
Tech Stack: Convex, TypeScript
File Structure
- Modify:
packages/backend/convex/domains/seed.ts- Update EXPERIENCES array and SCHEDULE array
Tasks
Task 1: Update EXPERIENCES Array
Files:
-
Modify:
packages/backend/convex/domains/seed.ts:18-115 -
Step 1: Replace EXPERIENCES array
Replace the entire EXPERIENCES array (lines 18-115) with:
const EXPERIENCES = [
{
code: "WILD-CARDS",
title: "Wild Cards Variety Show",
slug: "wild-cards-variety-show",
tagline: "One night. Four legends. Zero limits.",
description:
"A spectacular variety show featuring four incredible performers: Charlie Tuesday Gates (Spades), Thomas De Berned (Clubs), Miss Disa (Hearts), and Crystal Daisy (Diamonds). One unforgettable night of entertainment.",
embeddedVideo: "",
gallery: [],
thumbnailUrl: "",
supportedTicketTypes: ["DINNER_THEATRE"] as const,
defaultDinnerPrice: 1100000, // Solo price
defaultShowOnlyPrice: 1100000,
defaultCapacity: 32,
status: "ACTIVE" as const,
},
{
code: "CLOSER",
title: "Closer",
slug: "closer",
tagline: "Where magic gets personal.",
description:
"An intimate magic dinner-show where The French Mentalist delivers a personal magic experience. Prepare to be amazed in ways you never expected.",
embeddedVideo: "",
gallery: [],
thumbnailUrl: "",
supportedTicketTypes: ["DINNER_THEATRE"] as const,
defaultDinnerPrice: 990000, // Solo price
defaultShowOnlyPrice: 990000,
defaultCapacity: 32,
status: "ACTIVE" as const,
},
];- Step 2: Commit
git add packages/backend/convex/domains/seed.ts
git commit -m "feat(seed): replace 6 shows with Wild Cards and Closer"Task 2: Update SCHEDULE Array
Files:
-
Modify:
packages/backend/convex/domains/seed.ts:119-142 -
Step 1: Replace SCHEDULE array
Replace the entire SCHEDULE array (lines 119-142) with:
const SCHEDULE: ShowSchedule[] = [
// Wild Cards Variety Show - Friday (5), Saturday (6)
{ code: "WILD-CARDS", dayOfWeek: 5, time: "19:30" },
{ code: "WILD-CARDS", dayOfWeek: 6, time: "19:30" },
// Closer - Thursday (4), Sunday (0)
{ code: "CLOSER", dayOfWeek: 4, time: "19:30" },
{ code: "CLOSER", dayOfWeek: 0, time: "19:30" },
];- Step 2: Commit
git add packages/backend/convex/domains/seed.ts
git commit -m "feat(seed): update schedule for Wild Cards (Fri/Sat) and Closer (Thu/Sun)"Task 3: Seed the New Data (Manual Step)
Files:
-
None (manual execution)
-
Step 1: Clear old data and seed new shows
Run these commands in sequence:
# First, clear existing experiences and events
npx convex run seed.ts:clearAll --once
# Then seed the new data
npx convex run seed.ts:seed --onceExpected output for clearAll:
Clearing all data...
Deleted X events
Deleted X experiences
Deleted X add-ons
Deleted X tables
Clear complete!Expected output for seed:
Seeding experiences...
Created experience: Wild Cards Variety Show
Created experience: Closer
Seeding events...
Created event: WILD-CARDS...
Created event: CLOSER...
Seed complete!- Step 2: Verify in dashboard
- Go to
/admin/shows- you should see "Wild Cards Variety Show" and "Closer" - Go to
/admin/events- you should see upcoming events for both shows on their respective days
Verification Checklist
After seeding:
- Wild Cards Variety Show appears in dashboard shows list
- Closer appears in dashboard shows list
- Wild Cards events exist on Fridays and Saturdays
- Closer events exist on Thursdays and Sundays
- Booking flow shows the new shows when using experience picker
- Old shows (Cine-Gastronomic Night, Immersive Dinner, etc.) no longer appear
Notes
Pricing tiers are set as defaults in EXPERIENCES:
- Wild Cards:
defaultDinnerPrice: 1100000(Solo), but actual tiered pricing (Solo 1.1M, Duo 2M, Table x4 3.9M) is handled by the booking flow based on quantity selection, not separate ticket types.
If you need to set specific tiered pricing per show, that would require additional schema changes to support ticket type tiers (Solo/Duo/Table) per experience. The current schema uses defaultDinnerPrice as a single price.
The booking flow calculates:
- Solo: 1 × defaultDinnerPrice
- Duo: 2 × defaultDinnerPrice
- Table x4: 4 × defaultDinnerPrice
For Wild Cards at 1.1M solo, this gives: Solo 1.1M ✓, Duo 2.2M (close to 2M), Table 4.4M (close to 3.9M)
For Closer at 990K solo, this gives: Solo 990K ✓, Duo 1.98M (close to 1.85M), Table 3.96M (close to 3.3M)