# 📊 DATI ESEMPIO - NetGesCon Laravel

**📅 Creato**: 9 Luglio 2025  
**🎯 Scopo**: Dati realistici per seeder e testing  
**👥 Utilizzo**: Sviluppo, test, demo  
**🔄 Sincronizzazione**: TestSetupSeeder.php  

---

## 🏢 **STABILI DI ESEMPIO**

### 🏠 **Stabile 1 - Condominio Residenziale Piccolo**
```php
// Via Giuseppe Verdi 12, Milano (MI)
'codice' => 'COND001',
'denominazione' => 'Condominio Verdi',
'indirizzo' => 'Via Giuseppe Verdi 12',
'citta' => 'Milano',
'provincia' => 'MI',
'cap' => '20121',
'codice_fiscale' => '80012345678',
'partita_iva' => null,
'unita_immobiliari' => 8,
'piano_interrato' => true,
'piano_terra' => true,
'piani_superiori' => 3,
'ascensore' => true,
'riscaldamento_centralizzato' => true,
'anno_costruzione' => 1965,
'categoria_catastale' => 'A/3',
'superficie_commerciale' => 850.00, // mq
```

### 🏢 **Stabile 2 - Condominio Medio**
```php
// Corso Italia 45, Roma (RM) 
'codice' => 'COND002',
'denominazione' => 'Residenza Italia',
'indirizzo' => 'Corso Italia 45',
'citta' => 'Roma',
'provincia' => 'RM', 
'cap' => '00186',
'codice_fiscale' => '80023456789',
'partita_iva' => null,
'unita_immobiliari' => 24,
'piano_interrato' => true,
'piano_terra' => true,
'piani_superiori' => 6,
'ascensore' => true,
'riscaldamento_centralizzato' => true,
'anno_costruzione' => 1980,
'categoria_catastale' => 'A/2',
'superficie_commerciale' => 2400.00, // mq
```

### 🏙️ **Stabile 3 - Condominio Complesso**
```php
// Viale Europa 88, Torino (TO)
'codice' => 'COND003', 
'denominazione' => 'Complesso Europa',
'indirizzo' => 'Viale Europa 88',
'citta' => 'Torino',
'provincia' => 'TO',
'cap' => '10126',
'codice_fiscale' => '80034567890',
'partita_iva' => null,
'unita_immobiliari' => 45,
'piano_interrato' => true,
'piano_terra' => true,
'piani_superiori' => 12,
'ascensore' => true,
'riscaldamento_centralizzato' => true,
'anno_costruzione' => 1995,
'categoria_catastale' => 'A/1',
'superficie_commerciale' => 4200.00, // mq
```

---

## 🏠 **UNITÀ IMMOBILIARI**

### 🏡 **Condominio Verdi** *(8 unità)*

#### **Piano Interrato**
```php
// Garage/Cantine
['piano' => -1, 'numero' => 'G1', 'tipo' => 'garage', 'superficie' => 15.0, 'millesimi_proprieta' => 18],
['piano' => -1, 'numero' => 'G2', 'tipo' => 'garage', 'superficie' => 18.0, 'millesimi_proprieta' => 22],
['piano' => -1, 'numero' => 'C1', 'tipo' => 'cantina', 'superficie' => 8.0, 'millesimi_proprieta' => 10],
['piano' => -1, 'numero' => 'C2', 'tipo' => 'cantina', 'superficie' => 10.0, 'millesimi_proprieta' => 12],
```

#### **Piano Terra**
```php
// Appartamenti piano terra
['piano' => 0, 'numero' => '1', 'tipo' => 'appartamento', 'superficie' => 75.0, 'millesimi_proprieta' => 95],
['piano' => 0, 'numero' => '2', 'tipo' => 'appartamento', 'superficie' => 65.0, 'millesimi_proprieta' => 85],
```

#### **Primi Piani**
```php
// Piano primo
['piano' => 1, 'numero' => '3', 'tipo' => 'appartamento', 'superficie' => 80.0, 'millesimi_proprieta' => 105],
['piano' => 1, 'numero' => '4', 'tipo' => 'appartamento', 'superficie' => 70.0, 'millesimi_proprieta' => 90],

// Piano secondo  
['piano' => 2, 'numero' => '5', 'tipo' => 'appartamento', 'superficie' => 85.0, 'millesimi_proprieta' => 110],
['piano' => 2, 'numero' => '6', 'tipo' => 'appartamento', 'superficie' => 75.0, 'millesimi_proprieta' => 95],

// Piano terzo (mansarde)
['piano' => 3, 'numero' => '7', 'tipo' => 'mansarda', 'superficie' => 60.0, 'millesimi_proprieta' => 75],
['piano' => 3, 'numero' => '8', 'tipo' => 'mansarda', 'superficie' => 55.0, 'millesimi_proprieta' => 70],
```

### 📊 **Verifica Millesimi**
```php
// Totale millesimi: 18+22+10+12+95+85+105+90+110+95+75+70 = 787
// NOTA: Discostamento da 1000 normale per parti comuni
// Parti comuni: 1000 - 787 = 213 millesimi (scale, ascensore, tetto, ecc.)
```

---

## 👥 **SOGGETTI** *(Proprietari e Inquilini)*

### 🏠 **Condominio Verdi - Soggetti**

#### **Proprietari Residenti**
```php
// Famiglia Rossi (Appartamento 1 + Garage 1)
[
    'tipo' => 'persona_fisica',
    'nome' => 'Mario',
    'cognome' => 'Rossi',
    'codice_fiscale' => 'RSSMRA70A01F205X',
    'email' => 'mario.rossi@email.com',
    'telefono' => '+39 340 1234567',
    'ruolo_principale' => 'proprietario',
    'residente' => true,
    'unita' => ['1', 'G1']
],

// Famiglia Bianchi (Appartamento 3)
[
    'tipo' => 'persona_fisica', 
    'nome' => 'Giulia',
    'cognome' => 'Bianchi',
    'codice_fiscale' => 'BNCGLI80B01F205Y',
    'email' => 'giulia.bianchi@email.com',
    'telefono' => '+39 347 2345678',
    'ruolo_principale' => 'proprietario',
    'residente' => true,
    'unita' => ['3']
],
```

#### **Proprietari Non Residenti**
```php
// Immobiliare Azzurra SRL (Appartamenti in affitto)
[
    'tipo' => 'persona_giuridica',
    'denominazione' => 'Immobiliare Azzurra SRL',
    'codice_fiscale' => '12345678901',
    'partita_iva' => '12345678901',
    'email' => 'amministrazione@immobiliareazzurra.it',
    'telefono' => '+39 02 8765432',
    'ruolo_principale' => 'proprietario',
    'residente' => false,
    'unita' => ['2', '4', 'G2']
],
```

#### **Inquilini**
```php
// Inquilino App. 2 (proprietà Immobiliare Azzurra)
[
    'tipo' => 'persona_fisica',
    'nome' => 'Luca',
    'cognome' => 'Verdi',
    'codice_fiscale' => 'VRDLCU85C01F205Z',
    'email' => 'luca.verdi@email.com', 
    'telefono' => '+39 348 3456789',
    'ruolo_principale' => 'inquilino',
    'residente' => true,
    'unita' => ['2'],
    'contratto_riferimento' => 'CONTR_002'
],

// Inquilino App. 4 (proprietà Immobiliare Azzurra)
[
    'tipo' => 'persona_fisica',
    'nome' => 'Anna',
    'cognome' => 'Neri', 
    'codice_fiscale' => 'NRANNA90D01F205W',
    'email' => 'anna.neri@email.com',
    'telefono' => '+39 351 4567890',
    'ruolo_principale' => 'inquilino',
    'residente' => true,
    'unita' => ['4'],
    'contratto_riferimento' => 'CONTR_004'
],
```

---

## 🏦 **GESTIONI CONDOMINIALI**

### 💼 **Gestione 2024 - Condominio Verdi**
```php
'codice' => 'GEST2024_001',
'stabile_id' => 1, // Condominio Verdi
'denominazione' => 'Gestione Ordinaria 2024',
'data_inizio' => '2024-01-01',
'data_fine' => '2024-12-31',
'stato' => 'attiva',
'budget_previsto' => 15000.00,
'budget_speso' => 8450.00, // (aggiornato a luglio)
'budget_residuo' => 6550.00,
'note' => 'Gestione ordinaria con focus su manutenzione ascensore',

// Ripartizione budget per categorie
'categorie_spesa' => [
    'pulizie' => 3600.00,           // 24%
    'riscaldamento' => 4500.00,     // 30%  
    'ascensore' => 2400.00,         // 16%
    'giardino' => 1200.00,          // 8%
    'amministrazione' => 1800.00,   // 12%
    'manutenzioni' => 1500.00       // 10%
],
```

### 🔧 **Gestione Straordinaria 2024**
```php
'codice' => 'GEST2024_001_STRAORD',
'stabile_id' => 1,
'denominazione' => 'Rifacimento Tetto 2024',
'data_inizio' => '2024-06-01',
'data_fine' => '2024-09-30',
'stato' => 'in_corso',
'budget_previsto' => 25000.00,
'budget_speso' => 12000.00,
'budget_residuo' => 13000.00,
'note' => 'Rifacimento completo copertura tetto e grondaie',
```

---

## 📋 **CONTRATTI LOCAZIONE**

### 🏠 **Contratto 1 - App. 2**
```php
'codice' => 'CONTR_002',
'unita_id' => 2, // Appartamento 2
'locatore_id' => 4, // Immobiliare Azzurra
'conduttore_id' => 5, // Luca Verdi
'tipo_contratto' => 'libero_mercato',
'data_inizio' => '2023-09-01',
'data_fine' => '2027-08-31',
'canone_mensile' => 850.00,
'deposito_cauzionale' => 1700.00,
'spese_condominiali' => 'incluse',
'stato' => 'attivo',
'note' => 'Contratto 4+4 anni, rinnovo automatico',
```

### 🏠 **Contratto 2 - App. 4**
```php
'codice' => 'CONTR_004',
'unita_id' => 4, // Appartamento 4
'locatore_id' => 4, // Immobiliare Azzurra 
'conduttore_id' => 6, // Anna Neri
'tipo_contratto' => 'canone_concordato',
'data_inizio' => '2024-03-01',
'data_fine' => '2027-02-28',
'canone_mensile' => 720.00,
'deposito_cauzionale' => 1440.00, 
'spese_condominiali' => 'separate',
'stato' => 'attivo',
'note' => 'Canone concordato comune Milano',
```

---

## 💰 **MOVIMENTI CONTABILI**

### 🧾 **Entrate 2024** *(Esempi)*
```php
// Rate condominiali
[
    'data' => '2024-01-15',
    'tipo' => 'entrata',
    'categoria' => 'rate_condominiali',
    'descrizione' => 'Rate I trimestre 2024 - Rossi Mario',
    'importo' => 350.00,
    'soggetto_id' => 1, // Mario Rossi
    'metodo_pagamento' => 'bonifico',
    'riferimento' => 'RATA_2024_T1_001'
],

[
    'data' => '2024-01-18', 
    'tipo' => 'entrata',
    'categoria' => 'rate_condominiali',
    'descrizione' => 'Rate I trimestre 2024 - Bianchi Giulia',
    'importo' => 385.00,
    'soggetto_id' => 2, // Giulia Bianchi
    'metodo_pagamento' => 'bonifico',
    'riferimento' => 'RATA_2024_T1_003'
],
```

### 💸 **Uscite 2024** *(Esempi)*
```php
// Spese pulizie
[
    'data' => '2024-01-31',
    'tipo' => 'uscita', 
    'categoria' => 'pulizie',
    'descrizione' => 'Pulizie scale e parti comuni - Gennaio 2024',
    'importo' => 280.00,
    'fornitore' => 'Pulizie Srl',
    'fattura_numero' => 'FATT_001_2024',
    'scadenza_pagamento' => '2024-02-15'
],

// Manutenzione ascensore
[
    'data' => '2024-02-15',
    'tipo' => 'uscita',
    'categoria' => 'ascensore', 
    'descrizione' => 'Manutenzione trimestrale ascensore',
    'importo' => 450.00,
    'fornitore' => 'Otis Italia',
    'fattura_numero' => 'OT_2024_0234',
    'scadenza_pagamento' => '2024-03-15'
],
```

---

## 📊 **RIPARTIZIONI MILLESIMI**

### 🧮 **Tabelle Millesimali - Condominio Verdi**

#### **Proprietà Generale** *(Totale: 1000)*
```php
'unita_1' => 95,   // App. 1 - 75 mq
'unita_2' => 85,   // App. 2 - 65 mq  
'unita_3' => 105,  // App. 3 - 80 mq
'unita_4' => 90,   // App. 4 - 70 mq
'unita_5' => 110,  // App. 5 - 85 mq
'unita_6' => 95,   // App. 6 - 75 mq
'unita_7' => 75,   // App. 7 - 60 mq (mansarda)
'unita_8' => 70,   // App. 8 - 55 mq (mansarda)
'garage_1' => 18,  // Garage 1 - 15 mq
'garage_2' => 22,  // Garage 2 - 18 mq  
'cantina_1' => 10, // Cantina 1 - 8 mq
'cantina_2' => 12, // Cantina 2 - 10 mq
// Parti comuni
'scale_ascensore' => 120,
'tetto_facciata' => 93,
'totale' => 1000
```

#### **Riscaldamento** *(Solo appartamenti)*
```php
'unita_1' => 145,  // Piano terra (maggiore dispersione)
'unita_2' => 125,  // Piano terra
'unita_3' => 135,  // Piano primo
'unita_4' => 120,  // Piano primo
'unita_5' => 140,  // Piano secondo
'unita_6' => 130,  // Piano secondo  
'unita_7' => 100,  // Mansarda (minor volume)
'unita_8' => 105,  // Mansarda
'totale' => 1000
```

#### **Ascensore** *(Escluso piano terra)*
```php
'unita_3' => 200,  // Piano primo
'unita_4' => 180,  // Piano primo
'unita_5' => 220,  // Piano secondo
'unita_6' => 200,  // Piano secondo
'unita_7' => 100,  // Mansarda (peso ridotto)
'unita_8' => 100,  // Mansarda
'totale' => 1000
```

---

## 🔐 **UTENTI TEST** *(Riferimento CREDENZIALI_TEST.md)*

### 👤 **Amministratori**
- **admin@netgescon.com** - Super Admin
- **admin.verdi@netgescon.com** - Admin Condominio Verdi
- **admin.italia@netgescon.com** - Admin Residenza Italia

### 👨‍👩‍👧‍👦 **Condomini**
- **mario.rossi@email.com** - Proprietario residente
- **giulia.bianchi@email.com** - Proprietario residente
- **luca.verdi@email.com** - Inquilino

### 🏢 **Fornitori**
- **pulizie@email.com** - Ditta pulizie
- **manutentore@email.com** - Manutentore generico

---

## 📨 **COMUNICAZIONI ESEMPIO**

### 📧 **Template Email**
```php
// Avviso assemblea
'oggetto' => 'Convocazione Assemblea Condominiale - 15 Marzo 2024',
'mittente' => 'Amministratore Condominio Verdi',
'template' => 'assemblea_convocazione',
'variabili' => [
    'condominio' => 'Condominio Verdi',
    'data_assemblea' => '15/03/2024',
    'ora' => '18:00',
    'luogo' => 'Sala riunioni - Piano terra',
    'ordine_giorno' => [
        'Approvazione bilancio 2023',
        'Budget previsionale 2024', 
        'Rifacimento tetto',
        'Varie ed eventuali'
    ]
]
```

### 💸 **Sollecito Pagamento**
```php
'oggetto' => 'Sollecito pagamento rate condominiali',
'template' => 'sollecito_pagamento',
'variabili' => [
    'nome_condomino' => 'Mario Rossi',
    'unita' => 'Appartamento 1',
    'importo_dovuto' => 350.00,
    'scadenza' => '31/01/2024',
    'giorni_ritardo' => 15,
    'iban' => 'IT60 X054 2811 1010 0000 0123 456'
]
```

---

## 📊 **SCENARI TEST COMPLESSI**

### 🧪 **Scenario A: Condominio Piccolo** *(Per test base)*
- **Stabili**: 1 (Condominio Verdi)
- **Unità**: 8 appartamenti + 4 pertinenze
- **Soggetti**: 12 (8 proprietari + 4 inquilini)
- **Budget annuale**: 15.000€
- **Complessità**: Bassa - Ideale per test CRUD

### 🧪 **Scenario B: Condominio Medio** *(Per test performance)*
- **Stabili**: 2 (Verdi + Italia)
- **Unità**: 32 totali
- **Soggetti**: 45 
- **Budget annuale**: 45.000€
- **Complessità**: Media - Test performance query

### 🧪 **Scenario C: Condominio Complesso** *(Per stress test)*
- **Stabili**: 3 (Verdi + Italia + Europa)
- **Unità**: 77 totali
- **Soggetti**: 120+
- **Budget annuale**: 200.000€
- **Complessità**: Alta - Stress test sistema

### 🔧 **Scenario Edge Cases**
```php
// Casi limite per test robustezza
- Unità con millesimi 0 (parcheggi non computabili)
- Soggetti con quote multiple su stesso stabile
- Contratti con date sovrapposte
- Pagamenti parziali e stornati
- Bilanci con importi negativi (ricavi)
- Ripartizioni con resto non distribuibile
```

---

## 🚀 **UTILIZZO SEEDER**

### 💻 **Comandi Seeder**
```bash
# Seeder completo (tutti gli scenari)
php artisan db:seed --class=TestSetupSeeder

# Seeder scenario specifico  
php artisan db:seed --class=TestSetupSeeder --scenario=piccolo
php artisan db:seed --class=TestSetupSeeder --scenario=medio
php artisan db:seed --class=TestSetupSeeder --scenario=complesso

# Reset + seeder
php artisan migrate:fresh --seed

# Solo dati contabili
php artisan db:seed --class=TestContabilitaSeeder
```

### 📊 **Verifica Dati**
```bash
# Verifica creazione dati
php artisan tinker
>>> App\Models\Stabile::count()
>>> App\Models\Unita::count()  
>>> App\Models\Soggetto::count()
>>> App\Models\User::count()

# Verifica millesimi  
>>> App\Models\Stabile::find(1)->unita->sum('millesimi_proprieta')
// Dovrebbe essere circa 1000 (±50 per parti comuni)
```

---

## 🔄 **MANUTENZIONE DATI**

### 📅 **Aggiornamento Periodico**
- **Settimanale**: Verifica coerenza seeder con nuove features
- **Mensile**: Aggiunta nuovi scenari test per edge cases
- **Release**: Sincronizzazione con modifiche database schema
- **Annuale**: Review completa realismo dati vs. mercato

### 📊 **Validazione Dati**
```php
// Script validazione (da creare)
- Totale millesimi per stabile = 1000
- Codici fiscali validi (checksum)
- Email uniche nel sistema
- Date coerenti (inizio < fine)
- Bilanci quadrati (entrate = uscite + residuo)
```

---

*🔄 Mantenere sincronizzato con TestSetupSeeder.php*  
*📊 Aggiornare dati ogni nuova feature*  
*🧪 Testare realismo dati con utenti reali*
