# Biglietteria & Eventi — Guida completa

> Panoramica DataFirefly Biglietteria & Eventi trasforma qualsiasi prodotto PrestaShop in un biglietto per eventi. Il modulo gestisce due tipi di evento (ingresso libero o posto assegnato), una pianta della sala…

- Pagina: <https://www.datafirefly.com/it/documentation/dfeventtickets/>
- Lingua: it
- Aggiornato il: 2026-06-27
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfeventtickets/index.md), [en](https://www.datafirefly.com/en/documentation/dfeventtickets/index.md), [es](https://www.datafirefly.com/es/documentation/dfeventtickets/index.md), [de](https://www.datafirefly.com/de/documentation/dfeventtickets/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfeventtickets/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfeventtickets/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfeventtickets/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## Panoramica

DataFirefly Biglietteria & Eventi trasforma qualsiasi prodotto PrestaShop in un biglietto per eventi. Il modulo gestisce due tipi di evento (ingresso libero o posto assegnato), una pianta della sala visiva, la generazione di biglietti QR scaricabili in PDF e una schermata di controllo accessi tramite scansione. L'idea chiave: ogni **categoria di posto è una combinazione di prodotto**, così PrestaShop gestisce nativamente prezzi, imposte e fatturazione.

Nessuna dipendenza esterna: la generazione di QR e PDF è integrata nel modulo. Nessun Composer richiesto, e il modulo funziona su PrestaShop 8 e 9, in multinegozio.

## Installazione

1. Scarica l'archivio `dfeventtickets.zip` dal tuo account DataFirefly.
2. Nel back-office, vai su **Moduli > Gestore moduli**, fai clic su **Carica un modulo** e rilascia lo ZIP.
3. Il modulo si installa automaticamente: crea le sue tabelle, le sue schede di menu (in **Clienti > DataFirefly Biglietteria**) e registra i suoi hook.
4. Svuota la cache di PrestaShop (**Parametri avanzati > Prestazioni > Svuota la cache**) dopo l'installazione.

In caso di aggiornamento, sovrascrivi i file e poi svuota la cache per ripulire l'indice delle classi di PrestaShop.

## Concetti chiave

### Prodotto = biglietto

Crei prima un prodotto PrestaShop standard (il «biglietto»), poi gli associ un _evento_. Tutto ciò che riguarda prezzo, IVA e fatturazione resta gestito da PrestaShop.

### Zona di prezzo = combinazione

Ogni zona (Platea Oro, Galleria, Parterre…) punta a una **combinazione** del prodotto (`id_product_attribute`) o al prezzo base. Questo garantisce totali e fatture corretti, senza calcoli paralleli.

### Due tipi di evento

- **Ingresso libero** (`general`): il cliente sceglie una categoria e una quantità tramite il blocco d'acquisto nativo.
- **Posto assegnato** (`seated`): il cliente sceglie il posto su una pianta della sala interattiva.

## Creare un evento

Vai su **Clienti > DataFirefly Biglietteria > Eventi** e fai clic su **Aggiungi un evento**. Indica:

- il **prodotto** associato;
- il **tipo** (ingresso libero o posto assegnato);
- le **date** di inizio e fine (formato `AAAA-MM-GG HH:MM:SS`) e il fuso orario;
- la **capienza** (per l'ingresso libero);
- la **durata della prenotazione** (minuti durante i quali un posto selezionato resta bloccato, 15 per impostazione predefinita);
- lo stato **attivo**.

Puoi anche accedere alla creazione/modifica dell'evento direttamente dalla scheda **Biglietteria ed Evento** della scheda prodotto.

## Definire le zone di prezzo

Una volta salvato l'evento, il pannello **Zone di prezzo** appare sotto il modulo. Per ogni zona, indica un nome, la combinazione di prodotto corrispondente (o il prezzo base) e un colore di visualizzazione. Il prezzo reale viene letto dalla combinazione di PrestaShop.

Crea almeno una zona prima di disegnare la pianta della sala: ogni posto deve essere collegato a una zona.

## Disegnare la pianta della sala

Per gli eventi con posti a sedere, apri **Disegna la pianta della sala**. L'editor visivo permette di:

- **generare un blocco** di posti (righe × colonne, con prima riga e primo numero configurabili) collegato a una zona;
- **riposizionare** un posto con trascina e rilascia;
- **attivare/disattivare** un posto (clic) — un posto disattivato non viene venduto;
- **eliminare** un posto (doppio clic);
- **cancellare tutto** per ricominciare.

La barra «PALCO / INGRESSO» funge da riferimento di orientamento per i tuoi clienti.

## Nel negozio: acquistare un biglietto

Nella scheda prodotto, il modulo inserisce automaticamente il widget giusto:

- **Posto assegnato**: una pianta interattiva in cui le zone sono colorate, i posti occupati in grigio e quelli disponibili cliccabili. Il cliente seleziona uno o più posti; ogni selezione aggiunge la combinazione corrispondente al carrello e prenota il posto temporaneamente.
- **Ingresso libero**: un riquadro di disponibilità; l'acquisto avviene tramite il blocco quantità nativo.

Se un posto è appena stato occupato da un altro cliente, la pianta si aggiorna e invita a sceglierne un altro — nessuna doppia vendita.

## Biglietti QR e PDF

Non appena l'ordine è convalidato e pagato, il modulo genera un biglietto per ogni posto effettivamente pagato, ciascuno con un **token casuale univoco** codificato come QR. Il cliente scarica i biglietti in PDF (un biglietto per pagina) dal dettaglio dell'ordine o dalla sua area cliente. Se TCPDF non è disponibile, viene proposto un fallback HTML stampabile.

## Controllo accessi (scansione)

Il giorno dell'evento, apri **Clienti > DataFirefly Biglietteria > Scansione**. Due modalità:

- **Fotocamera**: avvia la fotocamera e presenta il QR del biglietto;
- **Inserimento manuale**: incolla o digita il codice del biglietto.

Il risultato è mostrato a colori (valido, già utilizzato, annullato, non valido) e un registro delle ultime scansioni aiuta il personale all'ingresso. Un biglietto convalidato passa a **utilizzato** e non può più essere riutilizzato.

## Ciclo di vita di un biglietto

- **reserved**: posto selezionato, bloccato fino alla scadenza della prenotazione;
- **valid**: ordine pagato e riconciliato (solo i posti effettivamente pagati diventano validi);
- **used**: biglietto scansionato all'ingresso;
- **cancelled**: ordine annullato o rimborsato;
- **expired**: prenotazione non confermata e scaduta.

## Gestione dei biglietti nel back-office

La scheda **Biglietti** elenca tutti i biglietti con il relativo evento, posto, cliente, ordine, stato e data di emissione. L'elenco è filtrabile e consente l'**annullamento in blocco**. È disponibile un filtro per evento dal pannello delle zone.

## Compatibilità e aspetti tecnici

- PrestaShop 8.0 fino a 9.x, multinegozio, multilingua (FR, EN, ES, DE, IT);
- PHP 7.4 fino a 8.3;
- controller `ModuleAdminController` (compatibilità PS8/9, senza controller Symfony);
- QR (libreria MIT) e PDF (TCPDF nativo) integrati, senza dipendenza Composer.

## Risoluzione dei problemi

### Il widget di selezione non compare nella scheda prodotto

Verifica che l'evento sia **attivo**, associato al prodotto corretto, e che il modulo sia correttamente agganciato agli hook della scheda prodotto. Svuota la cache.

### Appare una pagina bianca dopo l'installazione o l'aggiornamento

Svuota la cache di PrestaShop per ricostruire l'indice delle classi, poi ricarica la schermata.

### La fotocamera non si avvia nella schermata di scansione

La scansione con fotocamera richiede un contesto sicuro (HTTPS) e l'autorizzazione di accesso alla fotocamera. In alternativa, usa l'inserimento manuale del codice.

### I prezzi o le imposte sembrano errati

Assicurati che ogni zona punti alla combinazione di prodotto corretta: PrestaShop calcola prezzo e IVA a partire da quella combinazione.
