29 maggio 2026
Export TeamSystem DDT
- Aggiunto in
admin/operations/ordersl’export TeamSystem singolo e massivo dei DDT già generati, accanto al tracciato Excel esistente. - Il nuovo tracciato produce file testuali fixed-width da 400 caratteri per riga con record
TESTAeCORPO, coerenti con il demo TeamSystem fornito. - Aggiunta la selezione totale degli ordini esportabili e resa univoca la nomenclatura dei file negli ZIP massivi, così più DDT dello stesso cliente non si sovrascrivono.
- Aggiunti filtri nella lista ordini per periodo, cliente, stato e ricerca libera, così gli export massivi possono partire dal sottoinsieme operativo desiderato.
28 maggio 2026
Modalità tentata vendita
- Aggiunta nelle impostazioni del panificio la modalità operativa mobile scelta dal panificio: turni/carichi, tentata vendita oppure mista.
- Estese le API mobile con snapshot
workflow=direct_sale, numerazione DDT giornaliera per agente e upload bolle senzaturn_id. - Aggiornata l’app Flutter agente per salvare la modalità al login e mostrare l’ingresso Tentata vendita senza selezione turno o controllo carico.
- Lo storico DDT e la conferma stampa includono anche i documenti di tentata vendita filtrati per prefisso agente.
25 maggio 2026
Console piattaforma e ciclo di vita panifici
- Riorganizzata la dashboard piattaforma in tabella con pulsanti dedicati per creare e modificare i panifici.
- Aggiunta navbar superiore con menu account, modifica profilo e logout.
- Introdotta la sospensione del panificio, che interrompe gli accessi backoffice e mobile del tenant.
- Introdotta la cancellazione definitiva del panificio con eliminazione di account, token e dati operativi associati.
Assegnazioni, app agente e contabilità
- Riorganizzata l’area admin panificio con shell premium: sidebar raggruppata per domini, topbar contestuale, page header coerenti e card metriche su dashboard e sezioni operative.
- Ridisegnate le viste chiave del backoffice per migliorare leggibilità e gestione contenuti su dashboard, anagrafiche, turni, ordini e agenti app.
- Esteso il premium pass 2 con ricerca nelle anagrafiche clienti e nei listini dedicati, oltre a una scheda agente separata dalla lista per assegnazioni filtrabili e contesto operativo.
- Completato il premium pass 3 con ordini pianificati multi-riga, breadcrumb contestuali nelle viste figlie e modifica inline della scheda agente.
- Completato il premium pass 6 con area impostazioni tenant, modifica dell’intestazione del panificio attivo, anteprima della testata documentale e accesso diretto dalla navigazione admin.
- Riorganizzate le anagrafiche clienti, prodotti, furgoni e giri in liste tabellari compatte con ricerca, modifica rapida in riga e azioni contestuali, evitando la gestione a card su dataset lunghi.
- Rifinito il catalogo admin premium con ordinamento più naturale, pannello “stato anagrafica” e avvisi rapidi su listini, assegnazioni, categorie, descrizioni e tappe mancanti.
- Aggiunti alla dashboard panificio i filtri per veduta, periodo, cliente, agente, mezzo e giro, con esportazione Excel coerente con i dati filtrati della veduta attiva.
- Completato l’export Excel della dashboard DDT convertendo il tracciato a una riga per articolo, così il cliente può usare filtri e lavorazioni native di Excel su prodotto, quantità e valori.
- Allineati i resi nell’export Excel della dashboard con segno sempre negativo, sia in quantità sia in valore, per una lettura contabile più chiara.
- Riorganizzata la dashboard panificio in modalità più premium e leggibile: cabina di regia iniziale, filtri contestuali compatti, metriche separate tra volumi e controlli, classifica clienti top e vista dati principale più chiara.
- Rifinita la dashboard panificio per schermi piccoli: layout più responsive, filtri raccolti in pannello espandibile e rimozione della card “Guida lettura” per ridurre rumore visivo.
- Aggiunta l’email nell’anagrafica clienti per supportare l’invio dei tracciati Excel dei DDT direttamente dal backoffice.
- Abilitati in `admin/operations/orders` export Excel singolo e massivo, oltre a invio o rinvio email singolo e massivo dei tracciati cliente, con righe consegnate prima e righe di reso negative dopo.
- Rinominata l’app agente in
Consegne Panificio, mantenendo il bundle identifierit.appteam.panificiosu Android e iOS. - Allineati i permessi mobile alle funzioni reali dell’app: notifiche push OneSignal su Android e descrizione privacy Bluetooth iOS coerente con la stampa DDT su termica.
- Introdotta la configurazione globale OneSignal nella console piattaforma, gestita dal super admin e condivisa dai tenant senza esporre le chiavi nel backoffice dei panifici.
- Aggiunta nell’area impostazioni tenant la sezione `Notifiche push`, con invio singolo o massivo agli agenti, storico paginato, pulsante svuota log e conservazione automatica delle ultime 50 righe.
- Collegata l’app Flutter agente a OneSignal tramite configurazione runtime dal backend e identità push stabile dell’agente, riallineata a ogni login/logout.
- Corretto il payload backend delle notifiche push OneSignal aggiungendo il fallback `en` oltre al contenuto `it`, così l’invio non viene più respinto dal provider per assenza di contenuto English/Any.
- Esteso l’invio OneSignal con immagine opzionale via URL, inoltrata come rich media compatibile al provider e tracciata anche nello storico locale del tenant.
- Aggiunta nell’app agente l’icona notifiche in alto a destra con inbox locale delle push ricevute, completo di conteggio non lette e anteprima immagine quando presente.
- Riallineate le schermate principali dell’app agente alle Safe Area di sistema, così login, home giro, notifiche, composer ordine e storico ordini non vengono più coperti dalle barre Android.
- Preparata la build Android release con keystore dedicato, `key.properties` privato e generazione AAB firmato, oltre al `Podfile` iOS e a un pacchetto Flutter essenziale per lavorare con Xcode.
- Esteso il backoffice push con upload diretto immagine dal tenant: il file viene pubblicato su storage locale, usato nella notifica OneSignal e rimosso automaticamente quando il log push viene potato o svuotato.
- Aggiunto il target iOS `OneSignalNotificationServiceExtension` con sorgente Swift e `Podfile` aggiornato, così il progetto è pronto a mostrare notifiche push con immagine ricca anche su iPhone dopo la configurazione signing/capabilities in Xcode.
- Corretto l’accesso pubblico alle immagini push: i nuovi upload usano l’URL canonico `/push-media/{file}` servito da Laravel, mentre i vecchi link `/storage/push-notifications/...` vengono riscritti internamente per evitare il `403 Forbidden` sul symlink pubblico senza esporre l’intera cartella `storage`.
- Creato anche il link `public/storage` tramite `php artisan storage:link`, necessario per servire le immagini push caricate dal backoffice.
- Rifinita l’app Flutter agente con home di giro più guidata: ricerca clienti, filtri rapidi, contatore immediato dei clienti visibili, metriche compatte in griglia 2x2, area bassa scrollabile, priorità operative, stato sync più leggibile, situazione del van con prodotti in esaurimento e composer ordine con ricerca prodotti e riepilogo progressivo.
- Attivato nell’app agente il flush automatico dell’outbox al ritorno della rete, senza dipendere solo dal pulsante Sincronizza.
- Ripristinata nell’area ordini operativi la colonna azioni con modifica o eliminazione dei documenti ancora non consegnati.
- Il backoffice consente ora di creare e aggiornare ordini pianificati con quantità ordinata, reso pianificato oppure entrambe.
- Corretto l’upload sync agente: una bolla non valida per stock, riferimenti scaduti o altre regole operative viene marcata come errore specifico senza bloccare le altre bolle valide della stessa coda.
- L’app agente mostra ora il messaggio restituito dalle API di sync invece del solo codice HTTP in caso di errore applicativo.
- Il composer ordine verifica il carico residuo del furgone, includendo anche le bolle ancora pendenti sul dispositivo, e impedisce quantità oltre stock.
- Introdotta l’assegnazione esplicita dei clienti agli agenti e il relativo controllo lato API.
- L’app agente consente di scegliere un cliente assegnato, comporre l’ordine dal suo listino e dichiarare i resi prima della chiusura.
- Aggiunta selezione della stampante Bluetooth dall’app e stampa ESC/POS di consegnato, reso e netto valorizzati sul listino cliente.
- Adeguato l’invio Bluetooth all’MTU negoziato dalla stampante per evitare errori su documenti più lunghi.
- Resa affidabile la stampa su termiche BLE generiche PT210 privilegiando il canale di stampa e rallentando l’invio ESC/POS in pacchetti compatibili.
- Ottimizzata l’impaginazione delle righe prodotto e dei totali DDT sulla larghezza a 32 caratteri della PT210.
- Completato il layout DDT stampato con numero, data ordine, intestazioni panificio/cliente e spazio firma/timbro.
- Estesa l’anagrafica panificio con indirizzo, città e CAP per l’intestazione mittente del DDT.
- Protette le schermate mobile dalle barre di sistema Android e spostata la stampa prima della sincronizzazione remota dell’ordine.
- Aggiunta nell’app la pagina Ordini effettuati con stato stampa/sincronizzazione e aggiunto lo storico DDT filtrato per agente via API.
- Introdotta la sincronizzazione della conferma stampa anche in caso di ristampa successiva a un errore iniziale.
- Corretta la sincronizzazione DDT: i conflitti di numerazione non sono più mostrati come stato offline e non bloccano le altre bolle valide in coda.
- La numerazione successiva considera i DDT locali non ancora inviati, evitando riusi del numero dopo il riavvio dell’app.
- La dashboard panificio espone DDT contabilizzati, quantità e valore di venduto e resi e netto per prodotto.
- La dashboard panificio mostra anche agente, mezzo e conferma della stampa per ciascun DDT recente.
- Aggiunti pulsante e pagina di modifica degli ordini pianificati nel backoffice; gli ordini già consegnati restano bloccati.
- Caricato un set dimostrativo per il tenant Scordella con listini differenziati, giro, carico e movimento di esempio.
Landing page e documentazione pubblica
- Nuova home pubblica moderna e responsive con presentazione del prodotto e accesso al pannello.
- Nuova sezione
/docscon documentazione funzionale, tecnica e changelog. - Definita la regola di mantenere i documenti aggiornati in ogni modifica che impatti il comportamento del prodotto.
- Inserita una regola di repository per vincolare le future modifiche applicative all’aggiornamento della documentazione.
Piattaforma SaaS multi-panificio
- Introduzione dei panifici come tenant separati nello stesso backend.
- Account piattaforma per onboarding e account amministratori dedicati per ogni tenant.
- Isolamento dei cataloghi e delle operazioni logistiche tramite
bakery_id. - Area admin per clienti/listini, prodotti, furgoni, agenti, giri/tappe, turni/carichi e ordini.
Applicazione agente e API
- Login agente dall’app unica e token memorizzato in secure storage.
- Database locale Flutter separato per panificio per snapshot e outbox offline.
- Snapshot mattutino e upload DDT filtrati per tenant, con controllo di stock, listini e ordine.
- Servizio di stampa termica testuale ESC/POS via Bluetooth.
Politica di aggiornamento
Da questa release, una modifica al codice che introduce o modifica flussi utente, regole logistiche, modelli dati, endpoint API, sicurezza, applicazione mobile o distribuzione deve includere:
- aggiornamento della pagina funzionale o tecnica interessata;
- una voce sintetica in questo changelog;
- allineamento del documento tecnico versionato nel repository.