# Stato baseline frontend — 28 agosto 2026

## Struttura corrente

Il frontend è un wireframe funzionale navigabile, non il design finale. È organizzato in due step concettuali:

1. configurazione prodotto / mini-carrello;
2. completamento ordine.

Il carrello completo resta facoltativo.

Il cliente può configurare prodotti e riempire il carrello come guest nello Step 1. Entrando nello Step 2 deve autenticarsi o registrarsi; il carrello resta persistente e, terminata l’autenticazione, il flusso ritorna direttamente al completamento ordine.

## Funzioni già rappresentate

- home, catalogo e ricerca con alias;
- configuratore con quantità/tempi, immagini opzioni e riferimento lavorazione; dal carrello il comando **Modifica** riapre la specifica riga, precompila la configurazione e la salva con **Aggiorna configurazione** senza creare duplicati;
- controllo file preselezionato; quando il cliente lo deseleziona compare immediatamente il popup di rischio con scelta tra **Aggiungi controllo** e **Prosegui consapevolmente senza**;
- upload multiplo/drag&drop quando richiesto;
- carrello e condivisione con versioning comune al preventivo;
- checkout con corrieri effettivamente disponibili, mixed lead-time e multispedizione distinta; attivando la multispedizione il cliente configura più destinazioni, assegna righe/quantità alle singole spedizioni, usa un unico corriere e vede la somma dei costi; è rappresentato anche il punto di ingresso per import CSV senza fissarne il tracciato definitivo;
- carta/token, Apple Pay e PayPal provider-neutral;
- registrazione distinta tra **Privato** e **Azienda**, con campi dinamici; lookup P.IVA e fallback manuale disponibili soltanto per l’azienda;
- gate di autenticazione all’ingresso dello Step 2: guest → login/registrazione → ritorno al checkout senza perdita del carrello;
- checkout autenticato con dati di fatturazione dell’account, indirizzo di consegna separato e metodi salvati visibili solo dopo login;
- nel blocco **Modalità di consegna** il cliente può selezionare **Pacco anonimo**; il flag viene salvato nello snapshot dell’ordine. La personalizzazione del mittente del corriere resta un punto tecnico distinto da verificare;
- area profilo account con gestione self-service degli indirizzi di consegna (preferiti multipli + predefinito checkout unico) e dei metodi di pagamento tokenizzati salvati;
- checkout alimentato dagli indirizzi e metodi salvati nell’account, con selezione del predefinito e possibilità di scegliere un’alternativa;
- la form di inserimento di un nuovo indirizzo nel checkout compare soltanto dopo la selezione esplicita di **Usa un nuovo indirizzo**;
- i prodotti correlati usano il comando **Scegli** per aprire il prodotto;
- alla creazione dell’ordine il carrello attivo viene svuotato automaticamente; lo snapshot dell’acquisto resta associato all’ordine per la simulazione del pagamento e della ripresa del flusso;
- il checkout espone il campo **Codice buono sconto** con applicazione e riscontro; nel wireframe `AGOSTO26` è il codice dimostrativo già presente nel backend;
- quando si inserisce un nuovo indirizzo nel checkout si può scegliere **Salva questo indirizzo nella mia anagrafica** e, solo in tal caso, **Rendilo un indirizzo preferito**; il nuovo indirizzo non diventa automaticamente quello predefinito;
- **Completa ordine** dalla pagina prodotto salva prima la configurazione nel carrello, così anche il percorso diretto verso lo Step 2 conserva sempre la riga d’acquisto;
- confermando i dati del checkout viene creato subito un ordine in **Accettazione**. Se resta da pagare, dal dettaglio ordine si apre **Scegli metodo di pagamento**: il cliente può usare un metodo salvato, nuova carta, Apple Pay, PayPal oppure bonifico, anche cambiando il metodo rispetto al tentativo precedente. Un esito fallito non elimina l’ordine;
- un metodo tokenizzato già salvato tenta il pagamento immediatamente dopo la creazione dell’ordine; lo stato pagamento resta comunque separato dallo stato dell’ordine;
- il bonifico crea prima l’ordine in **Accettazione** e apre poi la pagina con beneficiario, IBAN, importo e causale; le istruzioni possono essere riaperte dall’ordine, che resta in attesa dell’incasso per l’avanzamento operativo;
- area cliente e ordini;
- finestra iniziale ordine realmente simulata con countdown: il cliente può annullare l’ordine e, sulle righe che richiedono file, caricare i mancanti, aggiungere file multipli, sostituire quelli presenti o eliminarli definitivamente con conferma; prodotto, opzioni, quantità e prezzo restano non modificabili;
- passaggio automatico Accettazione → Lavorazione alla scadenza quando i prerequisiti sono soddisfatti;
- riordino dell'intero ordine;
- preventivi cliente con elenco dedicato, dettaglio dello snapshot, originale sempre consultabile, varianti cliente, apertura da account diverso, conferma rapida, scadenza 90 giorni e PDF rigenerabile;
- la modifica frontend crea una variante separata e usa il configuratore/carrello come area di lavoro; la conferma trasforma direttamente lo snapshot scelto in ordine e richiede solo le informazioni mancanti, inclusa la scelta tra i metodi di pagamento abilitati nel preventivo;
- recupero password OTP;
- correlati AI validati;
- classi tracking semantiche e `dataLayer`.

## Baseline AntWorks da confermare Walter

- F-01: riga preventivo con aggiustamento manuale modificabile dal cliente solo nella quantità; altrimenti elimina + nuova riga a listino.
- F-02: copie concorrenti di preventivo/carrello; la prima conferma invalida sorgente e copie sorelle.

## Punto funzionale ancora aperto

- payment link quando cambia importo o metodo di pagamento: nessun automatismo definito.

## Step 2 / 3

### Step 2
Promozioni avanzate, categoria/settore cliente per raccomandazioni, IVA speciale self-service, landing/preset riutilizzabile, BRT pickup point e cross-sell marketing avanzato.

### Step 3
Preflight/automazione file e produzione evoluta.

### Fuori perimetro corrente
Editor grafico, mockup 3D e multilingua salvo nuova decisione.

## Dipendenze non bloccanti

DELERa, provider pagamento, BRT/GLS, Aruba, API fornitori, migrazione legacy e residui Andrea possono essere approfonditi senza bloccare la validazione del wireframe.
