Ricostruisce architettura e blueprint da software.old adattandoli al repository, verificati sulle fonti. Elimina la proposta CSV mai inviata e la sostituisce con invii/2026-09-27_domande-cliente_v0.4.md. Allinea versioni e registro modifiche di richiesta.md, workflow.md, domande-cliente.md e indice-documenti.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
21 KiB
Richiesta del cliente
Progetto: Gestionale per enti del Terzo Settore
Documento: richiesta.md (documento base: gli altri documenti si allineano a questo)
Versione: 0.4.5 · Data: 27/09/2026 · Stato: Bozza, da validare con il cliente
Allineato a: fonti del cliente del 25/09/2026 · Schema di versione: vedi indice-documenti.md
Fonti:
- [D]
fonti/2026-09-25/funzioni software.docx: funzioni richieste, divise in "di base indispensabili" e "aggiuntive" (originale ancora da copiare nella cartella; nel frattempo vale la trascrizionefunzioni software - testo estratto.md) - [X]
fonti/2026-09-25/Software.xlsx: tabella Moduli / Funzioni / Contenuti / Operatore / Note
Cosa contiene: cosa deve fare il software e cosa è stato deciso. Contenuto degli altri documenti e simboli: indice-documenti.md §1.2 e §1.3.
1. Quadro generale
1.1 Modello di business
✅ Piattaforma multi-ente (D2): uno studio professionale usa il software per gestire molti enti del Terzo Settore suoi clienti. Ogni ente vede solo i propri dati, lo studio li vede tutti (RT-1). ⏳ Numero di enti: Q1.
1.2 Attori
✅ Terminologia (D1): le due fonti usano "interno" con significati diversi. Qui, come in [X], interno = studio ed esterno = ente.
| Attore | Chi è | Cosa fa |
|---|---|---|
| Studio (operatore interno) | Professionista dello studio committente | Offerte, anagrafiche enti, imputazione contabile, circolari, time sheet; controlla e approva i documenti degli enti |
| Ente (operatore esterno) | Referente dell'ente cliente | Inserisce soci, volontari e lavoratori, compila i libri sociali, carica i documenti contabili |
| Interessati (non utenti) | Soci, volontari, dipendenti, collaboratori, sostenitori… | Persone di cui si trattano i dati; non accedono al sistema |
2. Moduli
Fase: fase 1 = funzioni che [D] chiama "di base indispensabili"; fase 2 = funzioni "aggiuntive". Eccezione: M8 in fase 1 (D3, ⏳ conferma Q26). Stato: Definito se nessun dubbio aperto ne cambia la struttura; altrimenti è indicata la domanda.
| # | Modulo | Cosa fa | Fase | Chi inserisce i dati | Chi controlla / usa il risultato | Stato |
|---|---|---|---|---|---|---|
| M1 | Gestione cliente e contrattualistica | Offerte, firme, scadenziario e proforma dello studio verso gli enti | 1 | Studio | Ente (firma l'offerta, riceve i proforma) | Definito (dettagli: Q4, Q5) |
| M2 | Anagrafica enti | Scheda di ogni ente cliente | 1 | Studio | Studio | Definito (dettagli: Q25) |
| M3 | Anagrafica stakeholder | Registro di soci, volontari, dipendenti e altre persone dell'ente | 1 | Ente | Ente; i dati alimentano M4 e M7 | Definito |
| M4 | Libri sociali | Libro soci, registro volontari, verbali, con marca temporale | 1 | Ente | Studio controlla, poi stampa e archiviazione definitiva | Definito (dettagli: Q9) |
| M5 | Contabilità | Documenti contabili, Modello D e relazione illustrativa | 1 | Ente (carica documenti, scrive la relazione) | Studio (imputa i movimenti sulle voci del Modello D) | Definito (dettagli: Q10) |
| M6 | Progettazione | Stesura guidata di progetti per bandi | 1 | Ente e studio | Ente e studio | ⏳ Q13, Q19 |
| M7 | Rendicontazione sociale | Stesura guidata del bilancio sociale | 2 | Ente e studio | Ente e studio | ⏳ Q19; Q14 prima della fase 2 |
| M8 | Circolari | Comunicazioni dello studio agli enti su scadenze e adempimenti | 1 | Studio | Ente (via email e nell'app) | Definito (fase: ⏳ Q26) |
| M9 | Valutazione volontariato | Time sheet di volontari e dipendenti, con valorizzazione delle ore | 2 | Studio | Studio | Definito (Q15 prima della fase 2) |
Fase 1: M1, M2, M3, M4, M5, M6, M8 · Fase 2: M7, M9.
3. Requisiti funzionali per modulo
RF = requisito funzionale · Fonte: [D], [X] o decisione (Dn, §7).
M1: Gestione cliente e contrattualistica (fase 1)
Gestire il rapporto commerciale tra studio ed ente, dall'offerta all'incasso.
| ID | Requisito | Fonte |
|---|---|---|
| RF-1.1 | Catalogo dei servizi dello studio, vendibili singolarmente o a pacchetto. 🔸 Gestito dallo studio: ogni servizio ha prezzo e aliquota IVA; un pacchetto è un insieme di servizi | D |
| RF-1.2 | Composizione di preventivi/offerte a partire dal catalogo | D + X |
| RF-1.3 | Nell'offerta vanno indicate modalità di pagamento e scadenze | D |
| RF-1.4 | Invio dell'offerta all'ente e firma digitale per l'accettazione ⏳ Q4 | D + X |
| RF-1.5 | L'offerta comprende l'informativa privacy, con firma di presa visione | D + X |
| RF-1.6 | L'offerta comprende la raccolta dati antiriciclaggio, con firma | D + X |
| RF-1.7 | Scadenziario dei pagamenti, generato dalle condizioni dell'offerta | X |
| RF-1.8 | Emissione di proforma alle scadenze ⏳ Q5 | X |
| RF-1.9 | Alert allo studio sulle scadenze | X |
| RF-1.10 | Invio di circolari di aggiornamento ai clienti (dettaglio in M8) | X |
M2: Anagrafica enti (fase 1)
Scheda completa di ciascun ente cliente, compilata dallo studio.
| ID | Campo | Fonte | Note |
|---|---|---|---|
| RF-2.1 | Denominazione sociale | D + X | |
| RF-2.2 | Sede | X | |
| RF-2.3 | Codice fiscale | D + X | |
| RF-2.4 | Partita IVA (se presente) | D + X | Facoltativa |
| RF-2.5 | Data di costituzione | D | |
| RF-2.6 | Numero e data di iscrizione al RUNTS | D + X | |
| RF-2.7 | Sezione di iscrizione al RUNTS | X | Lista chiusa. ⏳ Q25: probabilmente coincide con RF-2.8 |
| RF-2.8 | Qualifica: ODV, APS, ETS, Impresa sociale, SOMS, Rete, Ente filantropico | D | Lista chiusa. ⏳ Q25: se coincide con RF-2.7, un solo campo con il nome di [X] e questi valori (D13) |
| RF-2.9 | Attività di interesse generale (art. 5 CTS) previste da statuto e svolte | D + X | Selezione multipla dall'elenco di legge |
| RF-2.10 | Eventuali attività diverse (art. 6 CTS) | D + X | Selezione multipla / testo |
| RF-2.11 | Raccolta fondi continuativa con modalità commerciali (sì/no) | D | |
| RF-2.12 | Raccolta fondi continuativa ordinaria (sì/no) | D | |
| RF-2.13 | Numero soci | D + X | 🔸 Inserito a mano; accanto si mostra il conteggio calcolato da M3 |
| RF-2.14 | Numero volontari | D + X | 🔸 Inserito a mano; accanto si mostra il conteggio calcolato da M3 |
M3: Anagrafica stakeholder collegata all'ente (fase 1)
Registro delle persone legate a ciascun ente, compilato dall'ente.
| ID | Requisito | Fonte |
|---|---|---|
| RF-3.1 | Inserimento dei dati anagrafici delle persone collegate all'ente | D + X |
| RF-3.2 | Categorie di persona: tutte quelle citate nelle fonti (tabella sotto, D13). Nuove categorie o dati specifici per categoria si aggiungono con una migrazione (D12) | D + X |
| RF-3.3 | 🔸 Una persona può appartenere a più categorie: una scheda per persona, con più ruoli; libro soci e registro volontari prendono i dati da qui | 🔸 |
Categorie citate nelle fonti:
| Categoria | [D] | [X] |
|---|---|---|
| Soci | ✔ | ✔ |
| Aderenti | ✔ | |
| Tesserati | ✔ | ✔ |
| Volontari | ✔ | ✔ |
| Volontari occasionali | ✔ | |
| Dipendenti / lavoratori | ✔ | ✔ |
| Collaboratori | ✔ | |
| Sostenitori | ✔ | |
| Partecipanti | ✔ |
M4: Libri sociali (fase 1)
Tenuta digitale dei libri obbligatori dell'ente, con valore probatorio.
| ID | Requisito | Fonte |
|---|---|---|
| RF-4.1 | Libro soci: data di ammissione (per [D] è la data della delibera di ammissione), dati anagrafici, contatti, data di cessazione (per [D] anche decadenza), note, firma operatore | D + X |
| RF-4.2 | Registro volontari: data di ammissione (per [D] inizio del volontariato), dati anagrafici, contatti, data di cessazione (per [D] fine del volontariato), note, firma operatore | D + X |
| RF-4.3 | Libro verbali assemblea soci: redazione dei verbali | D + X |
| RF-4.4 | Libro verbali organo di amministrazione: redazione dei verbali | D + X |
| RF-4.5 | Marcatura temporale dei documenti | D + X |
| RF-4.6 | Conservazione digitale dei documenti ⏳ Q9 | D |
| RF-4.7 | Flusso di approvazione: l'ente compila, lo studio controlla, poi stampa e archiviazione definitiva | D + X |
M5: Contabilità (fase 1)
Raccolta dei documenti contabili dell'ente, rendiconto di cassa e relazione illustrativa.
| ID | Requisito | Fonte |
|---|---|---|
| RF-5.1 | Alert all'ente alle scadenze per il caricamento dei documenti; calendario uguale per tutti gli enti, ma modificabile. 🔸 Calendario comune con eccezioni per singolo ente | D + D7 |
| RF-5.2 | Caricamento degli estratti conto bancari trimestrali (Excel o PDF) ⏳ Q10 | D + X |
| RF-5.3 | Caricamento della prima nota cassa trimestrale (Excel) | D + X |
| RF-5.4 | Caricamento dei rendiconti delle raccolte fondi pubbliche occasionali | D |
| RF-5.5 | Imputazione contabile dei singoli movimenti, fatta dallo studio direttamente sulle voci del Modello D | X + D6 |
| RF-5.6 | Elaborazione dei dati per il rendiconto per cassa su Modello D (schema ministeriale) | D |
| RF-5.7 | Relazione illustrativa guidata su modelli preimpostati (attività dell'anno, progetti finanziati e realizzati), da allegare al bilancio | D |
M6: Progettazione (fase 1)
Stesura guidata di un progetto per bandi, secondo un modello standard adattabile ai formulari degli enti erogatori.
| ID | Requisito | Fonte |
|---|---|---|
| RF-6.1 | Procedura guidata, a sezioni, per la stesura del progetto | D + X |
| RF-6.2 | Sezioni: analisi del contesto, analisi dei bisogni, idea, obiettivi, attività, risorse, cronoprogramma, costi, piano economico-finanziario | D + X |
| RF-6.3 | Modello standard convertibile sui formulari degli enti erogatori ⏳ Q13 | X |
| RF-6.4 | Lavoro condiviso tra ente e studio ⏳ Q19 | X |
| RF-6.5 | Schema di dettaglio del progetto: non esiste ancora ("sarà impostato nel dettaglio"; confermato nella risposta a Q13) ⏳ Q13 | D |
M7: Rendicontazione sociale (fase 2)
Raccolta guidata dei dati per il bilancio sociale, riusando i dati già presenti nel sistema.
| ID | Requisito | Fonte |
|---|---|---|
| RF-7.1 | Procedura guidata per redigere il bilancio sociale | D + X |
| RF-7.2 | Estrazione automatica dei dati già presenti (anagrafica ente, soci, volontari, dati economici…) | D |
| RF-7.3 | Sezioni: lettera del presidente [X], serie di dati standard [D], identità dell'ente, principali stakeholder, utenti, obiettivi e attività, situazione economico-finanziaria, relazione dell'organo di controllo ⏳ Q14, da chiedere prima della fase 2 | D + X |
| RF-7.4 | Lavoro condiviso tra ente e studio ⏳ Q19 | X |
M8: Circolari (fase 1)
| ID | Requisito | Fonte |
|---|---|---|
| RF-8.1 | Invio di circolari agli enti sulle scadenze di adempimenti amministrativi, contabili e fiscali | D + X |
| RF-8.2 | Canale di invio: email e area comunicazioni dentro l'app, con stato di lettura | D5 |
M9: Valutazione volontariato (fase 2)
| ID | Requisito | Fonte |
|---|---|---|
| RF-9.1 | Inserimento del time sheet di volontari e dipendenti | D |
| RF-9.2 | Per ogni registrazione: tipo di attività, ore dedicate, ruolo/qualifica | D + X |
| RF-9.3 | Valorizzazione economica di ogni ora in base all'attività ⏳ Q15, da chiedere prima della fase 2 | D |
| RF-9.4 | L'inserimento è fatto dallo studio | X + D4 |
4. Requisiti trasversali
Non sono scritti come moduli nelle fonti, ma derivano da quanto richiesto.
| ID | Requisito | Da dove deriva |
|---|---|---|
| RT-1 | Separazione dei dati tra enti: ogni ente vede solo i propri dati, lo studio li vede tutti | D2 |
| RT-2 | Ruoli e permessi distinti per studio ed ente | Colonna "Operatore" di [X] |
| RT-3 | Flusso di approvazione comune: bozza → in revisione → 🔸 da correggere (si torna in bozza) oppure approvato → archiviato. Passi in W4 | M4, e probabilmente M5–M7 |
| RT-4 | Notifiche: email + notifiche nell'app | M1, M5, M8 |
| RT-5 | Firma elettronica dei documenti ⏳ Q4 | M1, M4 |
| RT-6 | Marca temporale e conservazione digitale ⏳ Q9 | M4 |
| RT-7 | Generazione documenti (PDF/Word) da modelli: offerte, verbali, libri, Modello D, relazioni, progetti | M1, M4–M7 |
| RT-8 | Importazione file (Excel, PDF) per i documenti contabili | M5 |
| RT-9 | Registro delle operazioni (audit trail): chi ha fatto cosa e quando | Valore probatorio dei libri + GDPR |
| RT-10 | Conformità GDPR (§5) | Dati personali di soci, volontari, dipendenti, clienti |
| RT-11 | Dimensionamento: circa 100 utenti ⏳ Q1 | Contesto di progetto |
| RT-12 | Applicazione web usata da computer; nessun requisito per smartphone o accessibilità | D9 |
| RT-13 | Hosting nell'Unione Europea (il cliente non ha preferenze; l'UE evita i trasferimenti extra-UE e semplifica la conformità al GDPR) | D9 + §5 |
| RT-14 | Nessuna migrazione di dati all'avvio: il sistema parte vuoto | D8 |
| RT-15 | Trasferibilità dei servizi di produzione: a fine primo anno server, dominio, backup, email, firma, marche temporali ed eventuale conservazione passano al cliente senza interruzioni né perdita di dati; fornitori che permettono il trasferimento di account o contratto; documento di consegna con accessi, configurazioni e procedure | D10, D11 |
| RT-16 | Database PostgreSQL. Ogni modifica della struttura dei dati si fa con migrazioni versionate insieme al codice, applicate identiche in test e in produzione; nessuna modifica manuale del database in produzione | D12 |
5. Dati personali trattati
Il sistema tratta molti dati personali di persone che non sono utenti del software.
| Dato | Di chi | Modulo | Nota |
|---|---|---|---|
| Anagrafici e contatti | Soci, volontari, dipendenti, collaboratori, sostenitori | M3, M4 | Volume elevato |
| Dati per l'adeguata verifica antiriciclaggio (documenti d'identità, titolare effettivo…) | Legali rappresentanti degli enti | M1 | Obblighi specifici di conservazione (D.Lgs. 231/2007) |
| Dati di lavoro e ore | Dipendenti, volontari | M9 | |
| Movimenti bancari e di cassa | Ente (possono contenere nomi di persone) | M5 | |
| Possibili categorie particolari (art. 9 GDPR) | Soci | M3 | L'adesione a certi enti (religiosi, politici, sindacali, di pazienti) può rivelare di per sé dati particolari |
Ruoli privacy (🔸 ipotesi, da verificare: domande-cliente.md C1):
- lo studio è titolare per i dati dei propri clienti e per l'antiriciclaggio;
- lo studio è responsabile del trattamento (art. 28 GDPR) per i dati delle persone degli enti, di cui gli enti sono titolari;
- chi sviluppa e gestisce il software e il fornitore di hosting sono sub-responsabili;
- primo anno (D10): Davide è intestatario dei servizi di produzione e firma i contratti sul trattamento dei dati con i fornitori; dal secondo anno (D11) i contratti passano al cliente e Davide resta coinvolto per la manutenzione.
6. Differenze tra le fonti
| # | Punto | [D] | [X] | Esito |
|---|---|---|---|---|
| 1 | Circolari | Funzione aggiuntiva (fase 2) | Dentro "Gestione cliente", senza fase | ✅ D3: fase 1, ⏳ conferma Q26 |
| 2 | Scadenziario e proforma | Non citati | Presenti | ✅ Inclusi (RF-1.7, RF-1.8) |
| 3 | Campi anagrafica ente | Data costituzione, qualifica, raccolte fondi | Sede, sezione RUNTS | ✅ D13: inclusi tutti |
| 4 | Categorie di persone | 7 categorie | 6 categorie, in parte diverse | ✅ D13: incluse tutte |
| 5 | Libri sociali | Firma operatore, note, conservazione digitale | Contatti | ✅ D13: inclusi tutti |
| 6 | Contabilità | Alert, raccolte fondi occasionali, Modello D, relazione illustrativa | Imputazione dei singoli movimenti | ✅ D13: inclusi tutti; [X] descrive come si arriva al Modello D |
| 7 | Sezioni progettazione | Contiene "Costi" | Contiene "Obiettivi" e "Risorse" | ✅ D13: incluse tutte |
| 8 | Rendicontazione sociale | "Serie di dati standard" | "Lettera del presidente"; descrizione copiata da M6 | ⏳ Q14 |
| 9 | Time sheet: chi inserisce | Non indicato | Operatore interno | ✅ D4: lo studio |
| 10 | Valorizzazione oraria | Presente | Assente, ma c'è "ruolo/qualifica" | ✅ D13: inclusi entrambi |
Regola generale: D13.
7. Decisioni
Decisioni indicate da Davide: D1–D9 il 25/09/2026, D10–D13 il 27/09/2026. Vanno approvate dal cliente con la versione 1.0 (Q18).
| # | Decisione | Motivo / origine | Requisiti toccati |
|---|---|---|---|
| D1 | Interno = studio, esterno = ente | Le fonti usano "interno" in modi diversi; si adotta la convenzione di [X] | §1.2 |
| D2 | Piattaforma multi-ente: uno studio gestisce molti enti clienti | Conferma del modello di business | RT-1 |
| D3 | Circolari (M8) in fase 1 | [D] le mette in fase 2, [X] in "Gestione cliente": si segue [X]. [X] però non indica le fasi, quindi non è un vero conflitto tra le fonti: conferma del cliente in Q26 | M8 |
| D4 | Il time sheet (M9) lo inserisce lo studio | [D] non lo dice, [X] indica l'operatore interno: si segue [X]. Non serve un nuovo tipo di utente | RF-9.4 |
| D5 | Circolari via email e nell'app | Risposta a Q6 | RF-8.2, RT-4 |
| D6 | Imputazione contabile direttamente sulle voci del Modello D | Risposta a Q11 | RF-5.5 |
| D7 | Scadenze degli alert uguali per tutti gli enti, ma modificabili | Risposta a Q12 (la precisazione è coperta dall'ipotesi in RF-5.1) | RF-5.1 |
| D8 | Nessuna migrazione di dati all'avvio | Risposta a Q16 | RT-14 |
| D9 | Nessun requisito su smartphone, accessibilità o hosting | Risposta a Q17 | RT-12, RT-13 |
| D10 | Primo anno di produzione: servizi intestati a Davide, che li paga; costi nel preventivo | Risposta a Q21 | RT-15 |
| D11 | Dal secondo anno servizi intestati al cliente, che li paga; gestione tecnica a Davide con contratto di manutenzione separato | Risposta a Q22 | RT-15 |
| D12 | Database PostgreSQL; ogni cambiamento della struttura dei dati tramite migrazioni | Dati fortemente relazionali (enti, persone, ruoli, libri, movimenti) con vincoli di integrità; separazione dei dati per ente anche nel database, con la row-level security (RT-1); open source, senza licenze, e trasferibile tra fornitori (RT-15). Le migrazioni permettono di recepire in modo tracciato e ripetibile le risposte del cliente che cambiano la struttura dei dati | RT-16, RF-3.2 |
| D13 | Tra le fonti prevale l'Excel [X] in caso di conflitto; i campi e le funzioni presenti in una sola fonte si includono | Risposta a Q20 | §6 |
Ipotesi 🔸 adottate (al posto di domande al cliente, da validare con il cliente al collaudo; eventuali cambi della struttura dei dati con migrazioni, D12): RF-1.1 catalogo servizi · RF-2.13–2.14 conteggi · RF-3.3 una scheda per persona con più ruoli · RF-5.1 eccezioni per singolo ente · passi 🔸 di workflow.md.
Registro delle modifiche
| Versione | Data | Modifiche |
|---|---|---|
| 0.1 | 25/09/2026 | Prima analisi delle fonti. Confermati D1 e D2; mappa dei moduli con i dubbi A, B, C; risolti A (D3) e B (D4); dubbio C trasformato in Q19 |
| 0.2 | 25/09/2026 | Risposte a Q6, Q7, Q11, Q12, Q13, Q16, Q17 (D5–D9); Q8 e Q14 divise in sotto-domande; aggiunte Q20 e RT-12, RT-13, RT-14; aggiunto il registro delle decisioni |
| 0.3 | 27/09/2026 | Decisioni D10 e D11; chiuse Q21 e Q22; aggiunti RT-15 e Q23; aggiornati ruoli privacy e rischi |
| 0.3.1 | 27/09/2026 | Riorganizzazione senza modifiche ai requisiti: spostati in domande-cliente.md domande, spiegazioni delle domande, dubbio C, rischi e verifiche legali; tolte le note su costi e scelte progettuali (già in costi-ricorrenti.md e domande-cliente.md parte B); tolto il flusso complessivo (già in workflow.md); motivazioni dei dubbi A e B spostate nella tabella delle decisioni |
| 0.4 | 27/09/2026 | Decisioni D12 (PostgreSQL con migrazioni, RT-16) e D13 (priorità all'Excel in caso di conflitto, chiude Q20); domande Q2, Q3, Q7, Q8, Q12 sostituite da ipotesi 🔸 (RF-1.1, RF-2.13–2.14, RF-3.2–3.3, RF-5.1); Q14 e Q15 rimandate a prima della fase 2 |
| 0.4.1 | 27/09/2026 | Allineamento: indicato che l'originale di [D] non è ancora nella cartella delle fonti |
| 0.4.2 | 27/09/2026 | Allineamento: corretta la motivazione di RT-13 (il GDPR non impone l'hosting UE, lo rende più semplice) |
| 0.4.3 | 27/09/2026 | Allineamento senza nuovi requisiti: gli stati di RT-3 riprendono il passo 🔸 "da correggere" già adottato in W4 (prima "respinto", in contrasto con il workflow); tolti legenda e "dove trovare il resto", ora solo in indice-documenti.md |
| 0.4.4 | 27/09/2026 | Verifica sulle fonti, senza nuovi requisiti: aggiunte le domande Q25 (qualifica e sezione RUNTS forse sono lo stesso campo, RF-2.7–2.8) e Q26 (conferma di D3: [X] non indica le fasi); nomi allineati a [X] come vuole D13 (M3 "Anagrafica stakeholder collegata all'ente"; date di ammissione e cessazione in RF-4.1 e RF-4.2, con le precisazioni di [D]); corretto il rimando alla legenda dei simboli (§1.3 dell'indice) |
| 0.4.5 | 27/09/2026 | Allineamento: lo stato di M2 in §2 indica la domanda Q25, come per gli altri moduli con dettagli aperti |
Stato
- Fase corrente: analisi dei requisiti, bozza v0.4.5.
- Decisioni prese: D1–D13 (§7); fasi dei moduli al §2.
- Prossimo passo: risposte del cliente alle domande aperte (
domande-cliente.md), poi versione 1.0 dei requisiti.