# TrattorIA - Backlog di Prodotto

**Generato da:** ARchetipo Spec Skill
**Data:** 2026-05-06
**PRD sorgente:** docs/PRD.md
**Versione:** 1.0

---

## Riepilogo Backlog

| Epic | Titolo | Storie | Punti Storia | Ambito |
|---|---|---|---|---|
| EP-000 | Fondazione Progetto | 2 | 5 | MVP |
| EP-001 | Discovery geolocalizzata | 3 | 9 | MVP |
| EP-002 | Scheda trattoria e conversione rapida | 3 | 7 | MVP |
| EP-003 | Fiducia e feedback | 3 | 8 | MVP |
| EP-004 | Onboarding e gestione trattoria | 3 | 8 | MVP |
| EP-005 | Operazioni staff e qualita marketplace | 3 | 8 | MVP |
| EP-006 | Crescita utenti abituali | 2 | 6 | Growth |
| EP-007 | Espansione del vantaggio competitivo | 1 | 5 | Vision |

**Totale storie:** 20
**Totale punti storia:** 56
**Storie MVP:** 17 (45pt)

---

## Note di Prioritizzazione

- La prima sequenza mette in sicurezza fondazione, discovery e scheda locale, perche sono il percorso minimo che permette a Mario di trovare una sosta utile in meno di un minuto.
- Fiducia, onboarding e backoffice entrano subito nell'MVP per evitare un catalogo poco affidabile e permettere ad Anna e allo staff di mantenere viva la qualita del marketplace.
- Growth e Vision restano nel backlog con taglio piu aggregato: sono importanti, ma vengono dopo la validazione del nucleo ricerca -> scelta -> contatto -> ritorno.

---

## Epic & User Stories

---

### EP-000: Fondazione Progetto

> Costruire la base di sviluppo comune che rende il prodotto implementabile e verificabile end-to-end.
> **Ambito:** MVP | **Storie:** 2 | **Punti Storia:** 5

---

#### US-001: Impostare il workspace di sviluppo condiviso

**Epic:** EP-000 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come developer del team,
voglio trovare un workspace condiviso per mobile, API e merchant web,
cosi da poter iniziare il lavoro senza setup manuali incoerenti.

**Dimostra**
Dopo aver implementato questa storia, un developer puo preparare l'ambiente locale e avviare i principali workspace del prodotto seguendo una procedura unica.

**Criteri di Accettazione**
- [ ] Un nuovo developer trova istruzioni uniche per installare le dipendenze e avviare i workspace principali.
- [ ] Il progetto espone una struttura coerente per mobile, backend e superficie merchant senza passaggi manuali nascosti.
- [ ] In caso di prerequisiti mancanti, il team riceve indicazioni chiare su cosa serve per completare il setup.

---

#### US-002: Automatizzare controlli base di qualita e build

**Epic:** EP-000 | **Priorita:** HIGH | **Punti Storia:** 2 | **Stato:** TODO
**Bloccato da:** US-001

**Storia**
Come developer del team,
voglio eseguire controlli automatici di qualita e build minima del progetto,
cosi da sapere subito se la base tecnica resta affidabile mentre il backlog prende forma.

**Dimostra**
Dopo aver implementato questa storia, un developer puo lanciare una suite base di controlli e vedere un esito chiaro sull'integrita del progetto.

**Criteri di Accettazione**
- [ ] Esiste un comando unico che esegue almeno i controlli essenziali di qualita del workspace.
- [ ] Il risultato distingue chiaramente successo e fallimento senza richiedere interpretazioni manuali.
- [ ] La verifica puo essere rieseguita dal team prima di iniziare nuove funzionalita.

---

### EP-001: Discovery geolocalizzata

> Aiutare il camionista a trovare rapidamente trattorie vicine e adatte al contesto operativo.
> **Ambito:** MVP | **Storie:** 3 | **Punti Storia:** 9

---

#### US-003: Trovare trattorie vicine dalla posizione attuale

**Epic:** EP-001 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Mario, camionista lungo raggio,
voglio vedere le trattorie vicine alla mia posizione attuale,
cosi da decidere in pochi secondi se fermarmi senza uscire dal flusso di lavoro.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo aprire l'app, concedere il consenso alla posizione e vedere un elenco di trattorie vicine ordinato per distanza.

**Criteri di Accettazione**
- [ ] Con consenso attivo alla geolocalizzazione, l'utente vede trattorie entro un raggio definito e ordinate per distanza crescente.
- [ ] Se il consenso viene negato o non e disponibile, l'app spiega come procedere senza lasciare l'utente bloccato.
- [ ] In assenza di risultati vicini, l'app mostra uno stato vuoto comprensibile con un'azione successiva suggerita.

---

#### US-004: Passare tra lista e mappa mantenendo lo stesso contesto

**Epic:** EP-001 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** US-003

**Storia**
Come Mario, camionista lungo raggio,
voglio confrontare le trattorie sia in lista sia su mappa,
cosi da capire subito se una sosta e davvero comoda rispetto alla tratta.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo passare da lista a mappa e vedere gli stessi risultati mantenendo il contesto di ricerca attivo.

**Criteri di Accettazione**
- [ ] L'utente puo passare da lista a mappa senza perdere i risultati della ricerca corrente.
- [ ] Se seleziona un locale in una vista, la stessa selezione risulta riconoscibile anche nell'altra.
- [ ] La mappa resta leggibile e utilizzabile anche quando piu trattorie sono molto vicine tra loro.

---

#### US-005: Filtrare i risultati per bisogni operativi

**Epic:** EP-001 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** US-003

**Storia**
Come Mario, camionista lungo raggio,
voglio filtrare le trattorie per parcheggio camion, apertura, prezzo e badge verificato,
cosi da eliminare subito le opzioni che non sono compatibili con la mia sosta di lavoro.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo applicare filtri pratici e vedere solo i locali coerenti con i propri vincoli operativi.

**Criteri di Accettazione**
- [ ] L'utente puo attivare almeno i filtri parcheggio camion, aperto ora, fascia prezzo e badge verificato.
- [ ] I risultati si aggiornano in modo coerente con i filtri attivi in lista e in mappa.
- [ ] Se nessun locale soddisfa i filtri scelti, l'app mostra un messaggio chiaro e consente di rimuoverli rapidamente.

---

### EP-002: Scheda trattoria e conversione rapida

> Rendere immediata la valutazione del locale e il passaggio all'azione di contatto.
> **Ambito:** MVP | **Storie:** 3 | **Punti Storia:** 7

---

#### US-006: Aprire una scheda completa con segnali decisionali chiari

**Epic:** EP-002 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Mario, camionista lungo raggio,
voglio aprire una scheda trattoria con tutte le informazioni chiave della sosta,
cosi da capire subito se vale la pena fermarmi.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo aprire la scheda di una trattoria e vedere distanza, parcheggio camion, orari, prezzo, badge verificato e freschezza delle informazioni.

**Criteri di Accettazione**
- [ ] La scheda mostra almeno nome, indirizzo, distanza, orari, parcheggio camion, fascia prezzo e contatto disponibile.
- [ ] Il badge verificato e la data dell'ultimo aggiornamento dei contenuti variabili sono visibili e facili da interpretare.
- [ ] Se menu o promo non sono presenti, la scheda resta utile e non penalizza la comprensione del locale.

---

#### US-007: Contattare il locale con un solo tap

**Epic:** EP-002 | **Priorita:** HIGH | **Punti Storia:** 2 | **Stato:** TODO
**Bloccato da:** US-006

**Storia**
Come Mario, camionista lungo raggio,
voglio chiamare il locale o aprire WhatsApp con un solo tap,
cosi da confermare velocemente la sosta senza perdere tempo in passaggi intermedi.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo usare il canale di contatto disponibile direttamente dalla scheda trattoria con un'interazione unica.

**Criteri di Accettazione**
- [ ] Se il locale ha un numero di telefono, l'utente puo avviare la chiamata con un solo tap.
- [ ] Se il locale preferisce WhatsApp, l'utente puo aprire la conversazione con un solo tap.
- [ ] Se sono disponibili entrambi i canali, l'utente li vede chiaramente e sceglie quello preferito senza ambiguita.

---

#### US-008: Vedere menu del giorno e promo quando disponibili

**Epic:** EP-002 | **Priorita:** MEDIUM | **Punti Storia:** 2 | **Stato:** TODO
**Bloccato da:** US-006

**Storia**
Come Mario, camionista lungo raggio,
voglio vedere menu del giorno e promo quando il locale li ha pubblicati,
cosi da scegliere piu velocemente una sosta conveniente.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo distinguere immediatamente se un locale ha contenuti variabili utili alla scelta di quel giorno.

**Criteri di Accettazione**
- [ ] Quando presenti, menu del giorno e promo sono visibili nella scheda con evidenza chiara.
- [ ] Quando assenti, la scheda non mostra vuoti confusi e continua a valorizzare le informazioni statiche essenziali.
- [ ] L'utente capisce se il contenuto visibile e ancora recente grazie all'indicazione di aggiornamento disponibile.

---

### EP-003: Fiducia e feedback

> Costruire segnali di affidabilita semplici e utili per chi sceglie una sosta in fretta.
> **Ambito:** MVP | **Storie:** 3 | **Punti Storia:** 8

---

#### US-009: Lasciare una clacsonata con commento opzionale

**Epic:** EP-003 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Mario, camionista lungo raggio,
voglio lasciare una clacsonata e, se serve, un commento breve,
cosi da segnalare rapidamente ai colleghi che una trattoria merita una sosta.

**Dimostra**
Dopo aver implementato questa storia, un utente autenticato puo confermare una clacsonata e aggiungere un commento breve dalla scheda del locale.

**Criteri di Accettazione**
- [ ] Un utente autenticato puo lasciare una clacsonata dalla scheda trattoria con un'interazione rapida.
- [ ] L'utente puo aggiungere un commento breve opzionale senza essere obbligato a scrivere una recensione lunga.
- [ ] Se l'utente non e autenticato, il sistema spiega come completare l'azione senza perdere il contesto del locale.

---

#### US-010: Valutare affidabilita tramite clacsonate e recensioni recenti

**Epic:** EP-003 | **Priorita:** HIGH | **Punti Storia:** 2 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Mario, camionista lungo raggio,
voglio vedere il totale delle clacsonate e una sintesi delle recensioni recenti,
cosi da stimare subito se un locale e affidabile per una pausa di lavoro.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo aprire una scheda trattoria e leggere i principali segnali sociali senza dover scorrere contenuti dispersivi.

**Criteri di Accettazione**
- [ ] La scheda mostra il totale aggiornato delle clacsonate in modo leggibile.
- [ ] Le recensioni recenti, se presenti, sono sintetizzate in modo da aiutare una scelta veloce.
- [ ] Se un locale ha pochi o nessun feedback, l'app lo comunica senza generare false aspettative.

---

#### US-011: Proteggere il sistema da abusi su clacsonate e recensioni

**Epic:** EP-003 | **Priorita:** MEDIUM | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** US-009

**Storia**
Come staff operativo di TrattorIA,
voglio che clacsonate e recensioni abbiano guardrail minimi contro abusi e spam,
cosi da mantenere credibili i segnali di fiducia del marketplace.

**Dimostra**
Dopo aver implementato questa storia, lo staff puo contare su un flusso di feedback che scoraggia comportamenti abusivi e segnala i casi da controllare.

**Criteri di Accettazione**
- [ ] Il sistema limita comportamenti ripetitivi o sospetti sulle clacsonate persistenti.
- [ ] I contenuti testuali problematici possono essere segnalati allo staff per revisione.
- [ ] Gli utenti coinvolti ricevono un esito coerente quando un'azione non puo essere accettata.

---

### EP-004: Onboarding e gestione trattoria

> Consentire ad Anna di entrare nel marketplace e mantenere utile la propria scheda con poco sforzo.
> **Ambito:** MVP | **Storie:** 3 | **Punti Storia:** 8

---

#### US-012: Registrare o rivendicare la scheda della trattoria

**Epic:** EP-004 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Anna, gestora di trattoria familiare,
voglio registrarmi o rivendicare la scheda del mio locale con un flusso leggero,
cosi da iniziare a farmi trovare dai clienti di passaggio senza complessita inutile.

**Dimostra**
Dopo aver implementato questa storia, una trattoria puo iniziare il proprio onboarding da app o superficie web leggera e collegarsi a una scheda esistente o nuova.

**Criteri di Accettazione**
- [ ] Una trattoria puo avviare registrazione o rivendicazione della scheda con pochi passaggi comprensibili.
- [ ] Il flusso distingue chiaramente tra locale nuovo e locale gia presente da rivendicare.
- [ ] Se mancano informazioni essenziali, il sistema indica cosa serve per completare la richiesta.

---

#### US-013: Aggiornare dati essenziali e canale di contatto preferito

**Epic:** EP-004 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** US-012

**Storia**
Come Anna, gestora di trattoria familiare,
voglio aggiornare i dati essenziali del locale e scegliere il canale di contatto preferito,
cosi da mostrare informazioni pratiche affidabili a chi sta per fermarsi.

**Dimostra**
Dopo aver implementato questa storia, una trattoria puo mantenere aggiornata la propria scheda e indicare se preferisce telefono, WhatsApp o entrambi.

**Criteri di Accettazione**
- [ ] La trattoria puo aggiornare almeno nome, orari, parcheggio camion, fascia prezzo e recapiti.
- [ ] Il locale puo impostare telefono, WhatsApp o entrambi come canali di contatto disponibili.
- [ ] Le modifiche risultano comprensibili per la trattoria prima della pubblicazione o conferma finale.

---

#### US-014: Aggiornare menu del giorno e promo con sforzo minimo

**Epic:** EP-004 | **Priorita:** MEDIUM | **Punti Storia:** 2 | **Stato:** TODO
**Bloccato da:** US-013

**Storia**
Come Anna, gestora di trattoria familiare,
voglio aggiornare menu del giorno e promo in modo rapido quando ne ho bisogno,
cosi da valorizzare l'offerta senza dover gestire uno strumento pesante tutti i giorni.

**Dimostra**
Dopo aver implementato questa storia, la trattoria puo pubblicare o modificare contenuti variabili con un flusso breve e comprensibile.

**Criteri di Accettazione**
- [ ] La trattoria puo inserire o aggiornare menu del giorno e promo senza toccare i dati statici del profilo.
- [ ] Il flusso e abbastanza breve da essere completato rapidamente da un utente poco tecnico.
- [ ] Se il locale non aggiorna questi contenuti, la scheda continua a restare valida con le informazioni essenziali gia presenti.

---

### EP-005: Operazioni staff e qualita marketplace

> Dare allo staff strumenti minimi per verificare locali, moderare contenuti e misurare il funzionamento del marketplace.
> **Ambito:** MVP | **Storie:** 3 | **Punti Storia:** 8

---

#### US-015: Verificare una trattoria dal backoffice

**Epic:** EP-005 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come staff operativo di TrattorIA,
voglio verificare una trattoria da backoffice,
cosi da assegnare il badge verificato solo ai locali che meritano fiducia.

**Dimostra**
Dopo aver implementato questa storia, lo staff puo aprire una scheda interna, valutare le informazioni del locale e decidere se assegnare o meno il badge verificato.

**Criteri di Accettazione**
- [ ] Lo staff puo vedere i dati necessari per prendere una decisione di verifica sul locale.
- [ ] Il badge verificato puo essere assegnato o rimosso con un esito chiaro e tracciabile.
- [ ] Il risultato della verifica diventa visibile in modo coerente anche nella scheda utente del locale.

---

#### US-016: Moderare recensioni e segnalazioni

**Epic:** EP-005 | **Priorita:** HIGH | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** US-015

**Storia**
Come staff operativo di TrattorIA,
voglio moderare recensioni e segnalazioni abusive,
cosi da mantenere il marketplace utile e sicuro per utenti e trattorie.

**Dimostra**
Dopo aver implementato questa storia, lo staff puo revisionare i contenuti segnalati e applicare una decisione coerente senza uscire dal proprio flusso operativo.

**Criteri di Accettazione**
- [ ] Lo staff puo individuare recensioni o segnalazioni che richiedono attenzione.
- [ ] Per ogni contenuto segnalato, lo staff puo confermare, rimuovere o ripristinare con una motivazione operativa chiara.
- [ ] L'esito della moderazione evita che contenuti rimossi continuino a influenzare l'esperienza pubblica.

---

#### US-017: Misurare visualizzazioni e tap di conversione

**Epic:** EP-005 | **Priorita:** MEDIUM | **Punti Storia:** 2 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come team prodotto di TrattorIA,
voglio misurare visualizzazioni scheda, tap su chiamata, tap su WhatsApp e clacsonate,
cosi da capire se il marketplace sta generando valore reale per utenti e trattorie.

**Dimostra**
Dopo aver implementato questa storia, il team puo consultare gli eventi chiave del funnel e valutare se discovery e conversione stanno funzionando.

**Criteri di Accettazione**
- [ ] Il sistema registra almeno visualizzazioni scheda, tap su chiamata, tap su WhatsApp e inserimento clacsonata.
- [ ] Gli eventi raccolti sono interpretabili dal team senza dover ricostruire manualmente il percorso utente.
- [ ] Se un evento non puo essere registrato, il sistema evita di mostrare dati fuorvianti come se fossero completi.

---

### EP-006: Crescita utenti abituali

> Aumentare il ritorno d'uso di Mario quando il valore MVP e gia stato validato.
> **Ambito:** Growth | **Storie:** 2 | **Punti Storia:** 6

---

#### US-018: Salvare trattorie preferite per ritrovarle in fretta

**Epic:** EP-006 | **Priorita:** MEDIUM | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Mario, camionista lungo raggio,
voglio salvare le trattorie che mi hanno convinto,
cosi da poterle ritrovare rapidamente nelle soste future.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo aggiungere o rimuovere una trattoria dai preferiti e ritrovarla in una vista dedicata.

**Criteri di Accettazione**
- [ ] L'utente autenticato puo salvare una trattoria tra i preferiti dalla scheda locale.
- [ ] I preferiti risultano disponibili in una sezione facile da ritrovare nelle soste successive.
- [ ] Se una trattoria non e piu disponibile, il sistema gestisce il preferito in modo chiaro senza spezzare l'esperienza.

---

#### US-019: Rivedere uno storico sintetico delle soste utili

**Epic:** EP-006 | **Priorita:** LOW | **Punti Storia:** 3 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Mario, camionista lungo raggio,
voglio rivedere uno storico sintetico delle soste che ho giudicato utili,
cosi da costruire nel tempo una routine di posti affidabili.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo consultare un elenco recente delle soste o interazioni rilevanti gia fatte nell'app.

**Criteri di Accettazione**
- [ ] L'utente puo vedere uno storico sintetico delle trattorie con cui ha interagito in modo significativo.
- [ ] Ogni voce dello storico aiuta a ritrovare rapidamente il locale senza richiedere nuova ricerca manuale.
- [ ] Lo storico evita di esporre dettagli non necessari sulla posizione precisa dell'utente.

---

### EP-007: Espansione del vantaggio competitivo

> Trasformare i segnali raccolti dall'MVP in un motore di scelta piu personale e distintivo.
> **Ambito:** Vision | **Storie:** 1 | **Punti Storia:** 5

---

#### US-020: Ricevere suggerimenti personalizzati di soste affidabili

**Epic:** EP-007 | **Priorita:** LOW | **Punti Storia:** 5 | **Stato:** TODO
**Bloccato da:** -

**Storia**
Come Mario, camionista lungo raggio,
voglio ricevere suggerimenti personalizzati di trattorie affidabili,
cosi da trovare piu velocemente nuove soste compatibili con le mie abitudini.

**Dimostra**
Dopo aver implementato questa storia, l'utente puo vedere suggerimenti motivati da segnali gia raccolti nell'app invece di una semplice lista generica.

**Criteri di Accettazione**
- [ ] I suggerimenti esplicitano almeno un motivo comprensibile della raccomandazione.
- [ ] Le trattorie consigliate restano coerenti con i vincoli pratici che contano per l'utente on-the-road.
- [ ] Se i dati personali non sono ancora sufficienti, il sistema mostra un comportamento fallback utile e non opaco.

---

## Assunzioni e Questioni Aperte del Backlog

> _Questa sezione elenca le assunzioni fatte durante la generazione del backlog e le questioni lasciate aperte per il team._

- **[ASSUNZIONE]** La navigazione pubblica delle trattorie puo partire senza account, mentre autenticazione e persistenza sono richieste per clacsonate, recensioni e preferiti.
- **[ASSUNZIONE]** Il primo rilascio copre bene il bisogno principale anche senza ricerca lungo il percorso, pur lasciando aperta un'evoluzione futura per corridoi logistici.
- **[OPEN]** Va validato sul campo se l'acquisizione app-only basta oppure se serve anticipare una superficie web piu ampia per discovery e SEO locale.
- **[OPEN]** Il modello operativo del badge verificato va testato per capire quale carico umano regge una copertura nazionale di trattorie.
- **[OPEN]** Resta da definire quanto supporto umano su WhatsApp serva davvero nell'onboarding prima di introdurre automazione assistita da AI.

---

_Backlog generato tramite ARchetipo - 2026-05-06_
_[Totale 20 storie su 8 epic - 56 punti storia complessivi]_
