Digeat Festival
Creazione plugin su misura per il Digeat Festival: programma, relatori, biglietti con QR, pacchetti e check-in in un solo plugin WordPress

/ Overview
DR Events è il plugin WordPress che ho progettato e sviluppato su misura per il Digeat Festival, il festival del pensiero digitale. Tiene insieme in un unico sistema tutto quello che di solito richiede tre o quattro strumenti diversi: il programma di cinquanta appuntamenti, 185 tra relatori, docenti e moderatori, le sedi con le loro sale, la vendita di biglietti e pacchetti, i biglietti nominativi con il QR, il check-in all'ingresso e le statistiche. Qui sotto trovi ogni funzione, una per una, con quello che vede il pubblico e quello che vede chi organizza.
See it Live/ Project Details
Nome:Digeat Festival
Cliente:Digeat Festival
Categorie:Creazione plugin su misura, Plugin WordPress su misura, Sviluppo plugin WordPress, Plugin eventi, Biglietteria online, Check-in con QR code, WooCommerce, Gestione festival, Software su misura, Digeat Festival
Anno:2026
Link:digeatfestival.it
/ Challenge
Un festival di questo tipo non è un calendario con un pulsante "compra". Ci sono eventi gratuiti su iscrizione accanto a laboratori a pagamento, prezzi early bird che scadono, pacchetti in cui il prezzo dipende da quanti eventi scegli, pranzi che spettano solo in certi giorni, relatori che moderano un panel e insegnano in un laboratorio, più sale nella stessa sede, aziende che vogliono la fattura elettronica e, la mattina dell'apertura, una fila da smaltire all'ingresso. I plugin di eventi già pronti coprono una parte alla volta — il calendario o la biglietteria — e nessuno con queste regole. Metterne insieme tre significa tre interfacce, tre abbonamenti e dati che non si parlano.
/ Provided Services
Analisi e progettazione
Le regole del festival tradotte in un modello dati: eventi, relatori con ruolo, sedi, sale, servizi, pacchetti e biglietti.
Sviluppo del plugin
Oltre 16.000 righe di codice scritte per questo festival, dal pannello di redazione al checkout.
Vendita e biglietteria
Biglietti nominativi, pacchetti a scaglioni, early bird, servizi extra e dati per la fattura elettronica su WooCommerce.
Strumenti per lo staff
Check-in con lo smartphone, statistiche sempre aggiornate ed esportazioni per segreteria, catering e amministrazione.
/ Funzioni
21 funzioni, una per una
Un palinsesto che si compone da solo
Il programma completo diventa una tabella per ogni giorno: in colonna le sedi e le sale, in riga gli orari. Nessuno la disegna a mano: il plugin la costruisce leggendo sede, sala e orario di ogni evento, e la aggiorna a ogni modifica.
- Colonne generate dalle sale effettivamente usate quel giorno
- Pause, aperitivi e momenti comuni su tutta la riga
- Intestazioni cliccabili verso la pagina della sede e della sala
- Tipologia, sala e badge "Gratuito" dentro ogni cella
- Su telefono la tabella scorre di lato con la colonna degli orari fissa
Filtri su sei dimensioni, condivisibili con un link
Sopra il programma una barra di filtri per tipologia, macroarea, settore, target, sede e formula, gratuito o a pagamento. Le scelte finiscono nell'indirizzo della pagina: chi riceve il link vede lo stesso programma, già filtrato.
- Valori ricavati solo dagli eventi presenti, niente voci vuote
- Più scelte nello stesso filtro si sommano, filtri diversi si combinano
- Riepilogo "Stai visualizzando" con etichette rimovibili e "Rimuovi filtri"
- In tabella due modi: attenuare gli eventi esclusi o nasconderli
- Filtri salvati nell'URL, pronti da condividere
Cinque impaginazioni del programma
Lo stesso programma si impagina in cinque modi — griglia di card, agenda per giorno, elenco con foto, elenco smart e tabella — cambiando un parametro dello shortcode. Ogni pagina del sito mostra solo gli eventi che servono: una sede, una sala, una tipologia.
- Elenco smart con gli eventi della stessa ora affiancati in colonne
- Selezione per tipologia, macroarea, sede e sala direttamente nello shortcode
- Eventi passati esclusi in automatico
- Card con il colore di ogni evento
- Pagina "Shortcode" nel pannello con parametri ed esempi pronti da copiare
Calendario interattivo
Un calendario con vista mese, settimana ed elenco, in italiano e con la settimana che parte dal lunedì. Si filtra per tipologia, macroarea, relatore e sede, e ogni filtro ricarica gli eventi dal server tramite un'API dedicata.
- Ogni evento con il suo colore
- Pause in evidenza e non cliccabili
- Gli eventi con la pausa pranzo compaiono come due turni
- Un clic sull'evento apre la sua scheda
- Dati serviti dall'API REST del plugin
Una scheda evento che accompagna all'acquisto
La pagina di ogni evento mette insieme quello che serve per decidere: data, orari, sede e sala, posti rimasti, prezzo, relatori, scaletta e mappa, con il riquadro d'acquisto sempre a portata di mano.
- Countdown in tempo reale fino all'inizio
- Stato dei posti: "Gratuito", "Ultimi N posti", "Sold out"
- Riquadro d'acquisto fisso su desktop, barra fissa in basso su telefono
- Mappa Google e pulsante "Avvia navigazione"
- "Potrebbero interessarti anche" con eventi scelti dall'organizzazione
Relatori con un ruolo diverso in ogni evento
Relatori, docenti, moderatori e coordinatori sono schede riutilizzabili, collegate agli eventi con un ruolo che vale solo per quell'evento. La stessa persona può moderare un panel e insegnare in un laboratorio, e il sito lo racconta nel modo giusto.
- Quattro ruoli: docente, relatore, moderatore, coordinatore
- Sezione "Protagonisti" divisa per ruolo, con i titoli al plurale quando servono
- Pagina personale di ogni relatore con biografia e agenda dei suoi interventi
- Nell'agenda, accanto a ogni evento, il ruolo che ha in quell'occasione
- Griglia e carosello dei relatori, filtrabili per categoria
La scaletta della giornata
Dentro ogni evento lungo c'è la scaletta degli interventi: orari, titoli, uno o più relatori per intervento, pause. In redazione si compone a blocchi e si riordina trascinando.
- Più relatori per intervento, ognuno con il link alla sua scheda
- Voci in evidenza e nota "relatore invitato in attesa di conferma"
- Pause e divisori tra un blocco e l'altro
- Riordino con il trascinamento, voci vuote scartate al salvataggio
- Pause comuni a più eventi mostrate una volta sola
Sedi e sale
Ogni sede ha la sua pagina con descrizione, mappa e tutti gli eventi che ospita, filtrabili per sala. Nel pannello la tendina delle sale cambia in base alla sede scelta, così un evento non può finire in una sala che non esiste.
- Filtro per sala con il numero di eventi di ciascuna
- Mappa a tutta larghezza e navigazione con Google Maps
- Sale dichiarate una per riga nella scheda della sede
- Sala verificata anche sul server al salvataggio
- Le sale usate in passato restano visibili anche se tolte dalla sede
Early bird automatico
Ogni evento ha un prezzo early bird e un prezzo intero. Fino alla data di scadenza vale lo sconto; dal giorno dopo il prezzo cambia da solo, anche per chi ha già il biglietto nel carrello.
- Scadenza unica per tutto il festival, modificabile evento per evento
- Prezzo intero barrato e dicitura "Prezzo early bird fino al…"
- Vale anche per ogni scaglione dei pacchetti
- Prezzo del carrello ricalcolato a ogni aggiornamento
Pacchetti che il visitatore compone da sé
Sulla pagina di un evento il visitatore aggiunge altri eventi e compone il suo pacchetto, con il prezzo e il risparmio che si aggiornano a ogni scelta. L'organizzazione decide le regole: sconto evento per evento, oppure prezzo totale a scaglioni.
- Due modelli di prezzo: sconto sul singolo evento o totale in base a quanti eventi si scelgono
- Regole di scelta: libera, almeno N eventi, oppure multipli di N
- Eventi sovrapposti disattivati in automatico: "Sei già impegnato in un evento selezionato"
- Scaglioni con etichette come "Pranzo incluso" e risparmio in euro
- Selezione ricordata se si torna indietro nella pagina
- Ogni scelta ricontrollata sul server prima del carrello
Servizi e pranzi inclusi giorno per giorno
Pranzi, light lunch ed extra sono servizi con prezzo e posti propri. Per ogni evento si decide se sono acquistabili a parte, inclusi nel biglietto o non disponibili; nei pacchetti i pranzi si maturano giorno per giorno, in base agli eventi scelti.
- Tre stati per ogni servizio in ogni evento: non disponibile, extra a pagamento, incluso
- Un servizio "a giorno" ogni N eventi scelti, al massimo uno al giorno
- Giorni garantiti in automatico, gli altri li sceglie il visitatore
- Scelta ricontrollata sul server con le stesse regole del browser
- Quantità con "Venduti / Rimasti" e avviso "Esaurito"
Biglietti nominativi, servizi per persona
Prima del carrello c'è un passaggio dedicato: si sceglie quanti biglietti, si inseriscono i dati di ogni partecipante e si decide a chi va ogni servizio extra. Ognuno riceverà il suo biglietto.
- Nome, cognome, email, azienda e professione per ogni partecipante
- Quantità limitata ai posti rimasti, con "N posti ancora disponibili"
- Servizi extra assegnati persona per persona, con i nomi che compaiono mentre si scrivono
- Totale in tempo reale e controllo dei campi prima dell'invio
- "Aggiungi al carrello e continua" oppure "Vai al pagamento"
- Pagina esclusa dalla cache, così una sessione scaduta non svuota il carrello
WooCommerce dietro le quinte
La cassa è WooCommerce, ma il visitatore non vede mai un negozio: ogni evento e ogni servizio ha un prodotto nascosto, creato e aggiornato dal plugin. Anche le iscrizioni gratuite passano dallo stesso percorso, così ogni partecipante ha il suo biglietto.
- Prodotti sincronizzati da soli a ogni salvataggio, con immagine e prezzo
- Un'unica riga di carrello per pacchetto e un biglietto per ogni evento
- Quantità bloccata sul numero dei nominativi, anche nel checkout a blocchi
- Nel carrello: quando, partecipanti, servizi inclusi e destinatari
- "Torna al programma" al posto di un negozio vuoto
- Ordini digitali completati in automatico dopo il pagamento
Dati per la fattura elettronica, già validati
Al checkout chi vuole la fattura sceglie se è un'azienda o un privato e compila solo i campi che servono. Il plugin controlla partita IVA e codice fiscale con le loro cifre di controllo prima che l'ordine parta.
- Azienda: partita IVA obbligatoria e almeno uno tra codice SDI e PEC
- Privato: codice fiscale obbligatorio, omocodie comprese
- Regole applicate anche dal server, non aggirabili dal browser
- Colonna "Fattura" nella lista ordini con badge Azienda o Privato
- Esportazione delle richieste di fattura per l'amministrazione
Biglietti in PDF con QR, uno per persona
A pagamento completato ogni partecipante riceve la sua email con il biglietto in PDF: evento, nome, data, sede, servizi inclusi e il QR da mostrare all'ingresso. Con un pacchetto arriva un biglietto per ogni evento.
- Email personale per ogni partecipante, con il PDF allegato
- Link "Aggiungi al calendario" per Google e Apple
- Servizi inclusi e acquistati stampati sul biglietto
- PDF di tutto l'ordine scaricabile dalla pagina di conferma
- Nessun doppione se l'ordine cambia stato più volte
L'area "I miei biglietti"
Nell'area riservata c'è una sezione tutta per i biglietti: quelli acquistati e quelli che qualcun altro ha comprato a tuo nome, riconosciuti dall'email. Ognuno si scarica in PDF e mostra se l'ingresso è già stato registrato.
- "I tuoi acquisti" con il PDF di ogni ordine
- "Biglietti intestati a te", anche se li ha comprati un collega
- Stato "Ingresso registrato il…" su ogni biglietto
- Download consentito solo all'intestatario, all'acquirente e allo staff
- Ordini fatti senza account ricollegati alla registrazione
Check-in con lo scanner del telefono
All'ingresso lo staff apre una pagina riservata sul telefono e inquadra il QR: in un attimo lo schermo diventa verde, arancione o rosso. Nessuna app da installare, nessun lettore dedicato.
- Verde "Ingresso OK", arancione "Già entrato" con data e ora, rosso "Non valido"
- Vibrazione diversa per ogni esito, utile nel rumore dell'ingresso
- Scheda con nome, evento, orario e servizi del partecipante
- Lo stesso codice letto due volte di fila viene ignorato per qualche secondo
- Accesso riservato allo staff; ogni ingresso registra orario e operatore
- Ingresso azzerabile dal pannello in caso di errore
Statistiche del festival
Una dashboard per sapere in ogni momento come sta andando: incassi, biglietti, ingressi, servizi e pacchetti, con un grafico delle vendite e le tabelle per evento, servizio e acquirente.
- Incasso al netto dei rimborsi, diviso tra biglietti, pacchetti e servizi
- Sei indicatori: ordini, biglietti, ingressi, servizi, pacchetti, pagamenti in attesa
- Grafico disegnato su misura, per giorno, settimana o mese in base al periodo
- Posti occupati per evento con barra di riempimento ed "Esaurito"
- Spesa per acquirente con ricerca istantanea e partecipanti per professione
- Periodi rapidi o date a scelta, tabelle ordinabili con un clic
Esportazioni pronte per Excel
Quattro esportazioni per chi lavora dietro le quinte: i partecipanti per la segreteria, gli utenti registrati, i servizi per persona per il catering e le richieste di fattura per l'amministrazione.
- Partecipanti: 20 colonne, dal codice del biglietto all'orario d'ingresso
- Servizi per partecipante, una riga per servizio oppure una per persona
- Richieste di fattura con dati fiscali, righe d'ordine e IVA
- File CSV che si aprono già corretti nell'Excel italiano
- Riservate allo staff, con filtri per servizio e per date
L'identità del festival, senza toccare il codice
Il plugin prende i colori e lo stile del festival dalle impostazioni: un colore di brand che si propaga a pulsanti, bordi e hover, un colore per ogni evento e una grafica sovrapposta alle foto dei relatori.
- Colore principale scelto dalle impostazioni, tonalità di hover calcolata da sola
- Colore di ogni evento usato in card, calendario e programma
- Foto dei relatori in seppia che tornano a colori al passaggio del mouse
- Grafica sovrapposta alle foto scelta dalla libreria media
- Template sostituibili dal tema per le personalizzazioni
Licenza gestita dal mio CRM
DR Events è un prodotto con licenza: il plugin si verifica con il mio sistema di gestione. Se la licenza non è valida si ferma solo la vendita, mentre programma e contenuti restano online.
- Verifica di chiave e dominio, ripetuta ogni 12 ore
- Se il server delle licenze non risponde, il sito continua a vendere
- Motivi di rifiuto spiegati in italiano: scaduta, limite di attivazioni, disabilitata
- Nuova verifica immediata al cambio della chiave
/ Solution
Ho scritto DR Events da zero, su misura per le regole del festival. L'organizzazione lavora su una sola scheda evento: data, sede e sala, relatori con il loro ruolo, scaletta, prezzo, pacchetto e servizi. Da lì il plugin costruisce tutto il resto: il palinsesto per giorno e per sala, le pagine di relatori e sedi, il calendario, i prodotti WooCommerce nascosti, i biglietti nominativi in PDF con il QR, le email ai partecipanti. Il visitatore compone il suo pacchetto vedendo il prezzo cambiare, sceglie i giorni del pranzo e riceve un biglietto per ogni evento; lo staff all'ingresso usa il telefono come scanner, e dopo il festival ha statistiche ed esportazioni pronte. Ogni regola di prezzo e disponibilità è controllata due volte, nel browser e sul server. È un prodotto mio, con licenza gestita dal mio CRM.
/ Tech stack
PHP 8 e WordPress
Tipi di contenuto, tassonomie, pannelli e template costruiti su misura dentro WordPress.
WooCommerce
Cassa, carrello e checkout, anche a blocchi, con prodotti e regole gestiti dal plugin.
REST API
Endpoint dedicati per il calendario pubblico e per il check-in dello staff.
FullCalendar
Il calendario interattivo, in italiano, con viste mese, settimana ed elenco.
Dompdf e php-qrcode
Biglietti in PDF con il QR generati sul server, senza servizi esterni.
html5-qrcode
Lettura dei QR dalla fotocamera del telefono, direttamente nel browser.
JavaScript e SVG
Composer dei pacchetti, filtri del programma e grafici delle statistiche scritti da zero.
/ Mobile Preview
/ Desktop Preview
























































