Salta al contenuto principale

Domain Knowledge Base - Real Estate

Come funziona il dominio, prima di scrivere una riga di codice? Scegli un documento dall'albero a sinistra: ogni pagina spiega una parte del modello.

Business Rules - Dominio Real Estate (IT)

Regole di business fondamentali del dominio immobiliare italiano. Codice BR-NNN, priorità Alta/Media/Bassa.

> Disclaimer fiscale: Le regole che citano aliquote o importi fiscali (IMU, cedolare secca, plusvalenza) hanno finalità divulgativa. Per decisioni fiscali rivolgersi a un professionista abilitato. Fonte: Agenzia delle Entrate (2024).

---

BR-001: Identificazione univoca dell'immobile tramite codice catastale

Codice: BR-001 Nome: Identificazione catastale univoca Descrizione: Ogni immobile deve essere identificato nel sistema tramite il codice catastale completo (Comune + sezione + foglio + particella + subalterno). L'indirizzo postale non è un identificatore univoco affidabile. Motivazione: Il catasto è il registro ufficiale degli immobili in Italia; il codice catastale è l'unico identificatore privo di ambiguità e opponibile a terzi. Priorità: Alta Tracciabilità: schema.sql particelle_catastali (UNIQUE comune_id, sezione, foglio, particella, subalterno), Agenzia delle Entrate

BR-002: Valori monetari come interi in centesimi

Codice: BR-002 Nome: Monetario in centesimi interi Descrizione: Tutti i valori monetari del dominio (prezzi di vendita, canoni di locazione, caparre, imposte, provvigioni, depositi cauzionali) devono essere rappresentati come interi in centesimi EUR. Motivazione: I tipi floating-point IEEE 754 introducono errori di arrotondamento su milioni di transazioni. €350.000 = 35.000.000 centesimi; esatto sempre. Priorità: Alta Tracciabilità: schema.sql prezzo_cents BIGINT, schema.prisma *Cents: bigint

BR-003: Stato dell'immobile tramite macchina a stati esplicita

Codice: BR-003 Nome: State machine immobile Descrizione: Lo stato dell'immobile segue una macchina a stati esplicita con transizioni validate. Gli stati validi sono: DISPONIBILE → IN_TRATTATIVA → COMPROMESSO → ROGITO_IN_CORSO → VENDUTO / RITIRATO. Non sono ammessi flag booleani multipli (isForSale, isSold, isRented). Motivazione: Gli stati booleani multipli creano combinazioni incoerenti (es. isForSale = true e isSold = true). La state machine garantisce consistenza del dominio. Priorità: Alta Tracciabilità: schema.sql property_status ENUM, state-machines/immobile-lifecycle.md

BR-004: Deposito cauzionale massimo 3 mensilità

Codice: BR-004 Nome: Limite deposito cauzionale Descrizione: Il deposito cauzionale in un contratto di locazione abitativa non può essere superiore a 3 mensilità del canone pattuito. Motivazione: Limite imperativo di legge (art. 11 L. 392/1978). La violazione rende la clausola nulla per la parte eccedente. Priorità: Alta Tracciabilità: schema.sql CHECK (deposito_cauzionale_cents <= canone_mensile_cents * 3), L. 392/1978 art. 11

BR-005: APE obbligatorio per vendita e locazione

Codice: BR-005 Nome: APE obbligatorio Descrizione: Ogni immobile commercializzato per vendita o locazione deve avere un APE (Attestato di Prestazione Energetica) valido (non scaduto, max 10 anni). L'assenza o la scadenza dell'APE impedisce la pubblicazione dell'annuncio e invalida il contratto. Motivazione: Obbligo di legge (D.Lgs. 192/2005). L'APE deve essere allegato al contratto di compravendita o locazione, pena la nullità. Priorità: Alta Tracciabilità: use-cases.md UC-08, D.Lgs. 192/2005

BR-006: Registrazione del contratto di locazione entro 30 giorni

Codice: BR-006 Nome: Registrazione locazione Descrizione: Il locatore (o suo delegato) deve provvedere alla registrazione del contratto di locazione presso l'Agenzia delle Entrate entro 30 giorni dalla data di stipula. Motivazione: Obbligo normativo. La mancata registrazione comporta: sanzioni amministrative, decadenza dai benefici fiscali (cedolare secca), opponibilità limitata ai terzi. Priorità: Alta Tracciabilità: business-processes.md BP-PROC-05, Agenzia delle Entrate 2024

BR-007: Conformità catastale e urbanistica dichiarata nel rogito

Codice: BR-007 Nome: Doppia conformità nel rogito Descrizione: Prima del rogito, il venditore deve dichiarare la conformità catastale (planimetria depositata = stato di fatto) e la conformità urbanistica (immobile costruito in conformità ai titoli edilizi). In caso di non conformità, il venditore deve regolarizzare l'immobile (variazione DOCFA o sanatoria) prima del rogito. Motivazione: Obbligo di legge (D.L. 78/2010 per conformità catastale; art. 46 DPR 380/2001 per conformità urbanistica). La dichiarazione falsa è reato. Priorità: Alta Tracciabilità: business-processes.md BP-PROC-01 Fase 6, D.L. 78/2010, DPR 380/2001

BR-008: Disclaimer fiscale obbligatorio su contenuto con lessico fiscale

Codice: BR-008 Nome: Disclaimer fiscale Descrizione: Qualsiasi dato fiscale pubblicato (aliquote IMU, cedolare secca, plusvalenza, imposte di registro, TARI, rendita catastale) deve essere accompagnato da: (1) disclaimer "Le informazioni hanno finalità divulgativa - per decisioni fiscali rivolgersi a un professionista abilitato", (2) fonte istituzionale, (3) anno di riferimento. Motivazione: Compliance con Direttiva UE 2019/770 (contenuti digitali). Prevenzione di responsabilità per consulenza fiscale non autorizzata. Priorità: Alta Tracciabilità: plan 39-09 threat model T-39-09-FISCAL, EU Directive 2019/770

BR-009: LTV massimo 80% per mutui standard

Codice: BR-009 Nome: LTV massimo mutuo Descrizione: Il rapporto LTV (Loan-to-Value) tra importo del mutuo e valore peritale dell'immobile non deve superare l'80% per i mutui ipotecari standard. Motivazione: Linea guida Banca d'Italia e EBA Guidelines on Loan Origination. LTV > 80% richiede garanzie aggiuntive (Fondo Consap) o condizioni più restrittive. Priorità: Media Tracciabilità: data.jsonl re-it-data-007/008, Banca d'Italia 2024

BR-010: Dati OMI con semestre di riferimento

Codice: BR-010 Nome: Tracciabilità dati OMI Descrizione: Ogni dato di quotazione OMI (valore EUR/mq) deve essere associato al semestre di riferimento (es. "2024-S1") e alla zona OMI (es. "B1-Milano"). I dati OMI sono aggiornati ogni 6 mesi; la cache deve avere TTL di 180 giorni. Motivazione: I dati OMI cambiano ogni semestre. Pubblicare dati obsoleti senza indicazione del semestre induce in errore l'utente. Priorità: Media Tracciabilità: corpus.jsonl re-it-corp-021, Agenzia delle Entrate OMI 2024