v0.1 — Vendor: Link Biglietti Esterni
Branch: v0.1/feat/vendor-ticket-links
Data: 24/03/2026
Tipo: feat (vendor dashboard, DB)
Contesto
Flow non è ancora costituita come azienda e non può gestire la vendita di biglietti per conto dei locali. I vendor devono poter indicare il proprio provider esterno (Ticketone, Eventbrite, Dice, sito proprio, ecc.) — questo link viene mostrato agli utenti nell’app mobile per reindirizzarli all’acquisto.
Zero commissioni da Flow. Zero intermediazione. Il gestore mantiene pieno controllo della biglietteria.
Modifiche apportate
DB — Migrazione Supabase
File: supabase/migrations/20260324000001_events_ticket_external_url.sql
ALTER TABLE events
ADD COLUMN IF NOT EXISTS ticket_external_url TEXT;La colonna è nullable — non tutti gli eventi hanno biglietteria (es. eventi gratuiti, eventi su invite).
Applicare con:
supabase db pushoppure manualmente via Supabase Dashboard → SQL Editor.
types/event.ts
Aggiunto il campo al tipo globale Event:
ticket_external_url?: stringapp/vendor/(dashboard)/events/page.tsx
Tipo locale Event
Aggiunto ticket_external_url?: string.
emptyEvent
Aggiunto ticket_external_url: '' come valore iniziale.
Mutation CREATE
Il campo viene ora salvato su Supabase:
ticket_external_url: newEvent.ticket_external_url || null,Mutation EDIT
Stesso pattern nella mutation di aggiornamento.
Edit panel inline
Aggiunto il campo sotto “Stato” con:
- Label: “Link acquisto biglietti (opzionale)”
- Placeholder:
https://ticketone.it/event/... - Helper text che spiega la politica no-intermediario
Wizard Step 2 — Biglietteria (ridisegnato)
Il vecchio step “Biglietti” è stato rinominato “Biglietteria” e ristrutturato:
-
Banner informativo (amber) che spiega la politica di Flow:
“Flow non vende biglietti direttamente. Inserisci il link al tuo provider esterno…”
-
Campo link — URL al provider esterno
-
Fasce di prezzo (ex “Biglietti”) — rinominati per chiarire che sono solo informazioni visuali per gli utenti, non biglietti vendibili tramite Flow
Review step (Step 3)
Aggiunta riga “Link biglietti” nel riepilogo, con fallback “non inserito” se vuoto.
Flusso utente (mobile app)
- Utente apre dettaglio evento
- Se
ticket_external_urlè valorizzato → bottone “Acquista biglietti” visibile - Click → apertura browser in-app al link del provider
- Acquisto gestito interamente dal provider esterno
File modificati
supabase/migrations/20260324000001_events_ticket_external_url.sqltypes/event.tsapp/vendor/(dashboard)/events/page.tsx