-- +goose Up -- Schema-light structured intake: services declare a small list of intake -- fields (key/label/type/required); bookings store the customer's answers as -- a JSON object keyed by the declared field keys. Both default to empty so -- existing services/bookings need no backfill. ALTER TABLE services ADD COLUMN intake_fields jsonb NOT NULL DEFAULT '[]'::jsonb; ALTER TABLE bookings ADD COLUMN intake jsonb NOT NULL DEFAULT '{}'::jsonb; -- +goose Down ALTER TABLE services DROP COLUMN IF EXISTS intake_fields; ALTER TABLE bookings DROP COLUMN IF EXISTS intake;