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 push oppure manualmente via Supabase Dashboard → SQL Editor.

types/event.ts

Aggiunto il campo al tipo globale Event:

ticket_external_url?: string

app/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:

  1. Banner informativo (amber) che spiega la politica di Flow:

    “Flow non vende biglietti direttamente. Inserisci il link al tuo provider esterno…”

  2. Campo link — URL al provider esterno

  3. 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)

  1. Utente apre dettaglio evento
  2. Se ticket_external_url è valorizzato → bottone “Acquista biglietti” visibile
  3. Click → apertura browser in-app al link del provider
  4. Acquisto gestito interamente dal provider esterno

File modificati

  • supabase/migrations/20260324000001_events_ticket_external_url.sql
  • types/event.ts
  • app/vendor/(dashboard)/events/page.tsx