MANUALE ISTRUZIONI - IL MIO RISTORANTE ======================================= Benvenuti nella guida completa all'uso del sito web "Il Mio Ristorante". Questo documento e' diviso in tre sezioni: una per i clienti, una per l'amministratore (proprietario o manager) e una per lo staff di sala e cucina. Il sistema non richiede alcun login: le sezioni operative (Admin e Staff) sono liberamente accessibili tramite i link presenti nel menu di navigazione o digitando direttamente l'URL. =========================================================== PARTE 1 - Area Pubblica (per i Clienti) =========================================================== 1. HOME PAGE (/) La pagina principale del sito. Mostra la presentazione del ristorante, gli orari di apertura aggiornati in tempo reale e le informazioni di contatto. Tutti i contenuti (testi "Chi Siamo", orari, telefono, email, indirizzo e logo) sono modificabili dall'amministratore. 2. MENU DIGITALE (/menu) Il menu online e' consultabile da qualsiasi dispositivo senza bisogno di scaricare nulla. - I piatti sono organizzati per categoria (Antipasti, Pizze, Primi, Dolci, Bibite ecc.) e le card entrano in scena con animazioni fluide. - Per ogni piatto vengono mostrati nome, descrizione, prezzo e, se prevista, una foto caricata dall'amministratore. - Tramite i filtri in cima alla pagina e' possibile visualizzare solo i piatti adatti alle proprie esigenze: Vegetariano, Vegano, Senza Glutine, Senza Lattosio. - I piatti disattivati temporaneamente dall'admin non compaiono nel menu pubblico. 3. PRENOTAZIONE TAVOLO ONLINE (/prenota) La prenotazione avviene in due passi: Passo 1 - Dati personali: Si inseriscono nome, email, telefono (usato come identificativo per evitare doppioni), numero di partecipanti e note opzionali (es. allergie, seggiolone, preferenza posto interno/esterno). Passo 2 - Scelta di data e orario: Un calendario interattivo mostra i giorni disponibili con colori diversi: verde per disponibile, giallo per quasi pieno, rosso/grigio per pieno o chiuso. Dopo aver cliccato un giorno, compaiono gli slot orari con effettiva disponibilita' di tavoli per il numero di ospiti indicato nel passo precedente. Al termine, l'utente viene reindirizzato a una pagina di conferma con il suo codice prenotazione (6 caratteri alfanumerici, es. A3K9FP) e riceve automaticamente un'email di conferma con tutti i dettagli. 4. PAGINA DI CONFERMA (/prenotazione/conferma/) Mostra il riepilogo completo della prenotazione (nome, data, orario, numero di ospiti, tavolo assegnato) e il codice univoco da conservare per gestirla in futuro. 5. GESTIONE PRENOTAZIONE (/gestisci-prenotazione) Inserendo il proprio codice nel campo di ricerca, il cliente puo': - Verificare i dettagli della prenotazione (data, orario, ospiti, tavolo). - Annullarla autonomamente: dopo la conferma tramite una finestra di dialogo, la prenotazione viene cancellata e il tavolo torna immediatamente disponibile. 6. CANCELLAZIONE VIA LINK EMAIL Se il cliente clicca il link di cancellazione contenuto nell'email di conferma, la prenotazione viene annullata automaticamente senza bisogno di inserire alcun codice. 7. CONTATTI (/contatti) Pagina con le informazioni di contatto del ristorante (telefono, email, indirizzo), aggiornabili dall'amministratore. =========================================================== PARTE 2 - Area Amministrazione (Proprietario / Manager) =========================================================== Tutte le pagine admin sono raggiungibili via URL diretto o dalla barra laterale, senza necessita' di login. 1. GESTIONE PRENOTAZIONI (/admin/prenotazioni) Pagina centrale per il controllo delle prenotazioni. Vista principale: - Elenco di tutte le prenotazioni attive con colonne: Nome, Email, Telefono, Data, Orario, Ospiti, Tavoli assegnati, Stato. - Le prenotazioni passate vengono spostate automaticamente nell'archivio a ogni caricamento della pagina. - Barra di ricerca per filtrare rapidamente per nome cliente o codice prenotazione. - Filtro per data per vedere le prenotazioni di un giorno specifico. - Filtro "Solo non assegnate" per identificare prenotazioni prive di tavolo. Azioni disponibili su ogni prenotazione: - Elimina: rimuove definitivamente la prenotazione. Il sistema tenta automaticamente di riassegnare i tavoli liberati alle prenotazioni in attesa. - Modifica Orario: apre una finestra per scegliere una nuova data e un nuovo slot. Il pulsante "Salva" e' disabilitato finche' non si seleziona un turno. - Modifica Tavoli: apre una vista avanzata dove si possono gestire manualmente i tavoli assegnati, aggiornare il numero di ospiti (il sistema suggerisce automaticamente i tavoli piu' adatti) e salvare la scelta. Aggiunta prenotazione manuale (per telefonate): In fondo alla pagina c'e' un form per inserire: nome, email e telefono (opzionali per prenotazioni telefoniche), data, orario, numero di ospiti e note. Il sistema assegna automaticamente il tavolo migliore disponibile. 2. GESTIONE SALA - MAPPA TAVOLI (/admin/sala) Visualizzazione interattiva dello stato della sala in qualsiasi momento. - Con il campo data, il campo orario e il pulsante "Aggiorna Vista" si puo' controllare la situazione passata, presente o futura. - Tre riquadri riepilogano: posti totali, posti occupati (con percentuale di occupazione) e numero di tavoli occupati sul totale. - Ogni tavolo e' rappresentato da una card: bordo verde = libero, bordo rosso = occupato. I tavoli "override" (uniti o aggiunti temporaneamente) hanno un bordo tratteggiato dorato. - Cliccando su una card si apre un popup con i dettagli dell'occupazione (nome cliente, codice prenotazione, orario). Unione tavoli: Clicca "Unisci Tavoli", seleziona almeno due tavoli (le caselle di selezione appaiono sulle card) e poi "Conferma Unione Selezionati". Si apre una finestra per indicare nome, posti totali e zona del nuovo tavolo unito, che verra' mostrato come card dorata sulla mappa. Altre operazioni sui tavoli: - Dividi tavolo unito: bottone "Dividi Tavoli" sulla card del tavolo unito, con conferma via finestra di dialogo. - Cancella override: annulla la modifica temporanea per quello slot. - Nascondi tavolo: esclude un tavolo fisico dalla disponibilita' solo per lo slot selezionato (bottone con icona occhio barrato, visibile in modalita' modifica). - Aggiungi tavolo temporaneo: la card tratteggiata con il simbolo "+" in fondo alla griglia apre un form per creare un tavolo extra valido solo per quello slot (nome, posti, zona). 3. GESTIONE TAVOLI FISICI (/admin/tavoli) Configurazione permanente del layout del ristorante. - Tabella con tutti i tavoli: nome, zona, posti, stato (attivo/inattivo), data di creazione. - Aggiunta singola: form con nome (es. "T1", "Terrazza-A"), posti e zona. - Aggiunta rapida (bulk): crea piu' tavoli in una volta inserendo un prefisso (es. "T"), numero iniziale, quanti tavoli creare, posti per tavolo e zona. Risultato: T1, T2, T3... - Modifica: per ogni tavolo c'e' un pulsante "Modifica" che apre un form precompilato con nome, posti, zona e uno switch attivo/inattivo. - Elimina: rimuove il tavolo. Il sistema rimuove automaticamente le assegnazioni future e cerca di riassegnare quelle prenotazioni su altri tavoli disponibili. 4. GESTIONE MENU (/admin/menu) Lista piatti: Tabella con tutti i piatti (categoria, nome, descrizione, prezzo, disponibilita', ordine di visualizzazione). La barra di ricerca filtra in tempo reale per nome o categoria. Aggiunta piatto (/admin/menu/add): Form con: categoria (testo libero, crea una nuova categoria se non esiste), nome, descrizione, prezzo in euro, ordine di visualizzazione (numero intero crescente), checkbox "Disponibile", upload immagine opzionale (PNG, JPG, JPEG, WEBP, GIF) e tag allergeni/dietetici (Glutine, Lattosio, Vegetariano, Vegano). Modifica piatto (/admin/menu/edit/): Stesso form dell'aggiunta, precompilato. Per l'immagine e' possibile caricare un file nuovo (sostituisce quello vecchio) oppure spuntare "Rimuovi immagine". Eliminazione: Il pulsante "ELIMINA" nella tabella apre una finestra di conferma con il nome del piatto prima di procedere. 5. STATISTICHE PRENOTAZIONI (/admin/statistiche) Dashboard con i dati chiave: - Totale prenotazioni (attive e archiviate). - Giorno della settimana piu' richiesto. - Orario piu' richiesto. - Media ospiti per prenotazione. - Grafico a barre giornaliero (prenotazioni per giorno, con selezione del mese). - Distribuzione per giorni della settimana. - Distribuzione per fasce orarie. 6. STATISTICHE INCASSI (/admin/statistiche_incasso) - Incasso odierno (ordini con stato "pagato" chiusi oggi). - Grafico settimanale (ultimi 7 giorni). - Grafico mensile (ultimi 30 giorni). - Grafico annuale (ultimi 12 mesi, per mese). - I 10 piatti piu' venduti per quantita'. - Esportazione XLSX: scarica un report annuale con grafico a barre integrato, pronto da inviare al commercialista. 7. IMPOSTAZIONI (/admin/impostazioni) Orari di apertura: Per ogni giorno della settimana (da lunedi' a domenica) si puo' attivare/disattivare il giorno oppure impostare orario di apertura e chiusura per pranzo e cena. Chiusure straordinarie: Aggiungi una data specifica (es. 25 dicembre) per segnare il ristorante come chiuso quel giorno nel calendario prenotazioni. Rimuovibile con il pulsante "x". Aperture straordinarie: Aggiungi una data normalmente chiusa (es. un lunedi' aperto per un evento) per renderla disponibile alle prenotazioni. Rimuovibile con il pulsante "x". Override capacita' per slot: Permette di ridurre o aumentare il numero massimo di tavoli disponibili per una fascia oraria specifica (es. limitare le prenotazioni alle 12:00). Intervallo slot: Durata in minuti di ogni fascia di prenotazione (default: 30 minuti, ma modificabile). 8. CONTENUTI SITO (/admin/contenuti) Sezione "Chi Siamo": Tre card personalizzabili, ognuna con un titolo e un testo. Le modifiche si salvano con "Salva Modifiche" e sono visibili subito in home page. Info di contatto: Aggiornamento di telefono, email e indirizzo del ristorante, visibili in tutta la home e nel footer. Logo del sito: Carica un'immagine (PNG, JPG, WEBP, GIF) per sostituire il logo su tutte le pagine del sito. Per tornare al testo, spunta "Rimuovi Logo". 9. MATERIALI (/admin/materiali) - PDF Menu: genera e scarica automaticamente un PDF del menu completo, diviso per categorie e con i prezzi, pronto per la stampa in sala. - QR Code: genera un QR Code che rimanda al menu digitale online. Scaricabile come immagine da stampare sui tavoli. - Manuale Istruzioni PDF: versione stampabile di questo manuale. - Manuale Istruzioni TXT: versione testo di questo manuale. =========================================================== PARTE 3 - Area Staff (Camerieri e Cucina) =========================================================== Accessibile da /staff. Nessun login richiesto. Ottimale su tablet dedicati. 1. LISTA ORDINI ATTIVI (/staff/ordini) Pagina principale per i camerieri. Mostra tutti i tavoli con un ordine aperto (nome tavolo, numero di piatti, totale, ora apertura ordine). Cliccando su un tavolo si accede al dettaglio dell'ordine. Se un tavolo non ha ordini attivi, compare il pulsante "Nuovo Ordine". Se l'ordine e' gia' aperto, e' disponibile "Azzera e Ricomincia" per cancellarlo e partire da capo. 2. DETTAGLIO ORDINE / PRESA COMANDE (/staff/tavolo//ordine) Interfaccia a due pannelli. Pannello menu (sinistra): - Filtri rapidi per categoria in alto (Tutte, Antipasti, Pizze ecc.). - Barra di ricerca per trovare un piatto per nome. - Griglia di card piatto cliccabili: ogni click aggiunge una unita' al riepilogo. Strumenti aggiuntivi (sopra il menu): - Piatto custom: aggiunge al conto un piatto non presente nel menu (nome e prezzo liberi). E' visibile solo in questo ordine e non modifica il menu permanente. - Cambia Tavolo: torna alla lista ordini. Pannello riepilogo (destra): Mostra tutti i piatti aggiunti con nome, quantita', stato e prezzo. Gli stati possibili sono: - BOZZA (grigio): aggiunto ma non ancora inviato in cucina. - IN CUCINA (arancione): inviato, il cuoco sta preparando. - PRONTO (verde): il cuoco ha segnato il piatto come pronto. - SERVITO (blu): consegnato al tavolo. I piatti in stato BOZZA possono essere rimossi con il pulsante "x". Azioni principali: - Invia in Cucina: sposta tutti i piatti in BOZZA allo stato IN CUCINA e mostra un riepilogo. - Sconto %: applica uno sconto percentuale al totale. - Chiudi e Incassa: chiude l'ordine come "pagato" e aggiunge il totale alle statistiche incassi. - Annulla Ordine: chiude l'ordine come "annullato". 3. DASHBOARD CUCINA (/staff/cucina) Schermata per i cuochi. Mostra solo i piatti con stato IN CUCINA di tutti i tavoli aperti. Per ogni piatto: nome, quantita', tavolo di provenienza, orario dell'ordine. La pagina si aggiorna automaticamente. La barra di ricerca filtra per piatto o tavolo. Cliccando "Pronto" su un piatto, il suo stato cambia a PRONTO e scompare dalla cucina, comparendo nel pannello pronti dei camerieri. 4. PANNELLO PRONTI DA SERVIRE (/staff/pronti) Schermata per i camerieri. Mostra tutti i piatti con stato PRONTO da tutti i tavoli. Ogni card mostra nome piatto, quantita', nome tavolo e orario. Due barre di ricerca (per piatto e per tavolo) facilitano il filtraggio. Cliccando il pulsante "Servi" su un piatto, questo viene segnato come SERVITO e scompare dalla lista. Il pulsante "SERVI TUTTI" in alto, dopo una conferma, segna tutti i piatti presenti come serviti in una sola operazione. =========================================================== NOTE TECNICHE =========================================================== Algoritmo di assegnazione tavoli (Best-Fit): Il sistema cerca sempre il tavolo singolo con il numero di posti piu' vicino al numero di ospiti, per non sprecare spazio. Se nessun tavolo singolo e' sufficiente, combina piu' tavoli. Supporta prenotazioni che attraversano la mezzanotte e tiene conto degli orari di chiusura del ristorante. Auto-repair delle prenotazioni: Ogni volta che un tavolo si libera (cancellazione, modifica orario, eliminazione tavolo), il sistema scansiona automaticamente le prenotazioni in attesa per quella data e tenta di assegnargli i tavoli appena disponibili. Un messaggio informa l'admin di quante prenotazioni sono state recuperate. Override sala (modifiche temporanee ai tavoli): Le modifiche fatte dalla Gestione Sala (unione, aggiunta, occultamento) valgono solo per lo slot selezionato e non alterano la struttura fisica permanente dei tavoli. Piatti custom negli ordini: I piatti aggiunti liberamente dal cameriere (senza selezionarli dal menu) vengono registrati correttamente in cucina, nel pannello pronti e nel totale del conto, ma non vengono aggiunti al menu del ristorante. Design mobile-friendly: Tutte le pagine (clienti, admin e staff) sono ottimizzate per smartphone e tablet, con layout a colonna su schermi piccoli, tabelle convertite in card e menu a comparsa laterale. Email automatiche: Alla conferma di una prenotazione, il sistema invia automaticamente un'email al cliente con data, orario, numero di ospiti e codice univoco. Le cancellazioni pubbliche vengono anch'esse gestite e notificate via email. Accesso diretto (nessun login richiesto): /admin/prenotazioni - Gestione prenotazioni /admin/sala - Mappa sala /admin/menu - Gestione menu /admin/statistiche - Statistiche prenotazioni /admin/statistiche_incasso - Statistiche incassi /admin/impostazioni - Impostazioni orari e slot /admin/tavoli - Gestione tavoli fisici /admin/contenuti - Contenuti e logo del sito /admin/materiali - PDF, QR Code e manuali /staff/ordini - Ordini attivi /staff/cucina - Dashboard cucina /staff/pronti - Pannello pronti da servire Database (SQLite) - tabelle principali: - reservations : prenotazioni attive - reservation_archive : prenotazioni passate (solo per statistiche) - menu_items : piatti del menu - tables : tavoli fisici - table_assignments : associazione prenotazione e tavolo - table_overrides : modifiche temporanee alla sala - orders : ordini dello staff (per tavolo) - order_items : piatti all'interno di ogni ordine - settings : configurazioni (orari, contatti, logo, ecc.) - slot_overrides : capacita' personalizzata per slot orari