netgescon-day0/docs/roadmaps/affitti-fornitori-roadmap.md

6.6 KiB
Raw Blame History

Roadmap Gestione Affitti & Hub Fornitori

Aggiornato al 28/11/2025

1. Obiettivi strategici

  • Gestione Affitti: offrire una console operativa unica che monitori contratti, unità, task e timeline collegati ai ticket manutentivi.
  • Hub Fornitori: trasformare lattuale elenco in un portale operativo con scheda 360°, SLA, documenti e collegamento diretto alla Rubrica Unica / Ticket Planner.
  • Allineamento Legacy: mappare i dati provenienti dalle viste storiche (screenshot/manuali allegati) per sapere dove innestare ogni informazione.

2. Stato attuale

Area File / Endpoint Note principali
Gestione Affitti App\Http\Controllers\Admin\AffittiController::index + resources/views/admin/affitti/index.blade.php Console mock completata (metriche, contratti, taskboard, timeline, CTA future).
Scheda Anagrafica resources/views/anagrafica/show.blade.php tab "Affitti" CTA collegata alla console (route('admin.affitti.index')).
Menu resources/views/components/menu/sidebar-netgescon.blade.php Nuove voci Amministrazione: Gestione Affitti, Hub Fornitori, Ticket Planner.
Hub Fornitori App\Http\Controllers\Admin\FornitoreController, App\Models\Fornitore, resources/views/admin/fornitori/*.blade.php CRUD basico con tabella Bootstrap; nessun layer visivo NetGescon, niente filtri o agganci Rubrica/Tickets.

3. Roadmap Gestione Affitti

  1. Fase A Stabilizzazione UI (COMPLETATA)
    • Console NetGescon reattiva, CTA dal menu e dalla scheda anagrafica.
  2. Fase B Collegamento dati reali (in corso)
    • Collegare AffittiController@index a modelli reali (contratti, unità, task).
    • Creare repository per aggregare: contratti attivi, prossime scadenze, incassi previsti, tasso occupazione.
    • Integrare filtri (stabile, tipologia, priorità), search e KPI storici.
  3. Fase C Workflow 360° (da pianificare)
    • Trigger da Rubrica Unica: dalla scheda soggetto si apre il contratto relativo.
    • Inline actions (rinnova contratto, genera bollettini, apri ticket manutenzione).
    • Timeline condivisa con Ticket Planner (mostra attività tecniche e autorizzazioni).

4. Roadmap Hub Fornitori

4.1 Vision UI

  • Hero + KPI: numero fornitori attivi, SLA in corso, ticket aperti per fornitore.
  • Lista con filtri: chips per categoria (impianti, pulizie, legale), quick search, badge SLA.
  • Scheda Fornitore:
    • Identità: ragione_sociale, codice_univoco, P.IVA / CF, riferimento Rubrica (rubrica_id).
    • Contatti: email, pec, telefono, cellulare, sito_web, geolocalizzazione (indirizzo, civico, cap, citta, provincia, nazione).
    • Compliance: regime_fiscale_id, tipologia_cassa_id, aliquota_iva_id, documenti garantiti.
    • Operatività: assignee nei ticket (ticketsAssegnati), storico interventi, rating qualità.
    • Timeline + allegati (verbali, DURC, assicurazioni).
  • Ticket Planner widget: card laterale con prossimi interventi e stato squadra.

4.2 Gap analisi rispetto al modello dati attuale

  • Il modello Fornitore espone già tutti i campi anagrafici e fiscali, oltre a rubrica_id e ticketsAssegnati.
  • Mancano campi per SLA e tagging (si possono calcolare con pivot custom o jsonb metadata).
  • Le viste Blade attuali mostrano solo poche colonne; non cè componente NetGescon per card/filters.

4.3 Piano azioni

Step Deliverable Dettagli Dipendenze
F1 Console Hub Fornitori (lista) Nuova view Tailwind con hero, filtri rapidi, tabella responsive e collegamento diretto alla Rubrica Unica (button "Apri contatto"). Layout NetGescon pronto, metriche mock da FornitoreController@index.
F2 Scheda Fornitore 360° Nuova route admin.fornitori.show ridisegnata: tabs Informazioni, Compliance, Documenti, Ticket. Include componenti cards e timeline. Richiede mapping campi modello + endpoint ticketsAssegnati.
F3 Modulo creazione/edizione guidato Wizard 3 step (Identità, Contatti, Fisco/Note) con validazioni UI, autocompletamento Rubrica (rubrica_id). Nuovi componenti form NetGescon; eventuali API per ricerca rubrica.
F4 Integrazione Ticket Planner Mostrare accanto ai fornitori i ticket assegnati e permettere di schedulare interventi (link route('admin.tickets.index')#planner). Dipende dal refactoring Ticket Planner (macro roadmap manutenzioni).
F5 Metrics & Insights Dashboard mini-KPI (tempo medio di intervento, fatturato, rating) alimentati da tabelle tickets, documenti, fatture. Disponibilità dati contabili / ticket.

5. Mappa dati verso Rubrica Unica

Campo Fornitore Origine / Destinazione Rubrica Note
rubrica_id FK verso rubrica_universale.id Necessario per aprire la scheda Rubrica direttamente dal fornitore.
ragione_sociale / nome / cognome Scheda contatto rubrica Usare logica: se azienda ⇒ ragione_sociale, se professionista ⇒ nome + cognome.
indirizzo, civico, cap, citta, provincia, nazione Dati localizzazione Rubrica Consentono mappe e filtri geografici condivisi.
email, pec, telefono, cellulare, sito_web Canali di contatto Mappare multi-canale su Rubrica per usare il composer comunicazioni.
regime_fiscale_id, tipologia_cassa_id, aliquota_iva_id Tassonomia fiscale Rubrica Serve per fatturazione e controllo DURC.
codice_univoco, old_id Bridge con legacy Gescon Usati per sincronizzare record importati e storicizzare riferimenti manuali.

6. Sequenza di implementazione suggerita

  1. Sprint 1 (in corso)
    • Rifinitura console affitti con filtri e toggle dataset reali.
    • Aggiornamento menu + CTA (completati).
  2. Sprint 2
    • Delivery F1 (lista Hub Fornitori) + endpoint API per filtri/search.
    • Introduzione skeleton component condiviso per card/liste.
  3. Sprint 3
    • Delivery F2 + F3 (scheda completa + wizard).
    • Collegamento puntuale con Rubrica Unica (deep link "Apri contatto").
  4. Sprint 4
    • Ticket Planner integration (F4) + timeline condivisa con Affitti.
    • Prima versione insights (F5) e sincronizzazione con moduli contabili.

7. Prossimi passi immediati

  • Convertire admin.fornitori.index alla stessa estetica della console Affitti per creare continuità visiva.
  • Definire DTO o ViewModel condivisi per Contratti e Fornitori, così da popolare le viste senza query duplicate.
  • Mappare i campi legacy (screen/manuali) verso i componenti UI definiti qui per non perdere informazioni durante la migrazione finale.