Event Mode backend phase 1 — single active show, per-line allocation, hours + venue pin #379

Closed
opened 2026-08-16 02:10:36 +00:00 by gambit-admin · 1 comment
Owner

Backend groundwork for Event Mode (from Rudy's Event Preparation MVP spec, adjusted since we own the backend):

  • POST /shows/{id}/activate now enforces exactly one active show per vendor (activating one switches, race-safe) and reports what it deactivated; new POST /shows/{id}/deactivate.
  • bulk-from-stock reshaped to per-line {stock_item_id, qty, ask_each_cents, location_code} with per-line success/failure reporting — the backend the Add Items picker needs.
  • events gains operating_hours (per-day windows, validated), venue_lat/venue_lng (map pin), verify_radius_m — schema groundwork for phase 2 location-verification sessions.
  • Migration 0025_event_mode + startup healing DDL (additive nullable columns only).

Phase 2 (verification sessions + stamping transactions) and the Add Items picker UI (web + mobile) follow separately.


Filed from a Claude Code session

Backend groundwork for Event Mode (from Rudy's Event Preparation MVP spec, adjusted since we own the backend): - POST /shows/{id}/activate now enforces exactly one active show per vendor (activating one switches, race-safe) and reports what it deactivated; new POST /shows/{id}/deactivate. - bulk-from-stock reshaped to per-line {stock_item_id, qty, ask_each_cents, location_code} with per-line success/failure reporting — the backend the Add Items picker needs. - events gains operating_hours (per-day windows, validated), venue_lat/venue_lng (map pin), verify_radius_m — schema groundwork for phase 2 location-verification sessions. - Migration 0025_event_mode + startup healing DDL (additive nullable columns only). Phase 2 (verification sessions + stamping transactions) and the Add Items picker UI (web + mobile) follow separately. --- Filed from a Claude Code session
gambit-admin added the featureapi labels 2026-08-16 02:10:36 +00:00
gambit-admin added the 13 · cross-cutting label 2026-09-04 13:36:38 +00:00
Author
Owner

Triage: closing as shipped — phase 1 is on production (PRs #235–#238); #380's own text records it as shipped. #380 stays open for the remainder.

Triage: closing as shipped — phase 1 is on production (PRs #235–#238); #380's own text records it as shipped. #380 stays open for the remainder.
Sign in to join this conversation.