# 📘 CAPITOLO 8.1 — SCHEDE ANAGRAFICA UNICA & CONDOMINI **Versione:** 0.1 • **Data:** 27 Novembre 2025 • **Autore:** Copilot NetGescon > Obiettivo: tradurre le maschere legacy (Gesnom / gestionale contabile) in un'interfaccia web moderna e responsive capace di governare l'anagrafica unica NetGescon, collegando clienti, fornitori, condòmini, occupanti e unità immobiliari. --- ## 1. Visione UX e principi guida - **Context-aware**: ogni scheda mostra sempre il contesto (Condominio ⇄ Soggetto ⇄ Unità) nella barra superiore con breadcrumb e quick switch. - **Dual-pane layout**: elenco compatto a sinistra (ricerche, segmenti, preferiti), dettagli a destra con tab/pillole per gruppi dati (generalità, indirizzi, relazioni, CRM, documenti). - **Action rail verticale**: replica l'idea dei pulsanti rapidi legacy (CRM, contatti, banche, ecc.) ma con icone + tooltip e possibilità di pinnare le azioni usate spesso. - **Atomic data**: una sola anagrafica alimenta clienti, fornitori, condòmini, tecnici, gestori. Ogni tab lavora su viste/ruoli senza duplicare dati. - **Smart assist**: badge di completezza, avvisi (es. CF mancante, IBAN scaduto, documento identità in scadenza) e suggerimenti per import pipeline. --- ## 2. Struttura schermata | Sezione | Componenti | Dettagli | | --- | --- | --- | | **Top Context Bar** | `` | • Breadcrumb: Dashboard / Condominio / Anagrafica • Selector condominio con ricerca rapida • Indicatori Stato (es. rate scadute, ticket aperti). | | **Left Rail (List & Filters)** | `` | • Ricerca full-text, filtri (ruolo, stato, tag) • Segmenti salvati • Avatar/iniziali • Stato (attivo, sospeso, da importare). | | **Main Detail Tabs** | `` + `` | Tab principali: 1) Generale 2) Indirizzi & recapiti 3) Dati fiscali 4) Relazioni condominiali 5) CRM & attività 6) Documenti 7) Canali (email/SMS) 8) Contabilità & banche. | | **Right Action Rail** | `` | • Pulsanti rapidi (nuova nota, email, SMS, upload doc, crea accesso web) • KPI verticali (saldo rate, ultime attività) • Shortcut a stampe. | | **Footer Utility** | `` | • Pulsanti Salva, Duplica, Storico versioni • Stato sincronizzazione pipeline (ultima importazione, conflitti). | Responsive: sotto i 992px list diventa off-canvas, azioni si trasformano in bottom sheet. --- ## 3. Mapping tab legacy → NetGescon | Tab Legacy | Nuova scheda | Dati Laravel | Note UX | | --- | --- | --- | --- | | Generale + Dati fiscali | **Panoramica** | `rubrica_universale`, `soggetti`, `rubrica_ruoli` | Card con info anagrafica, badges ruolo (cliente/fornitore/condomino), icone CF/P.IVA verificate. | | Indirizzi 1/2, fatturazione, incassi | **Indirizzi & recapiti** | `rubrica_indirizzi`, `indirizzi_operativi` | Timeline modifiche + checkbox "sincronizza con operativo". Supporto multi-indirizzo con tag (legale, operativo, fatturazione, incassi). | | Dati extra / certificazione unica | **Compliance & CU** | `rubrica_compliance`, `documenti_identita` | Card collapsible per campi CU, residenza estera, categoria previdenziale. Alert quando mancano campi obbligatori. | | Collegamenti / riferimenti / storico nominativi | **Relazioni & Storico** | `rubrica_relazioni`, `audit_logs` | Tabella relazioni (unità, incarichi, pertinenze) + timeline versioni indirizzi. | | CRM, email, SMS | **Comunicazioni** | `crm_attivita`, `notifiche_outbox` | Sub-tabs: Timeline, Email, SMS. Editor WYSIWYG + template. Filtri "solo condominio corrente". | | Banche appoggio | **Pagamenti & IBAN** | `rubrica_banche`, `mandati_sdd` | Lista IBAN con icone stato (verificato, scaduto). Supporto upload mandato. | | Contatti | **Referenti** | `rubrica_contatti` | Mini-card per referenti (nome, ruolo, canali, note). Pulsante "invita a portale". | | Utenti WEB | **Accessi digitali** | `user_accounts` | Gestione credenziali, 2FA, ruoli portale, log accessi. | | Gestione clienti (scheda riepilogo) | **Scheda condominiale** | `unita_immobiliari`, `proprieta`, `contratti_servizi` | Widget laterali per unità associate, ruoli (proprietario, inquilino, tecnico), stato rate. | --- ## 4. Widget condominiali chiave 1. **Riepilogo Condominio** (top right): nome stabile, cod. condominio, numero unità, millesimi gestiti, prossime assemblee. 2. **Unità collegate**: tabella scrollabile (Scala, Interno, Ruolo, Millesimi, Stato occupazione, flag locale tecnico). Filtri rapidi per "solo pertinenze". 3. **Stato Rate & Fatture**: cards con importi scaduti, in scadenza, piani di rientro. CTA "Apri StampeRate". 4. **Attività recenti**: timeline ultima nota, email, chiamata dal CRM; icone colorate per canale. 5. **Documenti rapidi**: chip per documento identità, contratto locazione, manutenzioni in corso. --- ## 5. Flussi operativi prioritari ### 5.1 Navigazione Condominio → Soggetto 1. Seleziono condominio dalla barra. 2. Il list mostra solo soggetti legati al condominio; badge "import" per record provenienti dalla pipeline. 3. Click su soggetto: pannello dettagli si aggiorna, i widget laterali rimangono contestualizzati (es. rate condominio X). ### 5.2 Aggiornare indirizzo e sincronizzare ruoli - Form dinamico con switch "Applica a tutti i ruoli (cliente, fornitore, condomino)". - Salvataggio tramite `LiveValidator + FormHandler` già descritti nel capitolo 8. - Al salvataggio, mostra snackbar con elenco ruoli aggiornati e link allo storico. ### 5.3 Invio comunicazioni massive - Dalla tab Comunicazioni: selezione template → scelta canale (Email / PEC / SMS) → definizione destinatari (ruoli, filtri CRM). - Preview in modal, allegati drag&drop, logging automatico in `crm_attivita` e relazione con condominio. ### 5.4 Gestione locali tecnici - Widget "Locali Tecnici" nella tab Relazioni: elenco con manutentori assegnati, contratti attivi, calendario interventi. - Pulsante "Aggiungi manutentore" apre slide-over con picklist soggetti già presenti; se nuovo, quick-create con campi minimi. --- ## 6. Componenti da realizzare | Componente | Tipo | Note di implementazione | | --- | --- | --- | | `resources/views/components/anagrafica/context-header.blade.php` | Blade | Breadcrumb + selectors + badge stato. | | `resources/js/modules/anagrafica/ListPanel.js` | JS/Alpine | Ricerca, filtri, infinite scroll. | | `resources/views/anagrafica/show.blade.php` | Pagina | Contiene struttura dual-pane con tabs. | | `resources/js/modules/anagrafica/RelationsWidget.js` | JS/Alpine | Gestisce unità collegate e ruoli. | | `resources/views/components/action/rail.blade.php` | Blade | Pulsanti rapidi, KPI. | | `resources/js/modules/anagrafica/CommunicationCenter.js` | JS | Editor email/SMS, integrazione template. | Ogni componente deve rispettare linee guida di Capitolo 8 (Bootstrap 5 + Alpine, lazy loading, validazione live). --- ## 7. Integrazione con pipeline import 1. **Badge provenienza**: `source=gescon` → etichetta su card soggetto con link a record storico. 2. **Campi read-only**: per dati bloccati dall'import (es. codice legacy) mostra badge "Gestito da import" con tooltip. 3. **Task list riconciliazione**: nella sidebar appare lista delle incongruenze (CF mancante, IBAN incompleto) alimentata da `import_discrepancies`. 4. **Storico versioni**: integrazione con `LegacyArchiveService` per aprire view "storico nominativi" direttamente dalla UI. --- ## 8. Roadmap di sviluppo 1. **Sprint 1** - Contesto + List Panel + scheda Panoramica - Widget unità collegate (read-only) 2. **Sprint 2** - Tab Indirizzi/Recapiti e Dati fiscali - Action rail + quick actions (note/email) 3. **Sprint 3** - Comunicazioni (email/SMS) + timeline CRM - Referenti e banche 4. **Sprint 4** - Accessi digitali, allegati documentali, locali tecnici - Integrazione alert pipeline + validazioni avanzate Ogni sprint dovrà includere test HTTP/Feature per endpoint e test di componenti Livewire/Alpine dove applicabile. --- ## 9. Next steps immediati - Definire schema API / endpoints per: - `/api/anagrafica/{id}/relations` - `/api/anagrafica/{id}/communications` - `/api/anagrafica/{id}/financial` - Preparare mock JSON per sviluppo frontend (fixtures in `resources/js/mocks/anagrafica`). - Allineare `docs/07-IMPORT-UNITA-IMMOBILIARI.md` con nuove viste per verificare che ogni campo importato abbia una collocazione UI. --- **Risultato atteso:** operatori amministratori possono navigare rapidamente tra condominio, soggetti e unità, aggiornare dati anagrafici, inviare comunicazioni e verificare situazioni economiche senza uscire dalla scheda, mantenendo semplicità visiva rispetto alle maschere legacy ma sfruttando la flessibilità web.