-- Extends the base schema: M-Pesa payments, multi-gate check-in, signed tickets.

alter table orders
  add column if not exists buyer_phone text,
  add column if not exists payment_method text not null default 'card' check (payment_method in ('card', 'mpesa')),
  add column if not exists mpesa_checkout_request_id text unique,
  add column if not exists mpesa_receipt text,
  add column if not exists pending_items jsonb;

alter table tickets
  add column if not exists checked_in_gate text,
  add column if not exists signature text;

create index if not exists idx_orders_mpesa_checkout on orders(mpesa_checkout_request_id);

-- Per-event fee rate used to compute net payout on the dashboard (default 4%).
alter table events
  add column if not exists fee_bps integer not null default 400;
