Options on a multi-day event can be bought per session (one line and ticket per session, priced per session, bookable until the session starts). Sessions can have a capacity covering picked places and whole-course tickets. Picked tickets only scan on their own session; the register, certificates and reminders follow the sessions booked. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 lines
643 B
SQL
18 lines
643 B
SQL
-- CreateEnum
|
|
CREATE TYPE "OptionSessionMode" AS ENUM ('all', 'pick');
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "EventOption" ADD COLUMN "sessionMode" "OptionSessionMode" NOT NULL DEFAULT 'all';
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "EventSession" ADD COLUMN "capacity" INTEGER;
|
|
|
|
-- AlterTable
|
|
ALTER TABLE "RegistrationOption" ADD COLUMN "sessionId" TEXT;
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "RegistrationOption_sessionId_idx" ON "RegistrationOption"("sessionId");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "RegistrationOption" ADD CONSTRAINT "RegistrationOption_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "EventSession"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|