-- Phase 3: Enrollments — member enrollment in a schedule slot

CREATE TYPE "enrollment_status" AS ENUM ('active', 'paused', 'cancelled', 'completed');

CREATE TABLE "enrollment" (
  "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  "member_id" uuid NOT NULL REFERENCES "member"("id"),
  "account_id" uuid NOT NULL REFERENCES "account"("id"),
  "schedule_slot_id" uuid NOT NULL REFERENCES "schedule_slot"("id"),
  "instructor_id" uuid NOT NULL REFERENCES "instructor"("id"),
  "status" enrollment_status NOT NULL DEFAULT 'active',
  "start_date" date NOT NULL,
  "end_date" date,
  "monthly_rate" numeric(10,2),
  "makeup_credits" integer NOT NULL DEFAULT 0,
  "notes" text,
  "created_at" timestamptz NOT NULL DEFAULT now(),
  "updated_at" timestamptz NOT NULL DEFAULT now()
);
