/*M!999999\- enable the sandbox mode */ -- MariaDB dump 10.19 Distrib 10.11.14-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: 127.0.0.1 Database: netgescon -- ------------------------------------------------------ -- Server version 10.11.14-MariaDB-0ubuntu0.24.04.1 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; -- -- Table structure for table `accounting_balances` -- DROP TABLE IF EXISTS `accounting_balances`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `accounting_balances` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `gestione_id` bigint(20) unsigned NOT NULL, `chart_account_id` bigint(20) unsigned NOT NULL, `opening_balance` decimal(15,2) NOT NULL DEFAULT 0.00, `total_debit` decimal(15,2) NOT NULL DEFAULT 0.00, `total_credit` decimal(15,2) NOT NULL DEFAULT 0.00, `closing_balance` decimal(15,2) NOT NULL DEFAULT 0.00, `calculation_date` date NOT NULL, `last_updated` timestamp NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `idx_balances_unique` (`gestione_id`,`chart_account_id`), KEY `accounting_balances_chart_account_id_foreign` (`chart_account_id`), KEY `idx_balances_calc_date` (`calculation_date`), CONSTRAINT `accounting_balances_chart_account_id_foreign` FOREIGN KEY (`chart_account_id`) REFERENCES `piano_conti` (`id`) ON DELETE CASCADE, CONSTRAINT `accounting_balances_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni` (`id_gestione`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `addebiti_personalizzati` -- DROP TABLE IF EXISTS `addebiti_personalizzati`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `addebiti_personalizzati` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` bigint(20) unsigned DEFAULT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `legacy_id` int(11) DEFAULT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `soggetto_id` bigint(20) unsigned DEFAULT NULL, `ruolo` enum('P','I') DEFAULT NULL, `tipo_gestione` enum('O','R','S') DEFAULT NULL, `numero_straordinaria` int(11) NOT NULL DEFAULT 0, `codice_spesa` varchar(50) DEFAULT NULL, `natura2` varchar(10) DEFAULT NULL, `tabella_millesimale_id` bigint(20) unsigned DEFAULT NULL, `importo` decimal(15,4) NOT NULL, `is_unico` tinyint(1) NOT NULL DEFAULT 0, `note` text DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `addebiti_personalizzati_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `addebiti_personalizzati_soggetto_id_foreign` (`soggetto_id`), KEY `addebiti_personalizzati_tabella_millesimale_id_foreign` (`tabella_millesimale_id`), KEY `addebiti_personalizzati_gestione_id_tipo_gestione_index` (`gestione_id`,`tipo_gestione`), KEY `addebiti_personalizzati_tenant_id_index` (`tenant_id`), KEY `addebiti_personalizzati_legacy_id_index` (`legacy_id`), CONSTRAINT `addebiti_personalizzati_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `addebiti_personalizzati_soggetto_id_foreign` FOREIGN KEY (`soggetto_id`) REFERENCES `anagrafiche` (`id`), CONSTRAINT `addebiti_personalizzati_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`), CONSTRAINT `addebiti_personalizzati_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=25407 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `adempimenti_fiscali` -- DROP TABLE IF EXISTS `adempimenti_fiscali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `adempimenti_fiscali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) DEFAULT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `tipo` varchar(50) NOT NULL, `anno_fiscale` int(11) DEFAULT NULL, `titolo` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `stato` varchar(30) NOT NULL DEFAULT 'bozza', `scadenza` date DEFAULT NULL, `data_completamento` date DEFAULT NULL, `periodicita` varchar(30) DEFAULT NULL, `metadati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadati`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `adempimenti_fiscali_gestione_id_foreign` (`gestione_id`), KEY `adempimenti_fiscali_stabile_anno_tipo_idx` (`stabile_id`,`anno_fiscale`,`tipo`), KEY `adempimenti_fiscali_tenant_id_index` (`tenant_id`), KEY `adempimenti_fiscali_tipo_index` (`tipo`), KEY `adempimenti_fiscali_anno_fiscale_index` (`anno_fiscale`), KEY `adempimenti_fiscali_stato_index` (`stato`), KEY `adempimenti_fiscali_scadenza_index` (`scadenza`), CONSTRAINT `adempimenti_fiscali_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ON DELETE SET NULL, CONSTRAINT `adempimenti_fiscali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `affitti_canoni_dovuti` -- DROP TABLE IF EXISTS `affitti_canoni_dovuti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `affitti_canoni_dovuti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `affitto_id` bigint(20) unsigned NOT NULL, `anno` int(11) DEFAULT NULL, `mese` int(11) DEFAULT NULL, `mese_descrizione` varchar(50) DEFAULT NULL, `fitto` decimal(10,2) DEFAULT NULL, `istat_percentuale` decimal(8,3) DEFAULT NULL, `istat_importo` decimal(10,2) DEFAULT NULL, `descrizione_1` varchar(255) DEFAULT NULL, `descrizione_2` varchar(255) DEFAULT NULL, `descrizione_3` varchar(255) DEFAULT NULL, `descrizione_4` varchar(255) DEFAULT NULL, `importo_1` decimal(10,2) DEFAULT NULL, `importo_2` decimal(10,2) DEFAULT NULL, `importo_3` decimal(12,2) DEFAULT NULL, `importo_4` decimal(12,2) DEFAULT NULL, `bollo` decimal(10,2) DEFAULT NULL, `totale` decimal(10,2) DEFAULT NULL, `n_ricevuta` varchar(50) DEFAULT NULL, `data_emissione` date DEFAULT NULL, `data_scadenza` date DEFAULT NULL, `saldo_progressivo` decimal(12,2) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `affitti_canoni_dovuti_affitto_id_anno_mese_index` (`affitto_id`,`anno`,`mese`), CONSTRAINT `affitti_canoni_dovuti_affitto_id_foreign` FOREIGN KEY (`affitto_id`) REFERENCES `affitti_immobili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `affitti_canoni_pagati` -- DROP TABLE IF EXISTS `affitti_canoni_pagati`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `affitti_canoni_pagati` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `affitto_id` bigint(20) unsigned NOT NULL, `anno` int(11) DEFAULT NULL, `mese` int(11) DEFAULT NULL, `mese_descrizione` varchar(50) DEFAULT NULL, `data_pagamento` date DEFAULT NULL, `descrizione` varchar(255) DEFAULT NULL, `fitto` decimal(10,2) DEFAULT NULL, `istat_percentuale` decimal(8,3) DEFAULT NULL, `istat_importo` decimal(10,2) DEFAULT NULL, `descrizione_1` varchar(255) DEFAULT NULL, `descrizione_2` varchar(255) DEFAULT NULL, `importo_1` decimal(10,2) DEFAULT NULL, `importo_2` decimal(10,2) DEFAULT NULL, `bollo` decimal(10,2) DEFAULT NULL, `totale` decimal(10,2) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `affitti_canoni_pagati_affitto_id_anno_mese_index` (`affitto_id`,`anno`,`mese`), CONSTRAINT `affitti_canoni_pagati_affitto_id_foreign` FOREIGN KEY (`affitto_id`) REFERENCES `affitti_immobili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `affitti_clausole` -- DROP TABLE IF EXISTS `affitti_clausole`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `affitti_clausole` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `titolo` varchar(255) DEFAULT NULL, `testo` longtext NOT NULL, `ordine` int(11) NOT NULL DEFAULT 0, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `affitti_contratto_clausole` -- DROP TABLE IF EXISTS `affitti_contratto_clausole`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `affitti_contratto_clausole` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `affitto_id` bigint(20) unsigned NOT NULL, `clausola_id` bigint(20) unsigned DEFAULT NULL, `titolo` varchar(255) DEFAULT NULL, `testo` longtext DEFAULT NULL, `periodicita` enum('mensile','annuale','una_tantum') DEFAULT NULL, `importo` decimal(12,2) DEFAULT NULL, `ordine` int(11) NOT NULL DEFAULT 0, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `affitti_contratto_clausole_clausola_id_foreign` (`clausola_id`), KEY `affitti_contratto_clausole_affitto_id_ordine_index` (`affitto_id`,`ordine`), CONSTRAINT `affitti_contratto_clausole_affitto_id_foreign` FOREIGN KEY (`affitto_id`) REFERENCES `affitti_immobili` (`id`) ON DELETE CASCADE, CONSTRAINT `affitti_contratto_clausole_clausola_id_foreign` FOREIGN KEY (`clausola_id`) REFERENCES `affitti_clausole` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `affitti_immobili` -- DROP TABLE IF EXISTS `affitti_immobili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `affitti_immobili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned DEFAULT NULL, `codice_stabile_legacy` varchar(10) DEFAULT NULL, `codice_appartamento` varchar(50) NOT NULL, `proprietario_nome` varchar(255) DEFAULT NULL, `proprietario_intesta` varchar(255) DEFAULT NULL, `descrizione_immobile` varchar(255) DEFAULT NULL, `indirizzo_immobile` varchar(255) DEFAULT NULL, `cap` varchar(10) DEFAULT NULL, `citta` varchar(255) DEFAULT NULL, `provincia` varchar(5) DEFAULT NULL, `nome_inquilino` varchar(255) DEFAULT NULL, `rubrica_inquilino_id` bigint(20) unsigned DEFAULT NULL, `rendita_catastale` decimal(10,2) DEFAULT NULL, `importo_fitto` decimal(10,2) DEFAULT NULL, `particella` varchar(50) DEFAULT NULL, `subalterno` varchar(20) DEFAULT NULL, `categoria_catastale` varchar(20) DEFAULT NULL, `classe_catastale` varchar(20) DEFAULT NULL, `consistenza_catastale` varchar(50) DEFAULT NULL, `superficie_catastale_mq` decimal(10,2) DEFAULT NULL, `interno_catastale` varchar(30) DEFAULT NULL, `piano_catastale` varchar(30) DEFAULT NULL, `numero_registrazione_ade` varchar(60) DEFAULT NULL, `data_registrazione_ade` date DEFAULT NULL, `destinazione_uso` varchar(100) DEFAULT NULL, `comune_catastale_codice` varchar(10) DEFAULT NULL, `comune_catastale_nome` varchar(100) DEFAULT NULL, `sezione_urbana` varchar(20) DEFAULT NULL, `foglio` varchar(20) DEFAULT NULL, `inizio_contratto` date DEFAULT NULL, `presa_in_carico_operativa_dal` date DEFAULT NULL, `ultimo_rinnovo` date DEFAULT NULL, `prossima_scadenza` date DEFAULT NULL, `prossima_registrazione` date DEFAULT NULL, `data_fine_contratto` date DEFAULT NULL, `note` text DEFAULT NULL, `def_ammin` varchar(50) DEFAULT NULL, `descr_1_voce` varchar(255) DEFAULT NULL, `tipo_riga` varchar(20) DEFAULT NULL, `inte_cc` varchar(100) DEFAULT NULL, `iban` varchar(34) DEFAULT NULL, `conto_bancario_id` bigint(20) unsigned DEFAULT NULL, `obsoleto` tinyint(1) NOT NULL DEFAULT 0, `obsoleto_dal` date DEFAULT NULL, `motivo_obsolescenza` text DEFAULT NULL, `giorno_emissione_canone` tinyint(3) unsigned NOT NULL DEFAULT 5, `mese_adempimenti_annuali` tinyint(3) unsigned NOT NULL DEFAULT 1, `giorno_adempimenti_annuali` tinyint(3) unsigned NOT NULL DEFAULT 30, `imposta_registro_annuale` decimal(12,2) DEFAULT NULL, `quota_imposta_inquilino_percent` decimal(5,2) NOT NULL DEFAULT 50.00, `imposta_bollo_annuale` decimal(12,2) DEFAULT NULL, `selez` varchar(10) DEFAULT NULL, `num_ccp` varchar(50) DEFAULT NULL, `autorizz_674` varchar(50) DEFAULT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `affitti_immobili_codice_stabile_legacy_codice_appartamento_index` (`codice_stabile_legacy`,`codice_appartamento`), KEY `affitti_immobili_stabile_id_index` (`stabile_id`), KEY `affitti_immobili_codice_stabile_legacy_index` (`codice_stabile_legacy`), KEY `affitti_immobili_codice_appartamento_index` (`codice_appartamento`), KEY `affitti_immobili_unita_immobiliare_id_index` (`unita_immobiliare_id`), KEY `affitti_immobili_rubrica_inquilino_id_foreign` (`rubrica_inquilino_id`), KEY `affitti_immobili_conto_bancario_id_foreign` (`conto_bancario_id`), KEY `affitti_immobili_obsoleto_stabile_idx` (`obsoleto`,`stabile_id`), CONSTRAINT `affitti_immobili_conto_bancario_id_foreign` FOREIGN KEY (`conto_bancario_id`) REFERENCES `dati_bancari` (`id`) ON DELETE SET NULL, CONSTRAINT `affitti_immobili_rubrica_inquilino_id_foreign` FOREIGN KEY (`rubrica_inquilino_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `affitti_inquilini` -- DROP TABLE IF EXISTS `affitti_inquilini`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `affitti_inquilini` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `affitto_id` bigint(20) unsigned NOT NULL, `rubrica_inquilino_id` bigint(20) unsigned DEFAULT NULL, `nome_visualizzato` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `telefono` varchar(50) DEFAULT NULL, `documenti_note` text DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `affitti_inquilini_rubrica_inquilino_id_foreign` (`rubrica_inquilino_id`), KEY `affitti_inquilini_affitto_id_attivo_index` (`affitto_id`,`attivo`), CONSTRAINT `affitti_inquilini_affitto_id_foreign` FOREIGN KEY (`affitto_id`) REFERENCES `affitti_immobili` (`id`) ON DELETE CASCADE, CONSTRAINT `affitti_inquilini_rubrica_inquilino_id_foreign` FOREIGN KEY (`rubrica_inquilino_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ai_requests` -- DROP TABLE IF EXISTS `ai_requests`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ai_requests` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `context` varchar(50) NOT NULL DEFAULT 'incassi', `request_text` longtext NOT NULL, `response_text` longtext DEFAULT NULL, `filters_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`filters_json`)), `meta_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta_json`)), `status` varchar(20) NOT NULL DEFAULT 'open', `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ai_requests_context_status_index` (`context`,`status`), KEY `ai_requests_created_by_index` (`created_by`), KEY `ai_requests_updated_by_index` (`updated_by`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `algoritmi_ripartizione` -- DROP TABLE IF EXISTS `algoritmi_ripartizione`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `algoritmi_ripartizione` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `tipo_consumo` enum('acqua_fredda','acqua_calda','gas','riscaldamento') NOT NULL, `nome_algoritmo` varchar(255) NOT NULL, `parametri_algoritmo` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`parametri_algoritmo`)), `quota_fissa_percentuale` decimal(5,2) NOT NULL DEFAULT 30.00, `quota_consumo_percentuale` decimal(5,2) NOT NULL DEFAULT 70.00, `attivo` tinyint(1) NOT NULL DEFAULT 1, `validita_da` date NOT NULL, `validita_a` date DEFAULT NULL, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `algoritmi_ripartizione_stabile_id_tipo_consumo_attivo_index` (`stabile_id`,`tipo_consumo`,`attivo`), CONSTRAINT `algoritmi_ripartizione_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `aliquote_iva` -- DROP TABLE IF EXISTS `aliquote_iva`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `aliquote_iva` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(20) NOT NULL, `valore` decimal(5,2) NOT NULL, `descrizione` varchar(255) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `aliquote_iva_codice_unique` (`codice`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `allegati` -- DROP TABLE IF EXISTS `allegati`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `allegati` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned DEFAULT NULL, `nome_file_originale` varchar(255) NOT NULL, `nome_file_storage` varchar(255) NOT NULL, `percorso_file_storage` text NOT NULL, `tipo_mime` varchar(100) NOT NULL, `dimensione_byte` bigint(20) unsigned NOT NULL, `descrizione` text DEFAULT NULL, `allegabile_id` bigint(20) unsigned NOT NULL, `allegabile_type` varchar(100) NOT NULL, `id_utente_caricamento` bigint(20) unsigned DEFAULT NULL, `tags` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `allegati_nome_file_storage_unique` (`nome_file_storage`), KEY `allegati_allegabile_id_allegabile_type_index` (`allegabile_id`,`allegabile_type`), KEY `allegati_stabile_id_foreign` (`stabile_id`), CONSTRAINT `allegati_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `amministratori` -- DROP TABLE IF EXISTS `amministratori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `amministratori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `cognome` varchar(255) NOT NULL, `user_id` bigint(20) unsigned NOT NULL, `denominazione_studio` varchar(255) DEFAULT NULL, `partita_iva` varchar(255) DEFAULT NULL, `codice_fiscale_studio` varchar(255) DEFAULT NULL, `indirizzo_studio` varchar(255) DEFAULT NULL, `cap_studio` varchar(10) DEFAULT NULL, `citta_studio` varchar(60) DEFAULT NULL, `provincia_studio` varchar(2) DEFAULT NULL, `telefono_studio` varchar(255) DEFAULT NULL, `cellulare` varchar(255) DEFAULT NULL, `email_studio` varchar(255) DEFAULT NULL, `pec_studio` varchar(255) DEFAULT NULL, `database_attivo` varchar(255) DEFAULT NULL COMMENT 'Nome del database dedicato per questo amministratore', `abilita_import_stabili` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Se true, l''amministratore può importare i propri stabili', `fe_cassetto_enabled` tinyint(1) NOT NULL DEFAULT 0, `fe_cassetto_expires_at` date DEFAULT NULL, `fe_cassetto_base_url` varchar(512) DEFAULT NULL, `fe_cassetto_password_script` varchar(255) DEFAULT NULL, `fe_cassetto_username` varchar(255) DEFAULT NULL, `fe_cassetto_password` text DEFAULT NULL, `fe_cassetto_pin` varchar(255) DEFAULT NULL, `server_database` varchar(255) DEFAULT NULL COMMENT 'IP/hostname del server che ospita il database', `server_port` int(11) DEFAULT 3306 COMMENT 'Porta del server database', `server_username` varchar(255) DEFAULT NULL COMMENT 'Username database (se diverso dal default)', `server_password_encrypted` text DEFAULT NULL COMMENT 'Password database criptata', `stato_sincronizzazione` enum('attivo','manutenzione','errore','migrazione') NOT NULL DEFAULT 'attivo' COMMENT 'Stato sincronizzazione database', `ultimo_backup` timestamp NULL DEFAULT NULL COMMENT 'Data ultimo backup automatico', `dimensione_archivio` bigint(20) DEFAULT NULL COMMENT 'Dimensione archivio in bytes', `url_accesso` varchar(255) DEFAULT NULL COMMENT 'URL specifico per accesso diretto (multi-server)', `dns_principale` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Se true, questo server gestisce il DNS routing', `priorita_server` tinyint(4) NOT NULL DEFAULT 1 COMMENT 'Priorità server (1=principale, 2=backup, etc.)', `cartella_dati` varchar(255) DEFAULT NULL COMMENT 'Percorso cartella dati amministratore', `impostazioni` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Impostazioni personalizzate amministratore' CHECK (json_valid(`impostazioni`)), `attivo` tinyint(1) NOT NULL DEFAULT 1, `ultimo_accesso` timestamp NULL DEFAULT NULL, `codice_amministratore` varchar(8) NOT NULL, `codice_univoco` varchar(8) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `amministratori_codice_amministratore_unique` (`codice_amministratore`), UNIQUE KEY `amministratori_codice_univoco_unique` (`codice_univoco`), UNIQUE KEY `idx_amministratori_codice_univoco_unique` (`codice_univoco`), UNIQUE KEY `amministratori_partita_iva_unique` (`partita_iva`), KEY `amministratori_user_id_foreign` (`user_id`), CONSTRAINT `amministratori_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`netgescon_user`@`localhost`*/ /*!50003 TRIGGER trg_amministratori_codice_univoco BEFORE INSERT ON amministratori FOR EACH ROW BEGIN IF NEW.codice_univoco IS NULL OR NEW.codice_univoco = '' THEN CALL sp_next_codice_univoco('AMMINISTRATORI', @generated_code); SET NEW.codice_univoco = @generated_code; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `anagrafica_condominiale` -- DROP TABLE IF EXISTS `anagrafica_condominiale`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `anagrafica_condominiale` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned NOT NULL COMMENT 'FK verso amministratori', `codice_univoco` varchar(8) NOT NULL COMMENT 'Codice univoco persona (8 caratteri)', `tipo_soggetto` enum('persona_fisica','persona_giuridica','ditta_individuale') NOT NULL DEFAULT 'persona_fisica', `cognome` varchar(255) DEFAULT NULL COMMENT 'Cognome (se persona fisica)', `nome` varchar(255) DEFAULT NULL COMMENT 'Nome (se persona fisica)', `denominazione` varchar(255) DEFAULT NULL COMMENT 'Denominazione (se persona giuridica)', `codice_fiscale` varchar(16) NOT NULL COMMENT 'Codice fiscale', `partita_iva` varchar(11) DEFAULT NULL COMMENT 'Partita IVA (se presente)', `data_nascita` date DEFAULT NULL, `luogo_nascita` varchar(255) DEFAULT NULL, `provincia_nascita` varchar(2) DEFAULT NULL, `sesso` enum('M','F') DEFAULT NULL, `indirizzo_residenza` varchar(255) DEFAULT NULL, `cap_residenza` varchar(5) DEFAULT NULL, `citta_residenza` varchar(255) DEFAULT NULL, `provincia_residenza` varchar(2) DEFAULT NULL, `nazione_residenza` varchar(2) NOT NULL DEFAULT 'IT', `domicilio_diverso` tinyint(1) NOT NULL DEFAULT 0, `indirizzo_domicilio` varchar(255) DEFAULT NULL, `cap_domicilio` varchar(5) DEFAULT NULL, `citta_domicilio` varchar(255) DEFAULT NULL, `provincia_domicilio` varchar(2) DEFAULT NULL, `nazione_domicilio` varchar(2) DEFAULT NULL, `stato` enum('attivo','inattivo','deceduto','trasferito') NOT NULL DEFAULT 'attivo', `note` text DEFAULT NULL, `google_contact_id` varchar(255) DEFAULT NULL COMMENT 'ID contatto Google per sincronizzazione', `ultima_sincronizzazione_google` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `anagrafica_condominiale_codice_univoco_unique` (`codice_univoco`), KEY `anagrafica_condominiale_amministratore_id_stato_index` (`amministratore_id`,`stato`), KEY `anagrafica_condominiale_codice_fiscale_index` (`codice_fiscale`), KEY `anagrafica_condominiale_tipo_soggetto_index` (`tipo_soggetto`), KEY `anagrafica_condominiale_amministratore_id_index` (`amministratore_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `anagrafiche` -- DROP TABLE IF EXISTS `anagrafiche`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `anagrafiche` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `persona_id` bigint(20) unsigned DEFAULT NULL, `old_id` int(11) DEFAULT NULL COMMENT 'ID dal vecchio gestionale', `nome` varchar(255) DEFAULT NULL, `cognome` varchar(255) DEFAULT NULL, `ragione_sociale` varchar(255) DEFAULT NULL, `codice_fiscale` varchar(16) DEFAULT NULL, `partita_iva` varchar(11) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `telefono` varchar(255) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `cap` varchar(10) DEFAULT NULL, `citta` varchar(60) DEFAULT NULL, `provincia` varchar(2) DEFAULT NULL, `tipo` enum('proprietario','inquilino','usufruttuario','altro') NOT NULL, `codice_univoco` varchar(8) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `canale_convocazione` varchar(255) DEFAULT 'Raccomandata AR', `canale_verbali` varchar(255) DEFAULT 'Raccomandata AR', `canale_solleciti` varchar(255) DEFAULT 'PEC', PRIMARY KEY (`id`), UNIQUE KEY `soggetti_codice_univoco_unique` (`codice_univoco`), UNIQUE KEY `soggetti_old_id_unique` (`old_id`), KEY `soggetti_codice_fiscale_index` (`codice_fiscale`), KEY `soggetti_partita_iva_index` (`partita_iva`), KEY `soggetti_email_index` (`email`), KEY `soggetti_persona_id_foreign` (`persona_id`), CONSTRAINT `soggetti_persona_id_foreign` FOREIGN KEY (`persona_id`) REFERENCES `persone` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=346 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`netgescon_user`@`localhost`*/ /*!50003 TRIGGER trg_soggetti_codice_univoco BEFORE INSERT ON `anagrafiche` FOR EACH ROW BEGIN IF NEW.codice_univoco IS NULL OR NEW.codice_univoco = '' THEN CALL sp_next_codice_univoco('SOGGETTI', @generated_code); SET NEW.codice_univoco = @generated_code; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `anni_gestione` -- DROP TABLE IF EXISTS `anni_gestione`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `anni_gestione` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned NOT NULL, `anno_ordinario` varchar(4) NOT NULL, `anno_riscaldamento` varchar(10) NOT NULL, `codice_directory` varchar(4) NOT NULL, `periodo_ordinario_inizio` date NOT NULL, `periodo_ordinario_fine` date NOT NULL, `periodo_riscaldamento_inizio` date NOT NULL, `periodo_riscaldamento_fine` date NOT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `anni_gestione_amministratore_id_codice_directory_unique` (`amministratore_id`,`codice_directory`), KEY `anni_gestione_anno_ordinario_attivo_index` (`anno_ordinario`,`attivo`), CONSTRAINT `anni_gestione_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `arera_nature_giuridiche` -- DROP TABLE IF EXISTS `arera_nature_giuridiche`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `arera_nature_giuridiche` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `arera_nature_giuridiche_nome_unique` (`nome`) ) ENGINE=InnoDB AUTO_INCREMENT=186 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `arera_operatore_settore` -- DROP TABLE IF EXISTS `arera_operatore_settore`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `arera_operatore_settore` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `operatore_id` bigint(20) unsigned NOT NULL, `settore_id` bigint(20) unsigned NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `arera_operatore_settore_operatore_id_settore_id_unique` (`operatore_id`,`settore_id`), KEY `arera_operatore_settore_settore_id_foreign` (`settore_id`), CONSTRAINT `arera_operatore_settore_operatore_id_foreign` FOREIGN KEY (`operatore_id`) REFERENCES `arera_operatori` (`id`) ON DELETE CASCADE, CONSTRAINT `arera_operatore_settore_settore_id_foreign` FOREIGN KEY (`settore_id`) REFERENCES `arera_settori_attivita` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=66449 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `arera_operatori` -- DROP TABLE IF EXISTS `arera_operatori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `arera_operatori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `societa` varchar(255) NOT NULL, `id_soggetto` varchar(255) DEFAULT NULL, `natura_giuridica_id` bigint(20) unsigned DEFAULT NULL, `partita_iva` varchar(32) DEFAULT NULL, `partita_iva_normalizzata` varchar(32) DEFAULT NULL, `gruppo_societario` varchar(255) DEFAULT NULL, `sito_internet` varchar(255) DEFAULT NULL, `sede_legale_raw` text DEFAULT NULL, `sede_legale_indirizzo` varchar(255) DEFAULT NULL, `sede_legale_cap` varchar(10) DEFAULT NULL, `sede_legale_citta` varchar(255) DEFAULT NULL, `sede_legale_provincia` varchar(100) DEFAULT NULL, `sede_operativa_raw` text DEFAULT NULL, `sede_operativa_indirizzo` varchar(255) DEFAULT NULL, `sede_operativa_cap` varchar(10) DEFAULT NULL, `sede_operativa_citta` varchar(255) DEFAULT NULL, `sede_operativa_provincia` varchar(100) DEFAULT NULL, `contatti_cliente` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`contatti_cliente`)), `contatti_cliente2` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`contatti_cliente2`)), `settori_raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`settori_raw`)), `extra_search_tokens` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`extra_search_tokens`)), `source_filename` varchar(255) DEFAULT NULL, `source_imported_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `arera_operatori_partita_iva_normalizzata_unique` (`partita_iva_normalizzata`), KEY `arera_operatori_natura_giuridica_id_foreign` (`natura_giuridica_id`), KEY `arera_operatori_id_soggetto_index` (`id_soggetto`), KEY `arera_operatori_partita_iva_index` (`partita_iva`), CONSTRAINT `arera_operatori_natura_giuridica_id_foreign` FOREIGN KEY (`natura_giuridica_id`) REFERENCES `arera_nature_giuridiche` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=31984 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `arera_settori_attivita` -- DROP TABLE IF EXISTS `arera_settori_attivita`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `arera_settori_attivita` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` text NOT NULL, `slug` varchar(191) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `arera_settori_attivita_slug_unique` (`slug`) ) ENGINE=InnoDB AUTO_INCREMENT=679 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee` -- DROP TABLE IF EXISTS `assemblee`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned DEFAULT NULL, `tipo` varchar(50) NOT NULL DEFAULT 'ordinaria', `data_assemblea` datetime DEFAULT NULL, `data_prima_convocazione` datetime DEFAULT NULL, `data_seconda_convocazione` datetime DEFAULT NULL, `data_convocazione` date DEFAULT NULL, `data_svolgimento` date DEFAULT NULL, `luogo` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `gmail_account` varchar(255) DEFAULT NULL, `video_registrazione_url` varchar(255) DEFAULT NULL, `google_calendar_event_id` varchar(255) DEFAULT NULL, `stato` varchar(50) NOT NULL DEFAULT 'bozza', `creato_da_user_id` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `assemblee_creato_da_user_id_foreign` (`creato_da_user_id`), KEY `assemblee_stabile_id_tipo_index` (`stabile_id`,`tipo`), KEY `assemblee_data_assemblea_index` (`data_assemblea`), KEY `assemblee_data_prima_convocazione_index` (`data_prima_convocazione`), KEY `assemblee_data_seconda_convocazione_index` (`data_seconda_convocazione`), KEY `assemblee_stato_index` (`stato`), CONSTRAINT `assemblee_creato_da_user_id_foreign` FOREIGN KEY (`creato_da_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `assemblee_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee_convocazioni` -- DROP TABLE IF EXISTS `assemblee_convocazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee_convocazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `assemblea_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `soggetto_id` bigint(20) unsigned DEFAULT NULL, `ruolo` varchar(10) DEFAULT NULL, `consegnato_canale` varchar(50) NOT NULL DEFAULT 'email', `consegnato_at` timestamp NULL DEFAULT NULL, `ricezione_confermata_at` timestamp NULL DEFAULT NULL, `ip_conferma` varchar(45) DEFAULT NULL, `user_agent_conferma` text DEFAULT NULL, `firma_ricezione_percorso` varchar(255) DEFAULT NULL, `stato_ricezione` varchar(50) NOT NULL DEFAULT 'non_consegnato', `archiviata` tinyint(1) NOT NULL DEFAULT 0, `token_accesso` varchar(64) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `assemblee_convocazioni_token_accesso_unique` (`token_accesso`), KEY `assemblee_convocazioni_assemblea_id_foreign` (`assemblea_id`), KEY `assemblee_convocazioni_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `assemblee_convocazioni_soggetto_id_foreign` (`soggetto_id`), CONSTRAINT `assemblee_convocazioni_assemblea_id_foreign` FOREIGN KEY (`assemblea_id`) REFERENCES `assemblee` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_convocazioni_soggetto_id_foreign` FOREIGN KEY (`soggetto_id`) REFERENCES `anagrafiche` (`id`) ON DELETE SET NULL, CONSTRAINT `assemblee_convocazioni_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee_gescon` -- DROP TABLE IF EXISTS `assemblee_gescon`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee_gescon` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `anno_gestione` varchar(4) NOT NULL, `data_assemblea` date DEFAULT NULL, `tipo_assemblea` varchar(255) DEFAULT NULL, `ordine_giorno` text DEFAULT NULL, `delibere` text DEFAULT NULL, `presenti` int(11) DEFAULT NULL, `rappresentati` int(11) DEFAULT NULL, `millesimi_presenti` decimal(8,3) DEFAULT NULL, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_ass_st_an_dt_idx` (`cod_stabile`,`anno_gestione`,`data_assemblea`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee_ordine_giorno` -- DROP TABLE IF EXISTS `assemblee_ordine_giorno`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee_ordine_giorno` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `assemblea_id` bigint(20) unsigned NOT NULL, `numero_punto` int(11) NOT NULL, `ordinamento` int(11) NOT NULL DEFAULT 0, `titolo` varchar(255) DEFAULT NULL, `descrizione` text NOT NULL, `esito_votazione` varchar(50) DEFAULT NULL, `note_delibera` text DEFAULT NULL, `imported_to_id` bigint(20) unsigned DEFAULT NULL, `allegati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`allegati`)), `articolo_legge` varchar(255) DEFAULT NULL, `tabella_millesimale_id` bigint(20) unsigned DEFAULT NULL, `maggioranza_richiesta` varchar(50) NOT NULL DEFAULT 'semplice', `riferimento_legge` varchar(255) DEFAULT NULL, `audio_log_path` varchar(255) DEFAULT NULL, `audio_log_trascrizione` longtext DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `assemblee_ordine_giorno_assemblea_id_foreign` (`assemblea_id`), KEY `assemblee_ordine_giorno_tabella_millesimale_id_foreign` (`tabella_millesimale_id`), KEY `assemblee_ordine_giorno_imported_to_id_foreign` (`imported_to_id`), CONSTRAINT `assemblee_ordine_giorno_assemblea_id_foreign` FOREIGN KEY (`assemblea_id`) REFERENCES `assemblee` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_ordine_giorno_imported_to_id_foreign` FOREIGN KEY (`imported_to_id`) REFERENCES `assemblee_ordine_giorno` (`id`) ON DELETE SET NULL, CONSTRAINT `assemblee_ordine_giorno_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee_presenze` -- DROP TABLE IF EXISTS `assemblee_presenze`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee_presenze` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `assemblea_id` bigint(20) unsigned NOT NULL, `soggetto_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `tipo_partecipazione` varchar(20) NOT NULL DEFAULT 'personale', `delegato_soggetto_id` bigint(20) unsigned DEFAULT NULL, `ora_ingresso` timestamp NULL DEFAULT NULL, `ora_uscita` timestamp NULL DEFAULT NULL, `qr_code_token` varchar(64) DEFAULT NULL, `token_delega` varchar(64) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `assemblee_presenze_qr_code_token_unique` (`qr_code_token`), KEY `assemblee_presenze_assemblea_id_foreign` (`assemblea_id`), KEY `assemblee_presenze_soggetto_id_foreign` (`soggetto_id`), KEY `assemblee_presenze_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `assemblee_presenze_delegato_soggetto_id_foreign` (`delegato_soggetto_id`), CONSTRAINT `assemblee_presenze_assemblea_id_foreign` FOREIGN KEY (`assemblea_id`) REFERENCES `assemblee` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_presenze_delegato_soggetto_id_foreign` FOREIGN KEY (`delegato_soggetto_id`) REFERENCES `anagrafiche` (`id`) ON DELETE SET NULL, CONSTRAINT `assemblee_presenze_soggetto_id_foreign` FOREIGN KEY (`soggetto_id`) REFERENCES `anagrafiche` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_presenze_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=1314 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee_verbali` -- DROP TABLE IF EXISTS `assemblee_verbali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee_verbali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno_gestione_id` bigint(20) unsigned NOT NULL, `data_assemblea` date NOT NULL, `tipo_assemblea` varchar(255) NOT NULL, `oggetto` varchar(255) NOT NULL, `delibere` text DEFAULT NULL, `presenti` int(11) NOT NULL DEFAULT 0, `verbale_path` varchar(255) DEFAULT NULL, `protocollata` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `assemblee_verbali_anno_gestione_id_foreign` (`anno_gestione_id`), KEY `assemblee_verbali_stabile_id_data_assemblea_index` (`stabile_id`,`data_assemblea`), CONSTRAINT `assemblee_verbali_anno_gestione_id_foreign` FOREIGN KEY (`anno_gestione_id`) REFERENCES `anni_gestione` (`id`), CONSTRAINT `assemblee_verbali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili_gescon` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee_voti` -- DROP TABLE IF EXISTS `assemblee_voti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee_voti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `assemblea_id` bigint(20) unsigned NOT NULL, `ordine_giorno_id` bigint(20) unsigned NOT NULL, `soggetto_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `voto` varchar(20) NOT NULL, `millesimi_voto` decimal(10,3) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `voti_unique_punto_soggetto` (`ordine_giorno_id`,`soggetto_id`,`unita_immobiliare_id`), KEY `assemblee_voti_assemblea_id_foreign` (`assemblea_id`), KEY `assemblee_voti_soggetto_id_foreign` (`soggetto_id`), KEY `assemblee_voti_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), CONSTRAINT `assemblee_voti_assemblea_id_foreign` FOREIGN KEY (`assemblea_id`) REFERENCES `assemblee` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_voti_ordine_giorno_id_foreign` FOREIGN KEY (`ordine_giorno_id`) REFERENCES `assemblee_ordine_giorno` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_voti_soggetto_id_foreign` FOREIGN KEY (`soggetto_id`) REFERENCES `anagrafiche` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_voti_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=209 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assemblee_voti_log_modifiche` -- DROP TABLE IF EXISTS `assemblee_voti_log_modifiche`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assemblee_voti_log_modifiche` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `voto_id` bigint(20) unsigned NOT NULL, `user_id` bigint(20) unsigned NOT NULL, `voto_precedente` varchar(20) DEFAULT NULL, `voto_nuovo` varchar(20) NOT NULL, `millesimi_precedenti` decimal(10,3) DEFAULT NULL, `millesimi_nuovi` decimal(10,3) NOT NULL, `motivo` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `assemblee_voti_log_modifiche_voto_id_foreign` (`voto_id`), KEY `assemblee_voti_log_modifiche_user_id_foreign` (`user_id`), CONSTRAINT `assemblee_voti_log_modifiche_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE, CONSTRAINT `assemblee_voti_log_modifiche_voto_id_foreign` FOREIGN KEY (`voto_id`) REFERENCES `assemblee_voti` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assistenza_tecnorepair_allegati_legacy` -- DROP TABLE IF EXISTS `assistenza_tecnorepair_allegati_legacy`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assistenza_tecnorepair_allegati_legacy` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `scheda_id` bigint(20) unsigned NOT NULL, `legacy_id` bigint(20) unsigned DEFAULT NULL, `legacy_scheda_id` bigint(20) unsigned DEFAULT NULL, `legacy_attachment_number` int(10) unsigned DEFAULT NULL, `file_name` varchar(255) DEFAULT NULL, `file_path` varchar(255) DEFAULT NULL, `imported_from_path` varchar(255) DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ass_tecnorepair_allegati_scheda_num_idx` (`scheda_id`,`legacy_attachment_number`), CONSTRAINT `assistenza_tecnorepair_allegati_legacy_scheda_id_foreign` FOREIGN KEY (`scheda_id`) REFERENCES `assistenza_tecnorepair_schede_legacy` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `assistenza_tecnorepair_schede_legacy` -- DROP TABLE IF EXISTS `assistenza_tecnorepair_schede_legacy`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `assistenza_tecnorepair_schede_legacy` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned DEFAULT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `legacy_id` bigint(20) unsigned DEFAULT NULL, `legacy_cliente_id` bigint(20) unsigned DEFAULT NULL, `legacy_centro_ass_id` bigint(20) unsigned DEFAULT NULL, `legacy_committente_codice` varchar(255) DEFAULT NULL, `legacy_numero_scheda` varchar(255) DEFAULT NULL, `customer_name` varchar(255) DEFAULT NULL, `customer_phone` varchar(255) DEFAULT NULL, `customer_phone_alt` varchar(255) DEFAULT NULL, `customer_email` varchar(255) DEFAULT NULL, `product_model` varchar(255) DEFAULT NULL, `product_code` varchar(255) DEFAULT NULL, `serial_number` varchar(255) DEFAULT NULL, `serial_number_2` varchar(255) DEFAULT NULL, `status_code` varchar(255) DEFAULT NULL, `status_label` varchar(255) DEFAULT NULL, `status_bucket` varchar(24) NOT NULL DEFAULT 'other', `defect_reported` text DEFAULT NULL, `repair_description` longtext DEFAULT NULL, `communications` longtext DEFAULT NULL, `operator_name` varchar(255) DEFAULT NULL, `technician_name` varchar(255) DEFAULT NULL, `date_received` datetime DEFAULT NULL, `ordered_at` datetime DEFAULT NULL, `order_number` varchar(255) DEFAULT NULL, `rma_code` varchar(255) DEFAULT NULL, `pin_code` varchar(255) DEFAULT NULL, `unlock_code` varchar(255) DEFAULT NULL, `legacy_attachment_path` varchar(255) DEFAULT NULL, `imported_from_path` varchar(255) DEFAULT NULL, `imported_at` timestamp NULL DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ass_tecnorepair_source_legacy_unique` (`imported_from_path`,`legacy_id`), KEY `assistenza_tecnorepair_schede_legacy_fornitore_id_foreign` (`fornitore_id`), KEY `ass_tecnorepair_admin_numero_idx` (`amministratore_id`,`legacy_numero_scheda`), KEY `assistenza_tecnorepair_schede_legacy_status_bucket_index` (`status_bucket`), CONSTRAINT `assistenza_tecnorepair_schede_legacy_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE SET NULL, CONSTRAINT `assistenza_tecnorepair_schede_legacy_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `audit_logs` -- DROP TABLE IF EXISTS `audit_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `audit_logs` ( `id_audit_log` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `id_utente` bigint(20) unsigned DEFAULT NULL, `nome_tabella` varchar(100) NOT NULL, `id_record_modificato` bigint(20) unsigned NOT NULL, `azione` varchar(50) NOT NULL, `valori_precedenti` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`valori_precedenti`)), `valori_nuovi` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`valori_nuovi`)), `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id_audit_log`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `bilanci` -- DROP TABLE IF EXISTS `bilanci`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `bilanci` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `denominazione` varchar(255) NOT NULL, `tipo_bilancio` varchar(255) NOT NULL DEFAULT 'ORDINARIO', `anno_riferimento` year(4) NOT NULL, `data_approvazione` date DEFAULT NULL, `note` text DEFAULT NULL, `stato` enum('DRAFT','APPROVATO','CHIUSO') NOT NULL DEFAULT 'DRAFT', `totale_entrate` decimal(15,2) NOT NULL DEFAULT 0.00, `totale_uscite` decimal(15,2) NOT NULL DEFAULT 0.00, `saldo` decimal(15,2) NOT NULL DEFAULT 0.00, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `bilanci_gestione_id_foreign` (`gestione_id`), KEY `bilanci_stabile_id_anno_riferimento_tipo_bilancio_index` (`stabile_id`,`anno_riferimento`,`tipo_bilancio`), CONSTRAINT `bilanci_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni` (`id_gestione`) ON DELETE SET NULL, CONSTRAINT `bilanci_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `cache` -- DROP TABLE IF EXISTS `cache`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `cache` ( `key` varchar(255) NOT NULL, `value` mediumtext NOT NULL, `expiration` int(11) NOT NULL, PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `cache_locks` -- DROP TABLE IF EXISTS `cache_locks`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `cache_locks` ( `key` varchar(255) NOT NULL, `owner` varchar(255) NOT NULL, `expiration` int(11) NOT NULL, PRIMARY KEY (`key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `casse` -- DROP TABLE IF EXISTS `casse`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `casse` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` bigint(20) unsigned DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `cod_cassa` varchar(30) NOT NULL, `descrizione` varchar(255) NOT NULL, `tipo` enum('cassa_contanti','conto_bancario_locale','pos','altro') NOT NULL DEFAULT 'cassa_contanti', `iban` varchar(34) DEFAULT NULL, `intestazione_conto` varchar(255) DEFAULT NULL, `attiva` tinyint(1) NOT NULL DEFAULT 1, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `casse_stabile_id_cod_cassa_unique` (`stabile_id`,`cod_cassa`), KEY `casse_tenant_id_index` (`tenant_id`), KEY `casse_cod_cassa_index` (`cod_cassa`), CONSTRAINT `casse_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `categorie_ticket` -- DROP TABLE IF EXISTS `categorie_ticket`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `categorie_ticket` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `categorie_ticket_nome_unique` (`nome`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `checklist_fine_anno_items` -- DROP TABLE IF EXISTS `checklist_fine_anno_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `checklist_fine_anno_items` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `label` varchar(255) NOT NULL, `action_url` varchar(255) DEFAULT NULL, `sort_order` int(10) unsigned NOT NULL DEFAULT 0, `is_active` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `chiamate_post_it` -- DROP TABLE IF EXISTS `chiamate_post_it`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `chiamate_post_it` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned DEFAULT NULL, `rubrica_id` bigint(20) unsigned DEFAULT NULL, `ticket_id` bigint(20) unsigned DEFAULT NULL, `creato_da_user_id` bigint(20) unsigned DEFAULT NULL, `assegnato_a_user_id` bigint(20) unsigned DEFAULT NULL, `assegnato_a_fornitore_id` bigint(20) unsigned DEFAULT NULL, `assegnazione_tipo` varchar(32) DEFAULT NULL, `telefono` varchar(32) DEFAULT NULL, `nome_chiamante` varchar(255) DEFAULT NULL, `direzione` enum('in_arrivo','in_uscita','persa') NOT NULL DEFAULT 'in_arrivo', `esito` varchar(255) DEFAULT NULL, `durata_secondi` int(10) unsigned DEFAULT NULL, `origine` varchar(50) DEFAULT NULL, `origine_id` varchar(255) DEFAULT NULL, `oggetto` varchar(255) DEFAULT NULL, `nota` text DEFAULT NULL, `priorita` enum('Bassa','Media','Alta','Urgente') NOT NULL DEFAULT 'Media', `stato` enum('post_it','ticket','chiusa') NOT NULL DEFAULT 'post_it', `chiamata_il` timestamp NULL DEFAULT NULL, `chiusa_il` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `chiamate_post_it_stabile_id_foreign` (`stabile_id`), KEY `chiamate_post_it_ticket_id_foreign` (`ticket_id`), KEY `chiamate_post_it_creato_da_user_id_foreign` (`creato_da_user_id`), KEY `chiamate_post_it_stato_created_at_index` (`stato`,`created_at`), KEY `chiamate_post_it_rubrica_id_created_at_index` (`rubrica_id`,`created_at`), KEY `chiamate_post_it_telefono_index` (`telefono`), KEY `chiamate_post_it_origine_idx` (`origine`,`origine_id`), KEY `chiamate_post_it_assegnato_a_user_id_foreign` (`assegnato_a_user_id`), KEY `chiamate_post_it_assegnato_a_fornitore_id_foreign` (`assegnato_a_fornitore_id`), KEY `chiamate_post_it_assign_user_idx` (`assegnazione_tipo`,`assegnato_a_user_id`), KEY `chiamate_post_it_assign_supplier_idx` (`assegnazione_tipo`,`assegnato_a_fornitore_id`), CONSTRAINT `chiamate_post_it_assegnato_a_fornitore_id_foreign` FOREIGN KEY (`assegnato_a_fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `chiamate_post_it_assegnato_a_user_id_foreign` FOREIGN KEY (`assegnato_a_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `chiamate_post_it_creato_da_user_id_foreign` FOREIGN KEY (`creato_da_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `chiamate_post_it_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `chiamate_post_it_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `chiamate_post_it_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `chiavi_stabili` -- DROP TABLE IF EXISTS `chiavi_stabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `chiavi_stabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `codice_chiave` varchar(50) NOT NULL, `qr_code_data` text NOT NULL, `tipologia` enum('portone_principale','porte_secondarie','locali_tecnici','spazi_comuni','servizi','emergenza') NOT NULL, `descrizione` varchar(255) NOT NULL, `ubicazione` varchar(255) DEFAULT NULL, `numero_duplicati` int(11) NOT NULL DEFAULT 1, `stato` enum('attiva','smarrita','sostituita','fuori_uso') NOT NULL DEFAULT 'attiva', `assegnata_a` varchar(255) DEFAULT NULL, `data_assegnazione` timestamp NULL DEFAULT NULL, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `classificazioni_tecniche` -- DROP TABLE IF EXISTS `classificazioni_tecniche`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `classificazioni_tecniche` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tipo_classificazione` enum('classe_energetica','stato_conservazione','tipo_riscaldamento','tipo_proprieta','categoria_catastale','destinazione_uso') NOT NULL, `valore` varchar(255) NOT NULL, `codice` varchar(255) DEFAULT NULL, `descrizione` text DEFAULT NULL, `coefficiente_calcolo` decimal(5,3) DEFAULT NULL, `colore_badge` varchar(255) DEFAULT NULL, `ordine` int(11) NOT NULL DEFAULT 100, `attiva` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tipo_valore` (`tipo_classificazione`,`valore`), KEY `classificazioni_tecniche_tipo_classificazione_attiva_index` (`tipo_classificazione`,`attiva`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `classificazioni_unita` -- DROP TABLE IF EXISTS `classificazioni_unita`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `classificazioni_unita` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `classificazione_tecnica_id` bigint(20) unsigned NOT NULL, `validita_da` date DEFAULT NULL, `validita_a` date DEFAULT NULL, `note` text DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_unita_classificazione_data` (`unita_immobiliare_id`,`classificazione_tecnica_id`,`validita_da`), KEY `classificazioni_unita_classificazione_tecnica_id_foreign` (`classificazione_tecnica_id`), KEY `classificazioni_unita_created_by_foreign` (`created_by`), KEY `classificazioni_unita_unita_immobiliare_id_validita_da_index` (`unita_immobiliare_id`,`validita_da`), CONSTRAINT `classificazioni_unita_classificazione_tecnica_id_foreign` FOREIGN KEY (`classificazione_tecnica_id`) REFERENCES `classificazioni_tecniche` (`id`) ON DELETE CASCADE, CONSTRAINT `classificazioni_unita_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `classificazioni_unita_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `codice_univoco_sequences` -- DROP TABLE IF EXISTS `codice_univoco_sequences`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `codice_univoco_sequences` ( `entity_type` varchar(50) NOT NULL, `last_value` bigint(20) unsigned NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`entity_type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `collaboratore_stabile` -- DROP TABLE IF EXISTS `collaboratore_stabile`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `collaboratore_stabile` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned NOT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `ruolo` varchar(255) NOT NULL DEFAULT 'collaboratore', `permessi` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`permessi`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `collaboratore_stabile_user_id_stabile_id_unique` (`user_id`,`stabile_id`), KEY `collaboratore_stabile_stabile_id_foreign` (`stabile_id`), CONSTRAINT `collaboratore_stabile_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `collaboratore_stabile_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `communication_messages` -- DROP TABLE IF EXISTS `communication_messages`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `communication_messages` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `channel` varchar(32) NOT NULL, `direction` varchar(16) NOT NULL DEFAULT 'inbound', `protocol_number` varchar(40) NOT NULL, `external_chat_id` varchar(255) DEFAULT NULL, `external_message_id` varchar(255) DEFAULT NULL, `phone_number` varchar(32) DEFAULT NULL, `target_extension` varchar(20) DEFAULT NULL, `assigned_user_id` bigint(20) unsigned DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `sender_name` varchar(255) DEFAULT NULL, `message_text` longtext DEFAULT NULL, `attachments` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`attachments`)), `ticket_id` bigint(20) unsigned DEFAULT NULL, `post_it_id` bigint(20) unsigned DEFAULT NULL, `insurance_claim_id` bigint(20) unsigned DEFAULT NULL, `status` varchar(32) NOT NULL DEFAULT 'received', `received_at` timestamp NULL DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `communication_messages_protocol_number_unique` (`protocol_number`), KEY `communication_messages_insurance_claim_id_foreign` (`insurance_claim_id`), KEY `communication_messages_channel_direction_index` (`channel`,`direction`), KEY `communication_messages_ticket_id_created_at_index` (`ticket_id`,`created_at`), KEY `communication_messages_post_it_id_created_at_index` (`post_it_id`,`created_at`), KEY `communication_messages_phone_number_index` (`phone_number`), KEY `communication_messages_external_message_id_index` (`external_message_id`), KEY `comm_msg_assigned_user_created_idx` (`assigned_user_id`,`created_at`), KEY `comm_msg_stabile_created_idx` (`stabile_id`,`created_at`), CONSTRAINT `communication_messages_assigned_user_id_foreign` FOREIGN KEY (`assigned_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `communication_messages_insurance_claim_id_foreign` FOREIGN KEY (`insurance_claim_id`) REFERENCES `insurance_claims` (`id`) ON DELETE SET NULL, CONSTRAINT `communication_messages_post_it_id_foreign` FOREIGN KEY (`post_it_id`) REFERENCES `chiamate_post_it` (`id`) ON DELETE SET NULL, CONSTRAINT `communication_messages_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `communication_messages_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `composizione_unita` -- DROP TABLE IF EXISTS `composizione_unita`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `composizione_unita` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_originale_id` bigint(20) unsigned DEFAULT NULL, `unita_risultante_id` bigint(20) unsigned NOT NULL, `tipo_operazione` enum('unione','divisione','modifica') NOT NULL, `data_operazione` date NOT NULL, `superficie_trasferita` decimal(8,2) DEFAULT NULL, `millesimi_trasferiti` decimal(8,4) DEFAULT NULL, `vani_trasferiti` tinyint(4) DEFAULT NULL, `millesimi_automatici` tinyint(1) NOT NULL DEFAULT 1, `coefficiente_ripartizione` decimal(6,4) NOT NULL DEFAULT 1.0000, `numero_pratica` varchar(100) DEFAULT NULL, `riferimento_catastale` varchar(200) DEFAULT NULL, `note_variazione` text DEFAULT NULL, `stato_pratica` enum('in_corso','approvata','respinta','completata') NOT NULL DEFAULT 'in_corso', `data_approvazione` date DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, PRIMARY KEY (`id`), KEY `composizione_unita_unita_originale_id_foreign` (`unita_originale_id`), KEY `composizione_unita_unita_risultante_id_foreign` (`unita_risultante_id`), KEY `composizione_unita_created_by_foreign` (`created_by`), KEY `idx_composizione_operazione` (`tipo_operazione`,`data_operazione`), KEY `idx_composizione_stato` (`stato_pratica`), KEY `composizione_unita_data_operazione_index` (`data_operazione`), CONSTRAINT `composizione_unita_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `composizione_unita_unita_originale_id_foreign` FOREIGN KEY (`unita_originale_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL, CONSTRAINT `composizione_unita_unita_risultante_id_foreign` FOREIGN KEY (`unita_risultante_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `comuni` -- DROP TABLE IF EXISTS `comuni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `comuni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `comuni_italiani` -- DROP TABLE IF EXISTS `comuni_italiani`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `comuni_italiani` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_istat` varchar(10) NOT NULL, `denominazione` varchar(255) NOT NULL, `denominazione_straniera` varchar(255) DEFAULT NULL, `codice_catastale` varchar(4) DEFAULT NULL, `cap` varchar(5) DEFAULT NULL, `provincia_codice` varchar(3) DEFAULT NULL, `provincia_denominazione` varchar(255) DEFAULT NULL, `regione_codice` varchar(2) DEFAULT NULL, `regione_denominazione` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `comuni_italiani_codice_istat_unique` (`codice_istat`), KEY `comuni_italiani_denominazione_index` (`denominazione`), KEY `comuni_italiani_provincia_codice_index` (`provincia_codice`), KEY `comuni_italiani_regione_codice_index` (`regione_codice`), KEY `comuni_italiani_cap_index` (`cap`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `condomini_stabile` -- DROP TABLE IF EXISTS `condomini_stabile`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `condomini_stabile` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno_gestione_id` bigint(20) unsigned NOT NULL, `cod_cond` varchar(255) NOT NULL, `scala` varchar(255) DEFAULT NULL, `interno` varchar(255) NOT NULL, `tipo_proprieta` varchar(10) NOT NULL, `nome_condomino` varchar(255) NOT NULL, `presso` varchar(255) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `cap` varchar(5) DEFAULT NULL, `citta` varchar(255) DEFAULT NULL, `provincia` varchar(2) DEFAULT NULL, `telefono` varchar(255) DEFAULT NULL, `cellulare` varchar(255) DEFAULT NULL, `email_condomino` varchar(255) DEFAULT NULL, `email_inquilino` varchar(255) DEFAULT NULL, `codice_fiscale_cond` varchar(16) DEFAULT NULL, `codice_fiscale_inq` varchar(16) DEFAULT NULL, `iban_cond` varchar(255) DEFAULT NULL, `iban_inq` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `dati_catastali` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_catastali`)), `flags_comunicazioni` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`flags_comunicazioni`)), `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `condomini_stabile_stabile_id_anno_gestione_id_cod_cond_unique` (`stabile_id`,`anno_gestione_id`,`cod_cond`), KEY `condomini_stabile_anno_gestione_id_foreign` (`anno_gestione_id`), KEY `condomini_stabile_stabile_id_attivo_index` (`stabile_id`,`attivo`), KEY `condomini_stabile_scala_interno_index` (`scala`,`interno`), CONSTRAINT `condomini_stabile_anno_gestione_id_foreign` FOREIGN KEY (`anno_gestione_id`) REFERENCES `anni_gestione` (`id`), CONSTRAINT `condomini_stabile_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili_gescon` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `configurazioni_sistema` -- DROP TABLE IF EXISTS `configurazioni_sistema`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `configurazioni_sistema` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `chiave` varchar(255) NOT NULL, `valore` varchar(255) NOT NULL, `tipo_valore` enum('string','integer','decimal','boolean','json','date') NOT NULL, `categoria` varchar(255) NOT NULL, `nome_visualizzato` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `modificabile_admin` tinyint(1) NOT NULL DEFAULT 0, `modificabile_superadmin` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `configurazioni_sistema_chiave_unique` (`chiave`), KEY `configurazioni_sistema_categoria_index` (`categoria`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `conguaglios` -- DROP TABLE IF EXISTS `conguaglios`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `conguaglios` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `bilancio_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `importo_precedente` decimal(15,2) NOT NULL DEFAULT 0.00, `importo_attuale` decimal(15,2) NOT NULL DEFAULT 0.00, `differenza` decimal(15,2) NOT NULL DEFAULT 0.00, `tipo` enum('CREDITO','DEBITO') NOT NULL DEFAULT 'CREDITO', `stato` enum('calcolato','confermato','applicato','annullato') NOT NULL DEFAULT 'calcolato', `data_calcolo` date NOT NULL, `data_applicazione` date DEFAULT NULL, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `conguaglios_bilancio_id_stato_index` (`bilancio_id`,`stato`), KEY `conguaglios_unita_immobiliare_id_stato_index` (`unita_immobiliare_id`,`stato`), CONSTRAINT `conguaglios_bilancio_id_foreign` FOREIGN KEY (`bilancio_id`) REFERENCES `bilanci` (`id`) ON DELETE CASCADE, CONSTRAINT `conguaglios_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_causali_bancarie` -- DROP TABLE IF EXISTS `contabilita_causali_bancarie`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_causali_bancarie` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `banca` varchar(50) NOT NULL DEFAULT 'UNICREDIT', `codice` varchar(20) NOT NULL, `interbancaria` varchar(10) DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `contabilita_causali_bancarie_banca_codice_unique` (`banca`,`codice`), KEY `contabilita_causali_bancarie_banca_attivo_index` (`banca`,`attivo`) ) ENGINE=InnoDB AUTO_INCREMENT=241 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_chiusure_gestione` -- DROP TABLE IF EXISTS `contabilita_chiusure_gestione`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_chiusure_gestione` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `gestione_id` bigint(20) unsigned NOT NULL, `data_chiusura` date NOT NULL, `stato` enum('bozza','chiusa','riaperta') NOT NULL DEFAULT 'bozza', `registrazione_chiusura_id` bigint(20) unsigned DEFAULT NULL, `registrazione_storno_id` bigint(20) unsigned DEFAULT NULL, `saldi_conti` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`saldi_conti`)), `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_cont_chiusure_gestione` (`gestione_id`), KEY `idx_cont_chiusure_stabile_data` (`stabile_id`,`data_chiusura`), KEY `contabilita_chiusure_gestione_registrazione_chiusura_id_foreign` (`registrazione_chiusura_id`), KEY `contabilita_chiusure_gestione_registrazione_storno_id_foreign` (`registrazione_storno_id`), KEY `contabilita_chiusure_gestione_created_by_foreign` (`created_by`), KEY `contabilita_chiusure_gestione_updated_by_foreign` (`updated_by`), CONSTRAINT `contabilita_chiusure_gestione_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_chiusure_gestione_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ON DELETE CASCADE, CONSTRAINT `contabilita_chiusure_gestione_registrazione_chiusura_id_foreign` FOREIGN KEY (`registrazione_chiusura_id`) REFERENCES `contabilita_registrazioni` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_chiusure_gestione_registrazione_storno_id_foreign` FOREIGN KEY (`registrazione_storno_id`) REFERENCES `contabilita_registrazioni` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_chiusure_gestione_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `contabilita_chiusure_gestione_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_fatture_fornitori` -- DROP TABLE IF EXISTS `contabilita_fatture_fornitori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_fatture_fornitori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `fattura_elettronica_id` bigint(20) unsigned DEFAULT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `data_registrazione` date DEFAULT NULL, `data_documento` date DEFAULT NULL, `numero_documento` varchar(255) DEFAULT NULL, `causale_contabile` varchar(30) DEFAULT NULL, `descrizione` varchar(255) DEFAULT NULL, `valuta` varchar(5) NOT NULL DEFAULT 'EUR', `cambio` decimal(12,6) NOT NULL DEFAULT 1.000000, `imponibile` decimal(15,2) NOT NULL DEFAULT 0.00, `iva` decimal(15,2) NOT NULL DEFAULT 0.00, `totale` decimal(15,2) NOT NULL DEFAULT 0.00, `data_scadenza` date DEFAULT NULL, `modalita_pagamento` varchar(80) DEFAULT NULL, `data_pagamento` date DEFAULT NULL, `movimento_pagamento_id` bigint(20) unsigned DEFAULT NULL, `data_versamento_ra` date DEFAULT NULL, `movimento_versamento_ra_id` bigint(20) unsigned DEFAULT NULL, `ritenuta_aliquota` decimal(6,3) DEFAULT NULL, `ritenuta_importo` decimal(15,2) NOT NULL DEFAULT 0.00, `ritenuta_codice_tributo` varchar(10) DEFAULT NULL, `ritenuta_previdenziale_codice` varchar(10) DEFAULT NULL, `netto_da_pagare` decimal(15,2) NOT NULL DEFAULT 0.00, `stato` varchar(30) NOT NULL DEFAULT 'inserito', `registrazione_id` bigint(20) unsigned DEFAULT NULL, `note` text DEFAULT NULL, `dati_fornitura` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_fornitura`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `cff_stabile_datareg_idx` (`stabile_id`,`data_registrazione`), KEY `cff_stabile_datadoc_idx` (`stabile_id`,`data_documento`), KEY `cff_fornitore_idx` (`fornitore_id`), KEY `cff_fe_idx` (`fattura_elettronica_id`), KEY `contabilita_fatture_fornitori_gestione_id_foreign` (`gestione_id`), KEY `cff_stabile_gestione_idx` (`stabile_id`,`gestione_id`), KEY `cff_rit_prev_idx` (`ritenuta_previdenziale_codice`), KEY `cff_mov_pag_idx` (`movimento_pagamento_id`), KEY `cff_mov_ra_idx` (`movimento_versamento_ra_id`), CONSTRAINT `cff_mov_pag_fk` FOREIGN KEY (`movimento_pagamento_id`) REFERENCES `contabilita_movimenti_banca` (`id`) ON DELETE SET NULL, CONSTRAINT `cff_mov_ra_fk` FOREIGN KEY (`movimento_versamento_ra_id`) REFERENCES `contabilita_movimenti_banca` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_fatture_fornitori_fattura_elettronica_id_foreign` FOREIGN KEY (`fattura_elettronica_id`) REFERENCES `fatture_elettroniche` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_fatture_fornitori_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_fatture_fornitori_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_fatture_fornitori_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=236 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_fatture_fornitori_righe` -- DROP TABLE IF EXISTS `contabilita_fatture_fornitori_righe`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_fatture_fornitori_righe` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `fattura_id` bigint(20) unsigned NOT NULL, `product_id` bigint(20) unsigned DEFAULT NULL, `riga` smallint(5) unsigned DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `imponibile_euro` decimal(15,2) NOT NULL DEFAULT 0.00, `iva_euro` decimal(15,2) NOT NULL DEFAULT 0.00, `totale_euro` decimal(15,2) NOT NULL DEFAULT 0.00, `aliquota_iva` decimal(6,2) DEFAULT NULL, `conto_costo_id` bigint(20) unsigned DEFAULT NULL, `voce_spesa_id` bigint(20) unsigned DEFAULT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `percentuale_riparto` decimal(5,2) DEFAULT NULL, `tabella_millesimale_id` bigint(20) unsigned DEFAULT NULL, `legacy_cod_spe` varchar(20) DEFAULT NULL, `legacy_n_spe` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `cffr_conto_fk` (`conto_costo_id`), KEY `cffr_tabella_fk` (`tabella_millesimale_id`), KEY `cffr_fattura_idx` (`fattura_id`), KEY `cfff_righe_voce_idx` (`voce_spesa_id`), KEY `cfff_righe_gest_idx` (`gestione_id`), KEY `cffr_legacy_cod_spe_idx` (`legacy_cod_spe`), KEY `cffr_legacy_n_spe_idx` (`legacy_n_spe`), KEY `cont_fatture_righe_product_idx` (`product_id`,`fattura_id`), CONSTRAINT `cfff_righe_gest_fk` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ON DELETE SET NULL, CONSTRAINT `cfff_righe_voce_fk` FOREIGN KEY (`voce_spesa_id`) REFERENCES `voci_spesa` (`id`) ON DELETE SET NULL, CONSTRAINT `cffr_conto_fk` FOREIGN KEY (`conto_costo_id`) REFERENCES `contabilita_piano_conti` (`id`) ON DELETE SET NULL, CONSTRAINT `cffr_tabella_fk` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_fatture_fornitori_righe_fattura_id_foreign` FOREIGN KEY (`fattura_id`) REFERENCES `contabilita_fatture_fornitori` (`id`) ON DELETE CASCADE, CONSTRAINT `contabilita_fatture_fornitori_righe_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=3633 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_movimenti` -- DROP TABLE IF EXISTS `contabilita_movimenti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_movimenti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `registrazione_id` bigint(20) unsigned DEFAULT NULL, `conto_id` bigint(20) unsigned NOT NULL, `voce_spesa_id` bigint(20) unsigned DEFAULT NULL, `tipo` enum('dare','avere') NOT NULL, `importo` decimal(15,2) NOT NULL, `entry_id` bigint(20) unsigned NOT NULL, `chart_account_id` bigint(20) unsigned NOT NULL, `master_code` varchar(3) NOT NULL, `account_code` varchar(8) NOT NULL, `subaccount_code` varchar(5) NOT NULL, `debit_amount` decimal(12,2) NOT NULL DEFAULT 0.00, `credit_amount` decimal(12,2) NOT NULL DEFAULT 0.00, `progressive_balance` decimal(15,2) NOT NULL DEFAULT 0.00, `movement_description` text DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `sequence` int(11) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `contabilita_movimenti_entry_id_foreign` (`entry_id`), KEY `idx_movements_account_entry` (`chart_account_id`,`entry_id`), KEY `idx_movements_codes` (`master_code`,`account_code`,`subaccount_code`), KEY `idx_movements_sequence` (`sequence`), KEY `contabilita_movimenti_registrazione_id_index` (`registrazione_id`), KEY `cont_movimenti_voce_spesa_idx` (`voce_spesa_id`), CONSTRAINT `contabilita_movimenti_chart_account_id_foreign` FOREIGN KEY (`chart_account_id`) REFERENCES `piano_conti` (`id`), CONSTRAINT `contabilita_movimenti_entry_id_foreign` FOREIGN KEY (`entry_id`) REFERENCES `contabilita_registrazioni` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=7851 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_movimenti_banca` -- DROP TABLE IF EXISTS `contabilita_movimenti_banca`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_movimenti_banca` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `conto_id` bigint(20) unsigned DEFAULT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `iban` varchar(34) DEFAULT NULL, `data` date NOT NULL, `valuta` date DEFAULT NULL, `descrizione` text NOT NULL, `descrizione_estesa` text DEFAULT NULL, `importo` decimal(15,2) NOT NULL, `causale` varchar(20) DEFAULT NULL, `source_file` varchar(255) DEFAULT NULL, `raw_line` text DEFAULT NULL, `row_hash` varchar(64) NOT NULL, `da_confermare` tinyint(1) NOT NULL DEFAULT 0, `match_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`match_data`)), `rubrica_mittente_id` bigint(20) unsigned DEFAULT NULL, `rubrica_beneficiario_id` bigint(20) unsigned DEFAULT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `registrazione_id` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `contabilita_movimenti_banca_stabile_id_row_hash_unique` (`stabile_id`,`row_hash`), KEY `contabilita_movimenti_banca_stabile_id_data_index` (`stabile_id`,`data`), KEY `contabilita_movimenti_banca_stabile_id_iban_index` (`stabile_id`,`iban`), KEY `contabilita_movimenti_banca_registrazione_id_foreign` (`registrazione_id`), KEY `contabilita_movimenti_banca_gestione_id_foreign` (`gestione_id`), KEY `contabilita_movimenti_banca_stabile_id_gestione_id_data_index` (`stabile_id`,`gestione_id`,`data`), KEY `contabilita_movimenti_banca_conto_id_foreign` (`conto_id`), KEY `contabilita_movimenti_banca_stabile_id_conto_id_index` (`stabile_id`,`conto_id`), KEY `contabilita_movimenti_banca_rubrica_mittente_id_foreign` (`rubrica_mittente_id`), KEY `contabilita_movimenti_banca_rubrica_beneficiario_id_foreign` (`rubrica_beneficiario_id`), KEY `contabilita_movimenti_banca_fornitore_id_foreign` (`fornitore_id`), CONSTRAINT `contabilita_movimenti_banca_conto_id_foreign` FOREIGN KEY (`conto_id`) REFERENCES `dati_bancari` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_movimenti_banca_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_movimenti_banca_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_movimenti_banca_registrazione_id_foreign` FOREIGN KEY (`registrazione_id`) REFERENCES `contabilita_registrazioni` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_movimenti_banca_rubrica_beneficiario_id_foreign` FOREIGN KEY (`rubrica_beneficiario_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_movimenti_banca_rubrica_mittente_id_foreign` FOREIGN KEY (`rubrica_mittente_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_movimenti_banca_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=11603 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_piano_conti` -- DROP TABLE IF EXISTS `contabilita_piano_conti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_piano_conti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(20) NOT NULL COMMENT 'Codice conto (es: 1.01.001)', `denominazione` varchar(255) NOT NULL COMMENT 'Nome del conto', `descrizione` text DEFAULT NULL COMMENT 'Descrizione dettagliata', `tipo_conto` enum('ATTIVO','PASSIVO','RICAVO','COSTO','PATRIMONIO') NOT NULL COMMENT 'Tipologia di conto', `attivo` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Conto attivo/disattivo', `livello` int(11) NOT NULL DEFAULT 1 COMMENT 'Livello gerarchico del conto', `codice_padre` varchar(20) DEFAULT NULL COMMENT 'Codice del conto padre', `saldo_iniziale` decimal(15,2) NOT NULL DEFAULT 0.00 COMMENT 'Saldo iniziale del conto', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `contabilita_piano_conti_codice_unique` (`codice`), KEY `contabilita_piano_conti_codice_index` (`codice`), KEY `contabilita_piano_conti_tipo_conto_index` (`tipo_conto`), KEY `contabilita_piano_conti_attivo_index` (`attivo`), KEY `contabilita_piano_conti_codice_padre_index` (`codice_padre`) ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_registrazioni` -- DROP TABLE IF EXISTS `contabilita_registrazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_registrazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `data_registrazione` date DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `gestione_id` bigint(20) unsigned NOT NULL, `protocollo_prefix` varchar(20) DEFAULT NULL, `protocollo_numero` int(10) unsigned DEFAULT NULL, `protocollo_completo` varchar(50) DEFAULT NULL, `entry_date` date NOT NULL, `document_number` varchar(50) DEFAULT NULL, `document_type` varchar(20) NOT NULL DEFAULT 'REG', `description` text NOT NULL, `notes` text DEFAULT NULL, `protocol` varchar(50) DEFAULT NULL, `external_reference` varchar(100) DEFAULT NULL, `status` enum('draft','confirmed','cancelled') NOT NULL DEFAULT 'draft', `confirmed_at` timestamp NULL DEFAULT NULL, `user_id` bigint(20) unsigned NOT NULL, `confirmed_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `cr_protocollo_uniq` (`protocollo_completo`), KEY `contabilita_registrazioni_user_id_foreign` (`user_id`), KEY `contabilita_registrazioni_confirmed_by_foreign` (`confirmed_by`), KEY `idx_entries_gestione_date` (`gestione_id`,`entry_date`), KEY `idx_entries_status_date` (`status`,`entry_date`), KEY `idx_entries_doc_number` (`document_number`), KEY `idx_entries_doc_type` (`document_type`), KEY `idx_cont_reg_stab_gest_data` (`stabile_id`,`gestione_id`,`data_registrazione`), KEY `cr_gest_protnum_idx` (`gestione_id`,`protocollo_numero`), CONSTRAINT `contabilita_registrazioni_confirmed_by_foreign` FOREIGN KEY (`confirmed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_registrazioni_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni` (`id_gestione`) ON DELETE CASCADE, CONSTRAINT `contabilita_registrazioni_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `contabilita_registrazioni_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=483 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_regole_prima_nota` -- DROP TABLE IF EXISTS `contabilita_regole_prima_nota`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_regole_prima_nota` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `origine` varchar(30) NOT NULL DEFAULT 'banca', `chiave` varchar(50) NOT NULL, `label` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `conto_dare_id` bigint(20) unsigned DEFAULT NULL, `conto_avere_id` bigint(20) unsigned DEFAULT NULL, `attiva` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `contabilita_regole_prima_nota_stabile_id_origine_chiave_unique` (`stabile_id`,`origine`,`chiave`), KEY `contabilita_regole_prima_nota_conto_dare_id_foreign` (`conto_dare_id`), KEY `contabilita_regole_prima_nota_conto_avere_id_foreign` (`conto_avere_id`), CONSTRAINT `contabilita_regole_prima_nota_conto_avere_id_foreign` FOREIGN KEY (`conto_avere_id`) REFERENCES `contabilita_piano_conti` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_regole_prima_nota_conto_dare_id_foreign` FOREIGN KEY (`conto_dare_id`) REFERENCES `contabilita_piano_conti` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_regole_prima_nota_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_saldi_conti` -- DROP TABLE IF EXISTS `contabilita_saldi_conti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_saldi_conti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `conto_id` bigint(20) unsigned DEFAULT NULL, `iban` varchar(34) DEFAULT NULL, `data_saldo` date NOT NULL, `periodo_da` date DEFAULT NULL, `periodo_a` date DEFAULT NULL, `saldo` decimal(15,2) NOT NULL DEFAULT 0.00, `is_partenza_contabile` tinyint(1) NOT NULL DEFAULT 0, `tipo_estratto` varchar(50) DEFAULT NULL, `note` text DEFAULT NULL, `documento_stabile_id` bigint(20) unsigned DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `saldi_conti_stabile_conto_data_unique` (`stabile_id`,`conto_id`,`data_saldo`), KEY `contabilita_saldi_conti_conto_id_foreign` (`conto_id`), KEY `contabilita_saldi_conti_stabile_id_conto_id_data_saldo_index` (`stabile_id`,`conto_id`,`data_saldo`), KEY `contabilita_saldi_conti_documento_stabile_id_foreign` (`documento_stabile_id`), KEY `contabilita_saldi_conti_is_partenza_contabile_index` (`is_partenza_contabile`), CONSTRAINT `contabilita_saldi_conti_conto_id_foreign` FOREIGN KEY (`conto_id`) REFERENCES `dati_bancari` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_saldi_conti_documento_stabile_id_foreign` FOREIGN KEY (`documento_stabile_id`) REFERENCES `documenti_stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `contabilita_saldi_conti_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_situazione_iniziale_conguagli` -- DROP TABLE IF EXISTS `contabilita_situazione_iniziale_conguagli`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_situazione_iniziale_conguagli` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `legacy_year` varchar(20) DEFAULT NULL, `cod_tab` varchar(20) NOT NULL, `n_stra` int(10) unsigned DEFAULT NULL, `id_cond` varchar(20) NOT NULL, `cond_inquil` varchar(255) DEFAULT NULL, `mm` decimal(8,3) DEFAULT NULL, `cons_euro` decimal(14,2) NOT NULL DEFAULT 0.00, `incluso` tinyint(1) NOT NULL DEFAULT 1, `origine` varchar(20) NOT NULL DEFAULT 'manuale', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `si_cong_stab_tab_stra_cond` (`stabile_id`,`cod_tab`,`n_stra`,`id_cond`), KEY `contabilita_situazione_iniziale_conguagli_stabile_id_index` (`stabile_id`), KEY `contabilita_situazione_iniziale_conguagli_legacy_year_index` (`legacy_year`), KEY `contabilita_situazione_iniziale_conguagli_cod_tab_index` (`cod_tab`), KEY `contabilita_situazione_iniziale_conguagli_n_stra_index` (`n_stra`), KEY `contabilita_situazione_iniziale_conguagli_id_cond_index` (`id_cond`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_situazione_iniziale_fe_links` -- DROP TABLE IF EXISTS `contabilita_situazione_iniziale_fe_links`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_situazione_iniziale_fe_links` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile_legacy` varchar(50) DEFAULT NULL, `legacy_year` varchar(10) DEFAULT NULL, `cre_deb_preced_id` bigint(20) unsigned NOT NULL, `c_d` char(1) NOT NULL DEFAULT 'D', `stabile_id` bigint(20) unsigned DEFAULT NULL, `fattura_elettronica_id` bigint(20) unsigned NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `si_fe_links_unique` (`cod_stabile_legacy`,`legacy_year`,`cre_deb_preced_id`,`c_d`,`fattura_elettronica_id`), KEY `si_fe_ctx_idx` (`cod_stabile_legacy`,`legacy_year`,`c_d`), KEY `si_fe_credeb_idx` (`cre_deb_preced_id`), KEY `si_fe_stabile_idx` (`stabile_id`), KEY `si_fe_fattura_fk` (`fattura_elettronica_id`), CONSTRAINT `si_fe_fattura_fk` FOREIGN KEY (`fattura_elettronica_id`) REFERENCES `fatture_elettroniche` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_situazione_iniziale_ra_links` -- DROP TABLE IF EXISTS `contabilita_situazione_iniziale_ra_links`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_situazione_iniziale_ra_links` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile_legacy` varchar(50) DEFAULT NULL, `legacy_year` varchar(10) DEFAULT NULL, `cre_deb_preced_id` bigint(20) unsigned NOT NULL, `c_d` char(1) NOT NULL DEFAULT 'D', `stabile_id` bigint(20) unsigned DEFAULT NULL, `registro_ritenuta_acconto_id` bigint(20) unsigned NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `si_ra_links_unique` (`cod_stabile_legacy`,`legacy_year`,`cre_deb_preced_id`,`c_d`,`registro_ritenuta_acconto_id`), KEY `si_ra_ctx_idx` (`cod_stabile_legacy`,`legacy_year`,`c_d`), KEY `si_ra_credeb_idx` (`cre_deb_preced_id`), KEY `si_ra_stabile_idx` (`stabile_id`), KEY `si_ra_registro_fk` (`registro_ritenuta_acconto_id`), CONSTRAINT `si_ra_registro_fk` FOREIGN KEY (`registro_ritenuta_acconto_id`) REFERENCES `registro_ritenute_acconto` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contabilita_situazione_iniziale_voci` -- DROP TABLE IF EXISTS `contabilita_situazione_iniziale_voci`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contabilita_situazione_iniziale_voci` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `legacy_year` varchar(20) DEFAULT NULL, `gestione` varchar(20) NOT NULL, `n_stra` int(10) unsigned DEFAULT NULL, `categoria` varchar(20) NOT NULL, `codice` varchar(50) DEFAULT NULL, `descrizione` varchar(255) DEFAULT NULL, `importo_euro` decimal(14,2) NOT NULL DEFAULT 0.00, `incluso` tinyint(1) NOT NULL DEFAULT 1, `origine` varchar(20) NOT NULL DEFAULT 'manuale', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `si_voci_stab_gest_cat` (`stabile_id`,`gestione`,`categoria`), KEY `contabilita_situazione_iniziale_voci_stabile_id_index` (`stabile_id`), KEY `contabilita_situazione_iniziale_voci_legacy_year_index` (`legacy_year`), KEY `contabilita_situazione_iniziale_voci_gestione_index` (`gestione`), KEY `contabilita_situazione_iniziale_voci_n_stra_index` (`n_stra`), KEY `contabilita_situazione_iniziale_voci_categoria_index` (`categoria`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contatori` -- DROP TABLE IF EXISTS `contatori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contatori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `tipo_contatore` enum('acqua_fredda','acqua_calda','gas','elettrico','riscaldamento') NOT NULL, `numero_contatore` varchar(255) NOT NULL, `marca` varchar(255) DEFAULT NULL, `modello` varchar(255) DEFAULT NULL, `data_installazione` date DEFAULT NULL, `lettura_iniziale` decimal(12,3) NOT NULL DEFAULT 0.000, `ubicazione` varchar(255) DEFAULT NULL, `telelettura` tinyint(1) NOT NULL DEFAULT 0, `configurazione_telelettura` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`configurazione_telelettura`)), `attivo` tinyint(1) NOT NULL DEFAULT 1, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `contatori_numero_contatore_unique` (`numero_contatore`), KEY `contatori_stabile_id_tipo_contatore_index` (`stabile_id`,`tipo_contatore`), KEY `contatori_unita_immobiliare_id_attivo_index` (`unita_immobiliare_id`,`attivo`), CONSTRAINT `contatori_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `contatori_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contatori_orfani_staging` -- DROP TABLE IF EXISTS `contatori_orfani_staging`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contatori_orfani_staging` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `matricola` varchar(80) NOT NULL, `interno_originale` varchar(50) DEFAULT NULL, `data_lettura` date NOT NULL, `valore_lettura` decimal(12,3) NOT NULL, `file_name` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `contatori_orfani_staging_stabile_id_foreign` (`stabile_id`), CONSTRAINT `contatori_orfani_staging_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contatti_anagrafica` -- DROP TABLE IF EXISTS `contatti_anagrafica`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contatti_anagrafica` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `anagrafica_id` bigint(20) unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale', `tipo_contatto` enum('email','pec','telefono','cellulare','whatsapp','telegram','altro') NOT NULL COMMENT 'Tipo di contatto', `valore` varchar(255) NOT NULL COMMENT 'Valore del contatto (email, numero, etc.)', `etichetta` varchar(255) DEFAULT NULL COMMENT 'Etichetta personalizzata (es: "lavoro", "casa", "emergenza")', `principale` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Se è il contatto principale per questo tipo', `attivo` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Se il contatto è attivo', `verificato` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Se il contatto è stato verificato', `data_verifica` timestamp NULL DEFAULT NULL, `usa_per_convocazioni` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Usare per convocazioni assemblee', `usa_per_comunicazioni` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Usare per comunicazioni generali', `usa_per_emergenze` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Usare per emergenze', `usa_per_solleciti` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Usare per solleciti pagamento', `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `contatti_anagrafica_anagrafica_id_tipo_contatto_index` (`anagrafica_id`,`tipo_contatto`), KEY `contatti_anagrafica_tipo_contatto_principale_index` (`tipo_contatto`,`principale`), KEY `contatti_anagrafica_anagrafica_id_attivo_index` (`anagrafica_id`,`attivo`), KEY `contatti_anagrafica_anagrafica_id_index` (`anagrafica_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `conti_bancari` -- DROP TABLE IF EXISTS `conti_bancari`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `conti_bancari` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `id_cassa_gescon` int(11) DEFAULT NULL COMMENT 'ID originale da Anagr_casse', `codice` varchar(10) NOT NULL COMMENT 'Codice cassa: CCB, CON, CDL', `descrizione` varchar(255) NOT NULL COMMENT 'Descrizione account: es. UNICREDIT CC N.000104951005', `saldo_iniziale` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Saldo iniziale in Euro', `tipo_conto` varchar(20) NOT NULL DEFAULT 'bancario' COMMENT 'bancario, contanti, postale', `banca` varchar(100) DEFAULT NULL COMMENT 'Nome banca estratto da descrizione', `numero_conto` varchar(50) DEFAULT NULL COMMENT 'Numero conto bancario', `iban` varchar(27) DEFAULT NULL COMMENT 'IBAN del conto', `swift` varchar(11) DEFAULT NULL COMMENT 'Codice SWIFT/BIC', `saldo_corrente` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Saldo attuale calcolato', `ultima_riconciliazione` date DEFAULT NULL COMMENT 'Data ultima riconciliazione', `attivo` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Conto attivo/disattivo', `formato_file` varchar(20) DEFAULT NULL COMMENT 'WRI, CSV, MT940, etc.', `configurazione_import` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Config per import automatico' CHECK (json_valid(`configurazione_import`)), `metadati_gescon` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Dati originali completi' CHECK (json_valid(`metadati_gescon`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `conti_bancari_tenant_id_codice_unique` (`tenant_id`,`codice`), KEY `conti_bancari_gestione_id_foreign` (`gestione_id`), KEY `conti_bancari_tenant_id_gestione_id_index` (`tenant_id`,`gestione_id`), KEY `conti_bancari_tenant_id_codice_index` (`tenant_id`,`codice`), KEY `conti_bancari_tenant_id_attivo_index` (`tenant_id`,`attivo`), CONSTRAINT `conti_bancari_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `contratti_locazione` -- DROP TABLE IF EXISTS `contratti_locazione`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `contratti_locazione` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL COMMENT 'FK verso unita_immobiliari', `locatore_id` bigint(20) unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale (proprietario)', `conduttore_id` bigint(20) unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale (inquilino)', `numero_contratto` varchar(255) DEFAULT NULL COMMENT 'Numero identificativo contratto', `data_contratto` date NOT NULL COMMENT 'Data stipula contratto', `data_inizio` date NOT NULL COMMENT 'Data inizio locazione', `data_fine` date DEFAULT NULL COMMENT 'Data fine locazione (null = indeterminato)', `canone_mensile` decimal(10,2) NOT NULL COMMENT 'Canone mensile', `deposito_cauzionale` decimal(10,2) DEFAULT NULL COMMENT 'Deposito cauzionale', `tipo_contratto` enum('libero_mercato','concordato','transitorio','studenti','altro') NOT NULL COMMENT 'Tipo di contratto di locazione', `regime_spese` enum('tutto_inquilino','tutto_proprietario','ripartizione_confedilizia','personalizzato') NOT NULL DEFAULT 'ripartizione_confedilizia' COMMENT 'Come vengono ripartite le spese condominiali', `configurazione_spese` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Configurazione personalizzata spese (se regime = personalizzato)' CHECK (json_valid(`configurazione_spese`)), `stato` enum('attivo','scaduto','risolto','sospeso') NOT NULL DEFAULT 'attivo', `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `contratti_locazione_unita_immobiliare_id_stato_index` (`unita_immobiliare_id`,`stato`), KEY `contratti_locazione_data_inizio_data_fine_index` (`data_inizio`,`data_fine`), KEY `contratti_locazione_locatore_id_index` (`locatore_id`), KEY `contratti_locazione_conduttore_id_index` (`conduttore_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `dati_bancari` -- DROP TABLE IF EXISTS `dati_bancari`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `dati_bancari` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `contatto_id` bigint(20) unsigned DEFAULT NULL, `tipo_conto` enum('corrente','deposito','risparmio','cassa') NOT NULL DEFAULT 'corrente', `denominazione_banca` varchar(255) NOT NULL, `numero_conto` varchar(50) DEFAULT NULL, `iban` varchar(34) DEFAULT NULL, `legacy_cod_cassa` varchar(64) DEFAULT NULL, `abi` varchar(5) DEFAULT NULL, `cab` varchar(5) DEFAULT NULL, `cuc` varchar(20) DEFAULT NULL, `sia` varchar(20) DEFAULT NULL, `cin` varchar(1) DEFAULT NULL, `bic_swift` varchar(11) DEFAULT NULL, `intestazione_conto` varchar(255) DEFAULT NULL, `data_saldo_iniziale` date DEFAULT NULL, `saldo_iniziale` decimal(12,2) NOT NULL DEFAULT 0.00, `valuta` varchar(3) NOT NULL DEFAULT 'EUR', `stato_conto` enum('attivo','chiuso','sospeso') NOT NULL DEFAULT 'attivo', `is_nostro_conto` tinyint(1) NOT NULL DEFAULT 0, `note` text DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `dati_bancari_stabile_id_index` (`stabile_id`), KEY `dati_bancari_contatto_id_index` (`contatto_id`), KEY `dati_bancari_stato_conto_index` (`stato_conto`), KEY `dati_bancari_iban_index` (`iban`), KEY `dati_bancari_creato_da_foreign` (`creato_da`), KEY `dati_bancari_modificato_da_foreign` (`modificato_da`), KEY `dati_bancari_legacy_cod_cassa_index` (`legacy_cod_cassa`), KEY `dati_bancari_is_nostro_conto_index` (`is_nostro_conto`), CONSTRAINT `dati_bancari_contatto_id_foreign` FOREIGN KEY (`contatto_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `dati_bancari_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `dati_bancari_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `dati_bancari_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `destinatari_comunicazioni` -- DROP TABLE IF EXISTS `destinatari_comunicazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `destinatari_comunicazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `cod_condomino` varchar(255) NOT NULL, `tipo_comunicazione` varchar(255) NOT NULL, `destinatario` varchar(255) NOT NULL, `scala` varchar(255) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `destinatari_comunicazioni_stabile_id_tipo_comunicazione_index` (`stabile_id`,`tipo_comunicazione`), KEY `destinatari_comunicazioni_cod_condomino_attivo_index` (`cod_condomino`,`attivo`), CONSTRAINT `destinatari_comunicazioni_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili_gescon` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `detrazioni_fiscali_dom` -- DROP TABLE IF EXISTS `detrazioni_fiscali_dom`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `detrazioni_fiscali_dom` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` bigint(20) unsigned DEFAULT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `lavoro_straordinario_id` bigint(20) unsigned DEFAULT NULL, `legacy_rif` varchar(100) DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `tipologia` varchar(100) DEFAULT NULL, `importo` decimal(15,4) DEFAULT NULL, `cessione_flag` tinyint(1) NOT NULL DEFAULT 0, `importi_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`importi_json`)), `cessione_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`cessione_json`)), `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `detrazioni_fiscali_dom_gestione_id_foreign` (`gestione_id`), KEY `detrazioni_fiscali_dom_lavoro_straordinario_id_foreign` (`lavoro_straordinario_id`), KEY `detrazioni_fiscali_dom_tenant_id_index` (`tenant_id`), KEY `detrazioni_fiscali_dom_legacy_rif_index` (`legacy_rif`), CONSTRAINT `detrazioni_fiscali_dom_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `detrazioni_fiscali_dom_lavoro_straordinario_id_foreign` FOREIGN KEY (`lavoro_straordinario_id`) REFERENCES `lavori_straordinari` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `detrazioni_partecipanti` -- DROP TABLE IF EXISTS `detrazioni_partecipanti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `detrazioni_partecipanti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `detrazione_id` bigint(20) unsigned NOT NULL, `soggetto_id` bigint(20) unsigned DEFAULT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `percentuale` decimal(8,4) DEFAULT NULL, `parte_sconto` tinyint(1) NOT NULL DEFAULT 0, `importo_riconosciuto` decimal(15,4) DEFAULT NULL, `importo_residuo` decimal(15,4) DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `detrazioni_partecipanti_soggetto_id_foreign` (`soggetto_id`), KEY `detrazioni_partecipanti_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `detrazioni_partecipanti_detrazione_id_soggetto_id_index` (`detrazione_id`,`soggetto_id`), CONSTRAINT `detrazioni_partecipanti_detrazione_id_foreign` FOREIGN KEY (`detrazione_id`) REFERENCES `detrazioni_fiscali_dom` (`id`) ON DELETE CASCADE, CONSTRAINT `detrazioni_partecipanti_soggetto_id_foreign` FOREIGN KEY (`soggetto_id`) REFERENCES `anagrafiche` (`id`), CONSTRAINT `detrazioni_partecipanti_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `dettagli_millesimali` -- DROP TABLE IF EXISTS `dettagli_millesimali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `dettagli_millesimali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tabella_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `millesimi` decimal(8,4) NOT NULL DEFAULT 0.0000, `percentuale` decimal(8,4) DEFAULT NULL, `quota_fissa` decimal(10,2) DEFAULT NULL, `note` text DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tabella_unita` (`tabella_id`,`unita_immobiliare_id`), KEY `dettagli_millesimali_tabella_id_index` (`tabella_id`), KEY `dettagli_millesimali_unita_immobiliare_id_index` (`unita_immobiliare_id`), KEY `dettagli_millesimali_creato_da_foreign` (`creato_da`), KEY `dettagli_millesimali_modificato_da_foreign` (`modificato_da`), CONSTRAINT `dettagli_millesimali_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `dettagli_millesimali_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `dettagli_millesimali_tabella_id_foreign` FOREIGN KEY (`tabella_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `dettagli_millesimali_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `dettagli_tabelle_millesimali` -- DROP TABLE IF EXISTS `dettagli_tabelle_millesimali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `dettagli_tabelle_millesimali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tabella_millesimale_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `millesimi` decimal(10,4) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tabella_unita` (`tabella_millesimale_id`,`unita_immobiliare_id`), KEY `dettagli_tabelle_millesimali_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), CONSTRAINT `dettagli_tabelle_millesimali_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `dettagli_tabelle_millesimali_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `dettaglio_importi_tabella` -- DROP TABLE IF EXISTS `dettaglio_importi_tabella`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `dettaglio_importi_tabella` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tabella_millesimale_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `ruolo_legacy` varchar(1) DEFAULT NULL, `legacy_year` varchar(4) NOT NULL DEFAULT '0000', `millesimi` decimal(12,4) NOT NULL DEFAULT 0.0000, `prev_euro` decimal(15,2) DEFAULT NULL, `cons_euro` decimal(15,2) DEFAULT NULL, `ex_cons_euro` decimal(15,2) DEFAULT NULL, `n_stra` int(10) unsigned DEFAULT NULL, `unico` tinyint(1) DEFAULT NULL, `proviene_ors` varchar(1) DEFAULT NULL, `proviene_n_stra` int(10) unsigned DEFAULT NULL, `proviene_eserc` int(10) unsigned DEFAULT NULL, `legacy_payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`legacy_payload`)), `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tabella_unita_ruolo_anno` (`tabella_millesimale_id`,`unita_immobiliare_id`,`ruolo_legacy`,`legacy_year`), KEY `dettaglio_importi_tabella_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `dettaglio_importi_tabella_created_by_foreign` (`created_by`), KEY `dettaglio_importi_tabella_ruolo_legacy_index` (`ruolo_legacy`), KEY `dettaglio_importi_tabella_legacy_year_index` (`legacy_year`), CONSTRAINT `dettaglio_importi_tabella_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `dettaglio_importi_tabella_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `dettaglio_importi_tabella_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=33812 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `dettaglio_millesimi` -- DROP TABLE IF EXISTS `dettaglio_millesimi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `dettaglio_millesimi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tabella_millesimale_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `millesimi` decimal(10,4) NOT NULL DEFAULT 0.0000, `nord` int(11) DEFAULT NULL, `valore_prev` decimal(15,4) DEFAULT NULL, `valore_cons` decimal(15,4) DEFAULT NULL, `ruolo_legacy` varchar(100) DEFAULT NULL, `legacy_interno` varchar(100) DEFAULT NULL, `partecipa` tinyint(1) NOT NULL DEFAULT 1, `note` text DEFAULT NULL, `legacy_payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`legacy_payload`)), `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tabella_unita_ruolo_legacy` (`tabella_millesimale_id`,`unita_immobiliare_id`,`ruolo_legacy`), KEY `dettaglio_millesimi_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `dettaglio_millesimi_created_by_foreign` (`created_by`), KEY `dettaglio_millesimi_millesimi_index` (`millesimi`), CONSTRAINT `dettaglio_millesimi_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `dettaglio_millesimi_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `dettaglio_millesimi_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=25801 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `dettaglio_ripartizione_spese` -- DROP TABLE IF EXISTS `dettaglio_ripartizione_spese`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `dettaglio_ripartizione_spese` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ripartizione_spese_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `anagrafica_condominiale_id` bigint(20) unsigned NOT NULL, `millesimi` decimal(8,3) NOT NULL, `importo_calcolato` decimal(10,2) NOT NULL, `importo_rettificato` decimal(10,2) DEFAULT NULL, `motivo_rettifica` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `dettaglio_ripartizione_spese_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `dettaglio_ripartizione_spese_anagrafica_condominiale_id_foreign` (`anagrafica_condominiale_id`), CONSTRAINT `dettaglio_ripartizione_spese_anagrafica_condominiale_id_foreign` FOREIGN KEY (`anagrafica_condominiale_id`) REFERENCES `anagrafica_condominiale` (`id`) ON DELETE CASCADE, CONSTRAINT `dettaglio_ripartizione_spese_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `diritti_reali` -- DROP TABLE IF EXISTS `diritti_reali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `diritti_reali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL COMMENT 'FK verso unita_immobiliari', `anagrafica_id` bigint(20) unsigned NOT NULL COMMENT 'FK verso anagrafica_condominiale', `tipo_diritto` enum('proprieta','nuda_proprieta','usufrutto','uso','abitazione','enfiteusi','servitu','superficie','altro') NOT NULL COMMENT 'Tipo di diritto reale', `quota_numeratore` decimal(10,0) NOT NULL DEFAULT 1 COMMENT 'Numeratore della quota (es: 2 in 2/16)', `quota_denominatore` decimal(10,0) NOT NULL DEFAULT 1 COMMENT 'Denominatore della quota (es: 16 in 2/16)', `percentuale` decimal(5,2) NOT NULL COMMENT 'Percentuale calcolata (es: 12.50 per 2/16)', `data_inizio` date NOT NULL COMMENT 'Data inizio diritto', `data_fine` date DEFAULT NULL COMMENT 'Data fine diritto (null = a tempo indeterminato)', `titolo_acquisizione` varchar(255) DEFAULT NULL COMMENT 'Titolo di acquisizione (compravendita, successione, etc.)', `atto_notarile` varchar(255) DEFAULT NULL COMMENT 'Riferimenti atto notarile', `data_atto` date DEFAULT NULL COMMENT 'Data dell''atto', `notaio` varchar(255) DEFAULT NULL COMMENT 'Nome del notaio', `trascrizione_conservatoria` varchar(255) DEFAULT NULL COMMENT 'Numero trascrizione conservatoria', `data_trascrizione` date DEFAULT NULL, `voltura_catastale` varchar(255) DEFAULT NULL COMMENT 'Riferimenti voltura catastale', `data_voltura` date DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Se il diritto è attualmente attivo', `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `diritti_reali_unita_immobiliare_id_attivo_index` (`unita_immobiliare_id`,`attivo`), KEY `diritti_reali_anagrafica_id_tipo_diritto_index` (`anagrafica_id`,`tipo_diritto`), KEY `diritti_reali_data_inizio_data_fine_index` (`data_inizio`,`data_fine`), KEY `diritti_reali_unita_immobiliare_id_index` (`unita_immobiliare_id`), KEY `diritti_reali_anagrafica_id_index` (`anagrafica_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `documenti` -- DROP TABLE IF EXISTS `documenti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `documenti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `protocollo` varchar(255) DEFAULT NULL, `data_protocollo` date DEFAULT NULL, `tipo_documento` varchar(255) DEFAULT NULL, `mime_type` varchar(255) DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `cartella_archivio_id` bigint(20) unsigned DEFAULT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `esercizio_contabile_id` bigint(20) unsigned DEFAULT NULL, `descrizione` text DEFAULT NULL, `importo` decimal(12,2) DEFAULT NULL, `data_documento` date DEFAULT NULL, `nome_file` varchar(255) NOT NULL, `path_file` varchar(255) NOT NULL, `testo_estratto_ocr` text DEFAULT NULL, `documentable_id` bigint(20) unsigned DEFAULT NULL, `documentable_type` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `unita_id` bigint(20) unsigned DEFAULT NULL, `utente_id` bigint(20) unsigned DEFAULT NULL, `nome` varchar(255) DEFAULT NULL, `tipologia` enum('fattura','ricevuta','contratto','preventivo','verbale','comunicazione','relazione_tecnica','certificato','planimetria','foto','altro') DEFAULT NULL, `fornitore` varchar(200) DEFAULT NULL, `data_scadenza` date DEFAULT NULL, `importo_collegato` decimal(10,2) DEFAULT NULL, `categoria_spesa` enum('spese_ordinarie','riscaldamento','acqua','ascensore','pulizie','manutenzione','spese_straordinarie','amministrazione','altro') DEFAULT NULL, `tags` text DEFAULT NULL, `note` text DEFAULT NULL, `numero_protocollo` varchar(50) DEFAULT NULL, `archive_reference` varchar(100) DEFAULT NULL, `percorso_file` varchar(500) DEFAULT NULL, `numero_pagine` int(11) NOT NULL DEFAULT 1, `dimensione_file` bigint(20) unsigned DEFAULT NULL, `hash_file` varchar(64) DEFAULT NULL, `xml_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`xml_data`)), `estensione` varchar(10) DEFAULT NULL, `contenuto_ocr` longtext DEFAULT NULL, `metadati_ocr` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadati_ocr`)), `metadati_archivio` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadati_archivio`)), `visibility_scope` varchar(50) NOT NULL DEFAULT 'interno', `visibility_groups` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`visibility_groups`)), `visibility_roles` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`visibility_roles`)), `allowed_user_ids` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`allowed_user_ids`)), `approvato` tinyint(1) NOT NULL DEFAULT 0, `archiviato` tinyint(1) NOT NULL DEFAULT 0, `urgente` tinyint(1) NOT NULL DEFAULT 0, `is_demo` tinyint(1) NOT NULL DEFAULT 0, `movimento_contabile_id` bigint(20) unsigned DEFAULT NULL, `collegato_budget` tinyint(1) NOT NULL DEFAULT 0, `data_upload` timestamp NULL DEFAULT NULL, `data_approvazione` timestamp NULL DEFAULT NULL, `data_archiviazione` timestamp NULL DEFAULT NULL, `approvato_da` bigint(20) unsigned DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `documenti_protocollo_unique` (`protocollo`), UNIQUE KEY `documenti_numero_protocollo_unique` (`numero_protocollo`), UNIQUE KEY `documenti_archive_reference_unique` (`archive_reference`), KEY `documenti_stabile_id_foreign` (`stabile_id`), KEY `documenti_fornitore_id_foreign` (`fornitore_id`), KEY `documenti_documentable_id_index` (`documentable_id`), KEY `documenti_documentable_type_index` (`documentable_type`), KEY `documenti_unita_id_foreign` (`unita_id`), KEY `documenti_utente_id_foreign` (`utente_id`), KEY `documenti_movimento_contabile_id_foreign` (`movimento_contabile_id`), KEY `documenti_approvato_da_foreign` (`approvato_da`), KEY `documenti_stabile_tipologia_index` (`stabile_id`,`tipologia`), KEY `documenti_data_documento_index` (`data_documento`), KEY `documenti_categoria_spesa_index` (`categoria_spesa`), KEY `documenti_urgente_approvato_index` (`urgente`,`approvato`), KEY `documenti_is_demo_index` (`is_demo`), KEY `documenti_visibility_scope_index` (`visibility_scope`), KEY `documenti_cartella_archivio_id_foreign` (`cartella_archivio_id`), CONSTRAINT `documenti_approvato_da_foreign` FOREIGN KEY (`approvato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_cartella_archivio_id_foreign` FOREIGN KEY (`cartella_archivio_id`) REFERENCES `documento_archivio_cartelle` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_movimento_contabile_id_foreign` FOREIGN KEY (`movimento_contabile_id`) REFERENCES `movimenti_contabili` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_unita_id_foreign` FOREIGN KEY (`unita_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_utente_id_foreign` FOREIGN KEY (`utente_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=244 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `documenti_collegati` -- DROP TABLE IF EXISTS `documenti_collegati`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `documenti_collegati` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `contatto_id` bigint(20) unsigned DEFAULT NULL, `tipo_documento` enum('assicurazione','pulizia','caldaia','ascensore','regolamento','piantine','manutenzione','altro') NOT NULL, `titolo` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `numero_protocollo` varchar(255) NOT NULL, `data_sottoscrizione` date DEFAULT NULL, `data_scadenza` date DEFAULT NULL, `data_disdetta_limite` date DEFAULT NULL, `giorni_preavviso_disdetta` int(11) NOT NULL DEFAULT 90, `tipo_contratto` enum('mensile','bimestrale','trimestrale','semestrale','annuale','altro') DEFAULT NULL, `importo_contratto` decimal(10,2) DEFAULT NULL, `valuta` varchar(3) NOT NULL DEFAULT 'EUR', `stato_documento` enum('attivo','scaduto','disdetto','rinnovato','sospeso') NOT NULL DEFAULT 'attivo', `numero_pagine_totali` int(11) DEFAULT NULL, `path_file_originale` varchar(255) DEFAULT NULL, `path_file_scansione` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `documenti_collegati_numero_protocollo_unique` (`numero_protocollo`), KEY `documenti_collegati_stabile_id_index` (`stabile_id`), KEY `documenti_collegati_contatto_id_index` (`contatto_id`), KEY `documenti_collegati_tipo_documento_index` (`tipo_documento`), KEY `documenti_collegati_stato_documento_index` (`stato_documento`), KEY `documenti_collegati_data_scadenza_index` (`data_scadenza`), KEY `documenti_collegati_data_disdetta_limite_index` (`data_disdetta_limite`), KEY `documenti_collegati_numero_protocollo_index` (`numero_protocollo`), KEY `documenti_collegati_creato_da_foreign` (`creato_da`), KEY `documenti_collegati_modificato_da_foreign` (`modificato_da`), CONSTRAINT `documenti_collegati_contatto_id_foreign` FOREIGN KEY (`contatto_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_collegati_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_collegati_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `documenti_collegati_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `documenti_stabili` -- DROP TABLE IF EXISTS `documenti_stabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `documenti_stabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `nome_file` varchar(255) NOT NULL, `nome_originale` varchar(255) NOT NULL, `percorso_file` varchar(255) NOT NULL, `categoria` varchar(255) NOT NULL DEFAULT 'altri', `tipo_mime` varchar(255) NOT NULL, `dimensione` bigint(20) NOT NULL, `descrizione` text DEFAULT NULL, `data_scadenza` date DEFAULT NULL, `tags` varchar(255) DEFAULT NULL, `pubblico` tinyint(1) NOT NULL DEFAULT 0, `protetto` tinyint(1) NOT NULL DEFAULT 0, `password_hash` varchar(255) DEFAULT NULL, `versione` int(11) NOT NULL DEFAULT 1, `downloads` int(11) NOT NULL DEFAULT 0, `ultimo_accesso` timestamp NULL DEFAULT NULL, `caricato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `documenti_stabili_caricato_da_foreign` (`caricato_da`), KEY `documenti_stabili_stabile_id_categoria_index` (`stabile_id`,`categoria`), KEY `documenti_stabili_categoria_created_at_index` (`categoria`,`created_at`), KEY `documenti_stabili_data_scadenza_index` (`data_scadenza`), CONSTRAINT `documenti_stabili_caricato_da_foreign` FOREIGN KEY (`caricato_da`) REFERENCES `users` (`id`), CONSTRAINT `documenti_stabili_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `documento_archivio_cartelle` -- DROP TABLE IF EXISTS `documento_archivio_cartelle`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `documento_archivio_cartelle` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `parent_id` bigint(20) unsigned DEFAULT NULL, `nome` varchar(255) NOT NULL, `slug` varchar(160) NOT NULL, `codice` varchar(80) DEFAULT NULL, `percorso_logico` varchar(255) DEFAULT NULL, `visibility_scope` varchar(40) NOT NULL DEFAULT 'interno', `visibility_roles` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`visibility_roles`)), `visibility_groups` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`visibility_groups`)), `allowed_user_ids` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`allowed_user_ids`)), `note` text DEFAULT NULL, `sort_order` int(10) unsigned NOT NULL DEFAULT 0, `is_active` tinyint(1) NOT NULL DEFAULT 1, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `doc_arch_folder_parent_slug_unique` (`stabile_id`,`parent_id`,`slug`), KEY `documento_archivio_cartelle_parent_id_foreign` (`parent_id`), KEY `documento_archivio_cartelle_created_by_foreign` (`created_by`), KEY `documento_archivio_cartelle_updated_by_foreign` (`updated_by`), KEY `doc_arch_folder_stabile_scope_idx` (`stabile_id`,`visibility_scope`), CONSTRAINT `documento_archivio_cartelle_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `documento_archivio_cartelle_parent_id_foreign` FOREIGN KEY (`parent_id`) REFERENCES `documento_archivio_cartelle` (`id`) ON DELETE SET NULL, CONSTRAINT `documento_archivio_cartelle_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `documento_archivio_cartelle_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `documento_archivio_fisico_items` -- DROP TABLE IF EXISTS `documento_archivio_fisico_items`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `documento_archivio_fisico_items` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `parent_id` bigint(20) unsigned DEFAULT NULL, `documento_id` bigint(20) unsigned DEFAULT NULL, `codice_univoco` varchar(40) NOT NULL, `qr_code_data` text DEFAULT NULL, `nfc_reference` varchar(120) DEFAULT NULL, `voce_numero` smallint(5) unsigned DEFAULT NULL, `voce_titolo` varchar(255) DEFAULT NULL, `tipo_item` varchar(40) NOT NULL, `titolo` varchar(255) NOT NULL, `note` text DEFAULT NULL, `data_archiviazione` date DEFAULT NULL, `supporto_fisico` varchar(120) DEFAULT NULL, `modello_etichetta` varchar(20) DEFAULT NULL, `magazzino` varchar(120) DEFAULT NULL, `scaffale` varchar(120) DEFAULT NULL, `ripiano` varchar(120) DEFAULT NULL, `ubicazione_dettaglio` varchar(255) DEFAULT NULL, `stato` varchar(40) NOT NULL DEFAULT 'attivo', `sort_order` int(10) unsigned NOT NULL DEFAULT 0, `metadati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadati`)), `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `documento_archivio_fisico_items_codice_univoco_unique` (`codice_univoco`), KEY `documento_archivio_fisico_items_parent_id_foreign` (`parent_id`), KEY `documento_archivio_fisico_items_documento_id_foreign` (`documento_id`), KEY `documento_archivio_fisico_items_created_by_foreign` (`created_by`), KEY `documento_archivio_fisico_items_updated_by_foreign` (`updated_by`), KEY `doc_arch_fisico_stabile_tipo_idx` (`stabile_id`,`tipo_item`), KEY `doc_arch_fisico_stabile_parent_idx` (`stabile_id`,`parent_id`), KEY `doc_arch_fisico_stabile_data_idx` (`stabile_id`,`data_archiviazione`), CONSTRAINT `documento_archivio_fisico_items_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `documento_archivio_fisico_items_documento_id_foreign` FOREIGN KEY (`documento_id`) REFERENCES `documenti` (`id`) ON DELETE SET NULL, CONSTRAINT `documento_archivio_fisico_items_parent_id_foreign` FOREIGN KEY (`parent_id`) REFERENCES `documento_archivio_fisico_items` (`id`) ON DELETE SET NULL, CONSTRAINT `documento_archivio_fisico_items_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `documento_archivio_fisico_items_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `email_blacklist` -- DROP TABLE IF EXISTS `email_blacklist`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `email_blacklist` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `email` varchar(255) NOT NULL, `reason` enum('unsubscribed','bounced','spam_complaint','manual') NOT NULL, `note` text DEFAULT NULL, `is_active` tinyint(1) NOT NULL DEFAULT 1, `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email_blacklist_email_unique` (`email`), KEY `email_blacklist_email_is_active_index` (`email`,`is_active`), KEY `email_blacklist_reason_index` (`reason`), KEY `email_blacklist_created_by_foreign` (`created_by`), CONSTRAINT `email_blacklist_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `esercizi_contabili` -- DROP TABLE IF EXISTS `esercizi_contabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `esercizi_contabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `descrizione` varchar(255) NOT NULL, `anno` int(11) NOT NULL COMMENT 'Anno di riferimento dell''esercizio', `data_inizio` date NOT NULL, `data_fine` date NOT NULL, `tipologia` enum('ordinaria','riscaldamento','straordinaria') NOT NULL DEFAULT 'ordinaria' COMMENT 'Tipo di gestione contabile', `descrizione_straordinaria` text DEFAULT NULL COMMENT 'Descrizione dettagliata per gestioni straordinarie', `ordine_sequenza` int(11) NOT NULL DEFAULT 0 COMMENT 'Ordine di sequenza per tipologia (per garantire continuità temporale)', `stato` enum('aperto','chiuso','consolidato') NOT NULL DEFAULT 'aperto', `chiusa_contabilita` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Indica se la contabilità è stata chiusa', `data_limite_bilancio` date DEFAULT NULL COMMENT 'Data limite per la chiusura del bilancio', `approvato_assemblea` tinyint(1) NOT NULL DEFAULT 0, `data_approvazione` date DEFAULT NULL, `assemblea_id` bigint(20) unsigned DEFAULT NULL COMMENT 'ID dell''assemblea che ha approvato il bilancio', `esercizio_precedente_id` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_stabile_tipologia_anno` (`stabile_id`,`tipologia`,`anno`), KEY `esercizi_contabili_stabile_id_tipologia_anno_index` (`stabile_id`,`tipologia`,`anno`), KEY `esercizi_contabili_stabile_id_stato_index` (`stabile_id`,`stato`), KEY `esercizi_contabili_tipologia_ordine_sequenza_index` (`tipologia`,`ordine_sequenza`), KEY `esercizi_contabili_esercizio_precedente_id_foreign` (`esercizio_precedente_id`), CONSTRAINT `esercizi_contabili_esercizio_precedente_id_foreign` FOREIGN KEY (`esercizio_precedente_id`) REFERENCES `esercizi_contabili` (`id`) ON DELETE SET NULL, CONSTRAINT `esercizi_contabili_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `etichette_protocollo` -- DROP TABLE IF EXISTS `etichette_protocollo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `etichette_protocollo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `numero_protocollo` varchar(50) NOT NULL, `tipologia` varchar(50) NOT NULL, `data_protocollo` date NOT NULL, `descrizione_breve` varchar(200) NOT NULL, `numero_pagine` int(11) NOT NULL DEFAULT 1, `scadenza` date DEFAULT NULL, `formato_etichetta` enum('A4','A5','custom') NOT NULL DEFAULT 'A4', `posizione_x` int(11) NOT NULL DEFAULT 0, `posizione_y` int(11) NOT NULL DEFAULT 0, `stampata` tinyint(1) NOT NULL DEFAULT 0, `data_stampa` timestamp NULL DEFAULT NULL, `codice_qr` varchar(255) DEFAULT NULL, `codice_barre` varchar(255) DEFAULT NULL, `ubicazione_fisica` varchar(100) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `etichette_protocollo_numero_protocollo_unique` (`numero_protocollo`), KEY `etichette_protocollo_numero_protocollo_index` (`numero_protocollo`), KEY `etichette_protocollo_tipologia_index` (`tipologia`), KEY `etichette_protocollo_data_protocollo_index` (`data_protocollo`), KEY `etichette_protocollo_stampata_index` (`stampata`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `failed_jobs` -- DROP TABLE IF EXISTS `failed_jobs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `failed_jobs` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `uuid` varchar(255) NOT NULL, `connection` text NOT NULL, `queue` text NOT NULL, `payload` longtext NOT NULL, `exception` longtext NOT NULL, `failed_at` timestamp NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fatture_elettroniche` -- DROP TABLE IF EXISTS `fatture_elettroniche`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fatture_elettroniche` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `registrazione_contabile_id` bigint(20) unsigned DEFAULT NULL, `numero_fattura` varchar(255) NOT NULL, `data_fattura` date NOT NULL, `data_scadenza` date DEFAULT NULL, `pagamento_modalita` varchar(80) DEFAULT NULL, `pagamento_iban` varchar(34) DEFAULT NULL, `pagamento_bic` varchar(20) DEFAULT NULL, `pagamento_cbill` varchar(20) DEFAULT NULL, `pagamento_codice_avviso` varchar(40) DEFAULT NULL, `pagamento_codice_fiscale_ente` varchar(20) DEFAULT NULL, `pagamento_codice_sia` varchar(10) DEFAULT NULL, `fornitore_piva` varchar(20) NOT NULL, `fornitore_cf` varchar(20) DEFAULT NULL, `fornitore_denominazione` varchar(255) NOT NULL, `imponibile` decimal(15,2) NOT NULL, `iva` decimal(15,2) NOT NULL, `totale` decimal(15,2) NOT NULL, `consumo_valore` decimal(15,3) DEFAULT NULL, `consumo_unita` varchar(10) DEFAULT NULL, `consumo_riferimento` varchar(80) DEFAULT NULL, `consumo_raw` text DEFAULT NULL, `acqua_codice_utenza` varchar(255) DEFAULT NULL, `acqua_codice_cliente` varchar(255) DEFAULT NULL, `acqua_codice_contratto` varchar(255) DEFAULT NULL, `acqua_contatore_matricola` varchar(255) DEFAULT NULL, `codice_destinatario` varchar(10) DEFAULT NULL, `pec_destinatario` varchar(255) DEFAULT NULL, `destinatario_cf` varchar(20) DEFAULT NULL, `destinatario_piva` varchar(32) DEFAULT NULL, `destinatario_denominazione` varchar(255) DEFAULT NULL, `stato` enum('ricevuta','contabilizzata','pagata','rifiutata') NOT NULL DEFAULT 'ricevuta', `xml_content` longtext DEFAULT NULL, `nome_file_xml` varchar(255) DEFAULT NULL, `nome_file_p7m` varchar(255) DEFAULT NULL, `p7m_path` varchar(255) DEFAULT NULL, `xml_path` varchar(255) DEFAULT NULL, `allegato_pdf_nome` varchar(255) DEFAULT NULL, `allegato_pdf_mime` varchar(100) DEFAULT NULL, `allegato_pdf_path` varchar(255) DEFAULT NULL, `allegato_pdf_hash` varchar(64) DEFAULT NULL, `xml_hash` varchar(64) DEFAULT NULL, `sdi_file` varchar(64) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fatture_elettroniche_xml_hash_unique` (`xml_hash`), KEY `fatture_elettroniche_registrazione_contabile_id_foreign` (`registrazione_contabile_id`), KEY `fatture_elettroniche_stabile_id_data_fattura_index` (`stabile_id`,`data_fattura`), KEY `fatture_elettroniche_fornitore_piva_numero_fattura_index` (`fornitore_piva`,`numero_fattura`), KEY `fatture_elettroniche_stato_index` (`stato`), KEY `fatture_elettroniche_fornitore_id_index` (`fornitore_id`), KEY `fatture_elettroniche_destinatario_cf_index` (`destinatario_cf`), KEY `fatture_elettroniche_allegato_pdf_hash_index` (`allegato_pdf_hash`), KEY `idx_fe_stabile_sdi_file` (`stabile_id`,`sdi_file`), KEY `fatture_elettroniche_destinatario_piva_index` (`destinatario_piva`), CONSTRAINT `fatture_elettroniche_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `fatture_elettroniche_registrazione_contabile_id_foreign` FOREIGN KEY (`registrazione_contabile_id`) REFERENCES `contabilita_registrazioni` (`id`) ON DELETE SET NULL, CONSTRAINT `fatture_elettroniche_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=236 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fatture_estratte_staging` -- DROP TABLE IF EXISTS `fatture_estratte_staging`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fatture_estratte_staging` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `file_path` varchar(255) DEFAULT NULL, `fornitore_nome` varchar(255) DEFAULT NULL, `partita_iva` varchar(50) DEFAULT NULL, `codice_cliente` varchar(80) DEFAULT NULL, `pod` varchar(80) DEFAULT NULL, `pdr` varchar(80) DEFAULT NULL, `matricola_contatore` varchar(80) DEFAULT NULL, `codice_utenza` varchar(80) DEFAULT NULL, `numero_contratto` varchar(80) DEFAULT NULL, `cbill` varchar(80) DEFAULT NULL, `codice_avviso` varchar(80) DEFAULT NULL, `data_inizio_periodo` date DEFAULT NULL, `data_fine_periodo` date DEFAULT NULL, `periodi_conteggiati` int(11) DEFAULT NULL, `tipo_lettura` varchar(50) DEFAULT NULL, `quantita_consumata` decimal(12,3) DEFAULT NULL, `unita_misura` varchar(20) DEFAULT NULL, `importo_monetario` decimal(12,2) DEFAULT NULL, `conto_mastro` varchar(50) DEFAULT NULL, `stato` varchar(50) NOT NULL DEFAULT 'pendente', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `fatture_estratte_staging_stabile_id_foreign` (`stabile_id`), CONSTRAINT `fatture_estratte_staging_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fatture_fornitori` -- DROP TABLE IF EXISTS `fatture_fornitori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fatture_fornitori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno_gestione_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned NOT NULL, `numero_fattura` varchar(255) NOT NULL, `data_fattura` date NOT NULL, `data_pagamento` date DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `imponibile` decimal(10,2) NOT NULL, `iva` decimal(10,2) NOT NULL, `totale` decimal(10,2) NOT NULL, `gestione_tipo` varchar(255) NOT NULL, `registrata` tinyint(1) NOT NULL DEFAULT 0, `pagata` tinyint(1) NOT NULL DEFAULT 0, `numero_protocollo` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `fatture_fornitori_anno_gestione_id_foreign` (`anno_gestione_id`), KEY `fatture_fornitori_fornitore_id_foreign` (`fornitore_id`), KEY `fatture_fornitori_stabile_id_data_fattura_index` (`stabile_id`,`data_fattura`), KEY `fatture_fornitori_registrata_pagata_index` (`registrata`,`pagata`), CONSTRAINT `fatture_fornitori_anno_gestione_id_foreign` FOREIGN KEY (`anno_gestione_id`) REFERENCES `anni_gestione` (`id`), CONSTRAINT `fatture_fornitori_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori_gescon` (`id`), CONSTRAINT `fatture_fornitori_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili_gescon` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fe_cassetto_download_logs` -- DROP TABLE IF EXISTS `fe_cassetto_download_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fe_cassetto_download_logs` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned NOT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `codice_fiscale_soggetto` varchar(32) NOT NULL, `dal` date NOT NULL, `al` date NOT NULL, `metadati` tinyint(1) NOT NULL DEFAULT 0, `request_hash` varchar(64) NOT NULL, `zip_sha256` varchar(64) DEFAULT NULL, `zip_bytes` bigint(20) unsigned DEFAULT NULL, `files_total` int(10) unsigned NOT NULL DEFAULT 0, `imported` int(10) unsigned NOT NULL DEFAULT 0, `duplicates` int(10) unsigned NOT NULL DEFAULT 0, `errors` int(10) unsigned NOT NULL DEFAULT 0, `status` varchar(32) NOT NULL DEFAULT 'started', `message` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `fe_cassetto_download_logs_amministratore_id_stabile_id_index` (`amministratore_id`,`stabile_id`), KEY `fe_cassetto_download_logs_request_hash_index` (`request_hash`), KEY `fe_cassetto_download_logs_zip_sha256_index` (`zip_sha256`) ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fe_cassetto_service_configs` -- DROP TABLE IF EXISTS `fe_cassetto_service_configs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fe_cassetto_service_configs` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `base_url` varchar(512) DEFAULT NULL, `password_script` text DEFAULT NULL, `username` text DEFAULT NULL, `password` text DEFAULT NULL, `pin` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fe_ritenute_previdenziali` -- DROP TABLE IF EXISTS `fe_ritenute_previdenziali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fe_ritenute_previdenziali` ( `codice` varchar(10) NOT NULL, `descrizione` varchar(255) NOT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`codice`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fe_tributi_f24` -- DROP TABLE IF EXISTS `fe_tributi_f24`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fe_tributi_f24` ( `codice` varchar(10) NOT NULL, `descrizione` varchar(255) NOT NULL, `ritenuta_previdenziale_codice` varchar(10) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`codice`), KEY `fe_tributi_f24_ritenuta_previdenziale_codice_foreign` (`ritenuta_previdenziale_codice`), CONSTRAINT `fe_tributi_f24_ritenuta_previdenziale_codice_foreign` FOREIGN KEY (`ritenuta_previdenziale_codice`) REFERENCES `fe_ritenute_previdenziali` (`codice`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fe_xsd_code_domains` -- DROP TABLE IF EXISTS `fe_xsd_code_domains`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fe_xsd_code_domains` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `version_id` bigint(20) unsigned NOT NULL, `type_name` varchar(200) NOT NULL, `base_type` varchar(200) DEFAULT NULL, `documentation` text DEFAULT NULL, `codes_count` int(10) unsigned NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fe_xsd_code_domains_version_id_type_name_unique` (`version_id`,`type_name`), KEY `fe_xsd_code_domains_version_id_index` (`version_id`), CONSTRAINT `fe_xsd_code_domains_version_id_foreign` FOREIGN KEY (`version_id`) REFERENCES `fe_xsd_versions` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fe_xsd_codes` -- DROP TABLE IF EXISTS `fe_xsd_codes`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fe_xsd_codes` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `domain_id` bigint(20) unsigned NOT NULL, `code` varchar(100) NOT NULL, `label` varchar(255) DEFAULT NULL, `documentation` text DEFAULT NULL, `sort_order` int(10) unsigned NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fe_xsd_codes_domain_id_code_unique` (`domain_id`,`code`), KEY `fe_xsd_codes_domain_id_index` (`domain_id`), KEY `fe_xsd_codes_code_index` (`code`), CONSTRAINT `fe_xsd_codes_domain_id_foreign` FOREIGN KEY (`domain_id`) REFERENCES `fe_xsd_code_domains` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fe_xsd_versions` -- DROP TABLE IF EXISTS `fe_xsd_versions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fe_xsd_versions` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `version_label` varchar(100) DEFAULT NULL, `original_filename` varchar(255) DEFAULT NULL, `stored_path` varchar(255) DEFAULT NULL, `sha256` varchar(64) NOT NULL, `created_by_user_id` bigint(20) unsigned DEFAULT NULL, `imported_at` timestamp NULL DEFAULT NULL, `note` text DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fe_xsd_versions_sha256_unique` (`sha256`), KEY `fe_xsd_versions_created_by_user_id_foreign` (`created_by_user_id`), KEY `fe_xsd_versions_imported_at_index` (`imported_at`), CONSTRAINT `fe_xsd_versions_created_by_user_id_foreign` FOREIGN KEY (`created_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fondi_condominiali` -- DROP TABLE IF EXISTS `fondi_condominiali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fondi_condominiali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `tipo_fondo` enum('ordinario','riserva','ascensore','riscaldamento','facciata_tetto','verde_giardini','sicurezza','innovazione','investimenti','personalizzato') NOT NULL, `denominazione` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `saldo_attuale` decimal(12,2) NOT NULL DEFAULT 0.00, `saldo_minimo` decimal(12,2) NOT NULL DEFAULT 0.00, `percentuale_accantonamento` decimal(5,2) NOT NULL DEFAULT 0.00, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_stabile_tipo_fondo` (`stabile_id`,`tipo_fondo`), CONSTRAINT `fondi_condominiali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fornitore_clienti` -- DROP TABLE IF EXISTS `fornitore_clienti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fornitore_clienti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned DEFAULT NULL, `fornitore_id` bigint(20) unsigned NOT NULL, `rubrica_id` bigint(20) unsigned DEFAULT NULL, `legacy_cliente_id` bigint(20) unsigned DEFAULT NULL, `display_name` varchar(255) DEFAULT NULL, `phone` varchar(255) DEFAULT NULL, `phone_alt` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `cap` varchar(255) DEFAULT NULL, `citta` varchar(255) DEFAULT NULL, `provincia` varchar(255) DEFAULT NULL, `partita_iva` varchar(255) DEFAULT NULL, `codice_fiscale` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `source` varchar(255) DEFAULT NULL, `imported_from_path` varchar(255) DEFAULT NULL, `imported_at` timestamp NULL DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fornitore_clienti_fornitore_legacy_unique` (`fornitore_id`,`legacy_cliente_id`), KEY `fornitore_clienti_amministratore_id_foreign` (`amministratore_id`), KEY `fornitore_clienti_rubrica_id_foreign` (`rubrica_id`), KEY `fornitore_clienti_fornitore_name_idx` (`fornitore_id`,`display_name`), KEY `fornitore_clienti_fornitore_rubrica_idx` (`fornitore_id`,`rubrica_id`), CONSTRAINT `fornitore_clienti_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitore_clienti_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE CASCADE, CONSTRAINT `fornitore_clienti_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fornitore_dipendenti` -- DROP TABLE IF EXISTS `fornitore_dipendenti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fornitore_dipendenti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `fornitore_id` bigint(20) unsigned NOT NULL, `fornitore_esterno_id` bigint(20) unsigned DEFAULT NULL, `rubrica_id` bigint(20) unsigned DEFAULT NULL, `user_id` bigint(20) unsigned DEFAULT NULL, `tipo_collaboratore` varchar(40) NOT NULL DEFAULT 'interno', `nome` varchar(255) NOT NULL, `cognome` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `telefono` varchar(255) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `ultimo_accesso_at` timestamp NULL DEFAULT NULL, `note` text DEFAULT NULL, `created_by_user_id` bigint(20) unsigned DEFAULT NULL, `updated_by_user_id` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fornitore_dipendenti_fornitore_id_email_unique` (`fornitore_id`,`email`), KEY `fornitore_dipendenti_user_id_foreign` (`user_id`), KEY `fornitore_dipendenti_created_by_user_id_foreign` (`created_by_user_id`), KEY `fornitore_dipendenti_updated_by_user_id_foreign` (`updated_by_user_id`), KEY `fornitore_dipendenti_fornitore_id_attivo_index` (`fornitore_id`,`attivo`), KEY `fornitore_dipendenti_rubrica_id_foreign` (`rubrica_id`), KEY `forn_dip_tipo_idx` (`fornitore_id`,`tipo_collaboratore`), KEY `forn_dip_forn_est_idx` (`fornitore_esterno_id`), CONSTRAINT `fornitore_dipendenti_created_by_user_id_foreign` FOREIGN KEY (`created_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitore_dipendenti_fornitore_esterno_id_foreign` FOREIGN KEY (`fornitore_esterno_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitore_dipendenti_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE CASCADE, CONSTRAINT `fornitore_dipendenti_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitore_dipendenti_updated_by_user_id_foreign` FOREIGN KEY (`updated_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitore_dipendenti_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=765 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fornitore_stabile_impostazioni` -- DROP TABLE IF EXISTS `fornitore_stabile_impostazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fornitore_stabile_impostazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned NOT NULL, `voce_spesa_default_id` bigint(20) unsigned DEFAULT NULL, `conto_costo_default_id` bigint(20) unsigned DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_fornitore_stabile` (`stabile_id`,`fornitore_id`), KEY `fornitore_stabile_impostazioni_fornitore_id_foreign` (`fornitore_id`), KEY `fornitore_stabile_impostazioni_voce_spesa_default_id_foreign` (`voce_spesa_default_id`), KEY `fornitore_stabile_impostazioni_conto_costo_default_id_foreign` (`conto_costo_default_id`), CONSTRAINT `fornitore_stabile_impostazioni_conto_costo_default_id_foreign` FOREIGN KEY (`conto_costo_default_id`) REFERENCES `contabilita_piano_conti` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitore_stabile_impostazioni_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE CASCADE, CONSTRAINT `fornitore_stabile_impostazioni_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `fornitore_stabile_impostazioni_voce_spesa_default_id_foreign` FOREIGN KEY (`voce_spesa_default_id`) REFERENCES `voci_spesa` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `fornitori` -- DROP TABLE IF EXISTS `fornitori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fornitori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `old_id` int(11) DEFAULT NULL COMMENT 'ID dal vecchio gestionale', `cod_forn` bigint(20) unsigned DEFAULT NULL, `amministratore_id` bigint(20) unsigned NOT NULL, `codice_univoco` varchar(8) DEFAULT NULL, `rubrica_id` bigint(20) unsigned DEFAULT NULL, `ragione_sociale` varchar(255) NOT NULL, `nome` varchar(255) DEFAULT NULL, `cognome` varchar(255) DEFAULT NULL, `partita_iva` varchar(20) DEFAULT NULL, `codice_fiscale` varchar(20) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `civico` varchar(20) DEFAULT NULL, `cap` varchar(10) DEFAULT NULL, `citta` varchar(60) DEFAULT NULL, `provincia` varchar(2) DEFAULT NULL, `nazione` varchar(2) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `pec` varchar(255) DEFAULT NULL, `iban` varchar(34) DEFAULT NULL, `intestazione_cc_esatta` varchar(255) DEFAULT NULL, `bic` varchar(20) DEFAULT NULL, `sia` varchar(32) DEFAULT NULL, `modalita_pagamento_predefinita` varchar(80) DEFAULT NULL, `escludi_righe_fe` tinyint(1) NOT NULL DEFAULT 0, `fe_features` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`fe_features`)), `operational_config` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`operational_config`)), `sito_web` varchar(255) DEFAULT NULL, `tags` text DEFAULT NULL, `legacy_descrizione` text DEFAULT NULL, `note` text DEFAULT NULL, `regime_fiscale_id` bigint(20) unsigned DEFAULT NULL, `tipologia_cassa_id` bigint(20) unsigned DEFAULT NULL, `aliquota_iva_id` bigint(20) unsigned DEFAULT NULL, `is_tecnorepair_primary` tinyint(1) NOT NULL DEFAULT 0, `telefono` varchar(255) DEFAULT NULL, `telefono_country_code` varchar(5) DEFAULT NULL, `cellulare` varchar(50) DEFAULT NULL, `cellulare_country_code` varchar(5) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `fornitori_admin_codice_univoco_unique` (`amministratore_id`,`codice_univoco`), UNIQUE KEY `fornitori_amministratore_old_id_unique` (`amministratore_id`,`old_id`), KEY `fornitori_amministratore_id_foreign` (`amministratore_id`), KEY `fornitori_rubrica_id_foreign` (`rubrica_id`), KEY `fornitori_regime_fiscale_id_foreign` (`regime_fiscale_id`), KEY `fornitori_tipologia_cassa_id_foreign` (`tipologia_cassa_id`), KEY `fornitori_aliquota_iva_id_foreign` (`aliquota_iva_id`), KEY `fornitori_amministratore_cod_forn_index` (`amministratore_id`,`cod_forn`), KEY `fornitori_sia_index` (`sia`), CONSTRAINT `fornitori_aliquota_iva_id_foreign` FOREIGN KEY (`aliquota_iva_id`) REFERENCES `aliquote_iva` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitori_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE CASCADE, CONSTRAINT `fornitori_regime_fiscale_id_foreign` FOREIGN KEY (`regime_fiscale_id`) REFERENCES `regimi_fiscali` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitori_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `fornitori_tipologia_cassa_id_foreign` FOREIGN KEY (`tipologia_cassa_id`) REFERENCES `tipologie_cassa` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=733 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`netgescon_user`@`localhost`*/ /*!50003 TRIGGER trg_fornitori_codice_univoco BEFORE INSERT ON fornitori FOR EACH ROW BEGIN IF NEW.codice_univoco IS NULL OR NEW.codice_univoco = '' THEN CALL sp_next_codice_univoco('FORNITORI', @generated_code); SET NEW.codice_univoco = @generated_code; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `fornitori_gescon` -- DROP TABLE IF EXISTS `fornitori_gescon`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `fornitori_gescon` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned NOT NULL, `cod_forn_old` varchar(255) DEFAULT NULL, `cognome` varchar(255) NOT NULL, `nome` varchar(255) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `cap` varchar(5) DEFAULT NULL, `citta` varchar(255) DEFAULT NULL, `provincia` varchar(2) DEFAULT NULL, `codice_fiscale` varchar(16) DEFAULT NULL, `partita_iva` varchar(11) DEFAULT NULL, `tipo_soggetto` varchar(10) DEFAULT NULL, `telefono` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `pec` varchar(255) DEFAULT NULL, `iban` varchar(255) DEFAULT NULL, `importo_residuo` decimal(10,2) NOT NULL DEFAULT 0.00, `categoria_fornitore` varchar(255) DEFAULT NULL, `tipo_servizio` varchar(255) DEFAULT NULL, `data_ultimo_servizio` date DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `fornitori_gescon_amministratore_id_attivo_index` (`amministratore_id`,`attivo`), KEY `fornitori_gescon_codice_fiscale_index` (`codice_fiscale`), KEY `fornitori_gescon_partita_iva_index` (`partita_iva`), CONSTRAINT `fornitori_gescon_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_import_mappings` -- DROP TABLE IF EXISTS `gescon_import_mappings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_import_mappings` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned DEFAULT NULL, `legacy_code` varchar(20) NOT NULL, `legacy_denominazione` varchar(255) DEFAULT NULL, `source_path` varchar(255) DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `status` varchar(20) NOT NULL DEFAULT 'pending', `last_dry_run_at` timestamp NULL DEFAULT NULL, `last_sync_at` timestamp NULL DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gescon_import_mappings_user_id_foreign` (`user_id`), KEY `gescon_import_mappings_stabile_id_foreign` (`stabile_id`), KEY `gescon_import_mappings_legacy_code_index` (`legacy_code`), CONSTRAINT `gescon_import_mappings_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `gescon_import_mappings_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_condomini` -- DROP TABLE IF EXISTS `gescon_temp_condomini`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_condomini` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `anno_gestione` varchar(4) NOT NULL, `cod_condomino` varchar(20) NOT NULL, `interno` varchar(255) DEFAULT NULL, `nominativo` varchar(255) DEFAULT NULL, `codice_fiscale` varchar(16) DEFAULT NULL, `indirizzo_residenza` varchar(255) DEFAULT NULL, `cap_residenza` varchar(10) DEFAULT NULL, `citta_residenza` varchar(255) DEFAULT NULL, `telefono` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `tipo_soggetto` enum('proprietario','inquilino','amministratore','altro') NOT NULL DEFAULT 'proprietario', `quota_millesimi` decimal(8,3) NOT NULL DEFAULT 0.000, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `gt_condomini_unique` (`cod_stabile`,`anno_gestione`,`cod_condomino`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_dettagli_personali` -- DROP TABLE IF EXISTS `gescon_temp_dettagli_personali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_dettagli_personali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `anno_gestione` varchar(4) NOT NULL, `tipo_gestione` varchar(255) DEFAULT NULL, `n_stra` varchar(255) DEFAULT NULL, `n_spe` int(11) DEFAULT NULL, `id_cond` varchar(255) NOT NULL, `cond_inq` varchar(255) DEFAULT NULL, `importo_lire` decimal(15,0) DEFAULT NULL, `importo_euro` decimal(10,2) DEFAULT NULL, `unico` tinyint(1) NOT NULL DEFAULT 0, `tabella` varchar(255) DEFAULT NULL, `natura2` varchar(255) DEFAULT NULL, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_rip_st_an_cond_spe_idx` (`cod_stabile`,`anno_gestione`,`id_cond`,`n_spe`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_dettagli_tabelle` -- DROP TABLE IF EXISTS `gescon_temp_dettagli_tabelle`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_dettagli_tabelle` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `anno_gestione` varchar(4) NOT NULL, `id_dett_tab` varchar(20) NOT NULL, `cod_tab` varchar(255) NOT NULL, `id_cond` varchar(255) NOT NULL, `cond_inquil` varchar(255) DEFAULT NULL, `mm` decimal(8,3) NOT NULL DEFAULT 0.000, `prev_lire` decimal(15,0) DEFAULT NULL, `prev_euro` decimal(10,2) DEFAULT NULL, `cons_lire` decimal(15,0) DEFAULT NULL, `cons_euro` decimal(10,2) DEFAULT NULL, `n_stra` varchar(255) DEFAULT NULL, `unico` tinyint(1) NOT NULL DEFAULT 0, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_det_mil_st_an_tab_cond_idx` (`cod_stabile`,`anno_gestione`,`cod_tab`,`id_cond`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_fatture` -- DROP TABLE IF EXISTS `gescon_temp_fatture`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_fatture` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `numero_fattura` varchar(255) DEFAULT NULL, `data_fattura` date DEFAULT NULL, `cod_fornitore` varchar(20) DEFAULT NULL, `importo_lire` decimal(15,0) DEFAULT NULL, `importo_euro` decimal(10,2) DEFAULT NULL, `descrizione` text DEFAULT NULL, `anno_competenza` varchar(4) DEFAULT NULL, `pagata` tinyint(1) NOT NULL DEFAULT 0, `data_pagamento` date DEFAULT NULL, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_forn_st_forn_fat_idx` (`cod_stabile`,`cod_fornitore`,`data_fattura`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_fornitori` -- DROP TABLE IF EXISTS `gescon_temp_fornitori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_fornitori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_forn` varchar(20) NOT NULL, `ragione_sociale` varchar(255) DEFAULT NULL, `codice_fiscale` varchar(16) DEFAULT NULL, `partita_iva` varchar(11) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `cap` varchar(10) DEFAULT NULL, `citta` varchar(255) DEFAULT NULL, `provincia` varchar(2) DEFAULT NULL, `telefono` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `pec` varchar(255) DEFAULT NULL, `iban` varchar(255) DEFAULT NULL, `banca` varchar(255) DEFAULT NULL, `categoria` varchar(255) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `gescon_temp_fornitori_cod_forn_unique` (`cod_forn`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_incassi` -- DROP TABLE IF EXISTS `gescon_temp_incassi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_incassi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `anno_gestione` varchar(4) NOT NULL, `data_incasso` date DEFAULT NULL, `cod_condomino` varchar(20) DEFAULT NULL, `importo_lire` decimal(15,0) DEFAULT NULL, `importo_euro` decimal(10,2) DEFAULT NULL, `causale` varchar(255) DEFAULT NULL, `modalita_pagamento` varchar(255) DEFAULT NULL, `riferimento_bancario` varchar(255) DEFAULT NULL, `n_emissione_collegata` int(11) DEFAULT NULL, `riconciliato` tinyint(1) NOT NULL DEFAULT 0, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_inc_st_an_dt_cond_idx` (`cod_stabile`,`anno_gestione`,`data_incasso`,`cod_condomino`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_operazioni` -- DROP TABLE IF EXISTS `gescon_temp_operazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_operazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `anno_gestione` varchar(4) NOT NULL, `id_operaz` varchar(20) NOT NULL, `n_spe` int(11) DEFAULT NULL, `dt_spe` date DEFAULT NULL, `cod_spe` varchar(255) DEFAULT NULL, `tabella` varchar(255) DEFAULT NULL, `importo_lire` decimal(15,0) DEFAULT NULL, `importo_euro` decimal(10,2) DEFAULT NULL, `imp_calcolato_lire` decimal(15,0) DEFAULT NULL, `imp_calcolato_euro` decimal(10,2) DEFAULT NULL, `cod_ben` varchar(255) DEFAULT NULL, `benef` varchar(255) DEFAULT NULL, `cod_for` varchar(255) DEFAULT NULL, `num_fat` varchar(255) DEFAULT NULL, `dt_fat` date DEFAULT NULL, `natura` varchar(255) DEFAULT NULL, `natura2` varchar(255) DEFAULT NULL, `importo_spese` decimal(10,2) DEFAULT NULL, `importo_entrate` decimal(10,2) DEFAULT NULL, `importo_crediti` decimal(10,2) DEFAULT NULL, `importo_debiti` decimal(10,2) DEFAULT NULL, `note` text DEFAULT NULL, `competenza` varchar(4) DEFAULT NULL, `n_stra` varchar(255) DEFAULT NULL, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_op_st_an_spe_idx` (`cod_stabile`,`anno_gestione`,`n_spe`,`cod_spe`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_rate_dettaglio` -- DROP TABLE IF EXISTS `gescon_temp_rate_dettaglio`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_rate_dettaglio` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `n_emissione` int(11) NOT NULL, `cod_condomino` varchar(20) NOT NULL, `importo_lire` decimal(15,0) DEFAULT NULL, `importo_euro` decimal(10,2) DEFAULT NULL, `anno_gestione` varchar(4) NOT NULL, `interno` varchar(255) DEFAULT NULL, `nominativo` varchar(255) DEFAULT NULL, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_rate_det_st_em_cond_idx` (`cod_stabile`,`n_emissione`,`cod_condomino`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_rate_emissioni` -- DROP TABLE IF EXISTS `gescon_temp_rate_emissioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_rate_emissioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `n_emissione` int(11) NOT NULL, `data_emissione` date DEFAULT NULL, `anno_gestione` varchar(4) NOT NULL, `importo_totale_lire` decimal(15,0) DEFAULT NULL, `importo_totale_euro` decimal(10,2) DEFAULT NULL, `descrizione` text DEFAULT NULL, `tipo_rata` varchar(255) DEFAULT NULL, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `gt_rate_em_unique` (`cod_stabile`,`n_emissione`,`anno_gestione`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_stabili` -- DROP TABLE IF EXISTS `gescon_temp_stabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_stabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `codice_directory` varchar(10) DEFAULT NULL, `denominazione` varchar(255) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `cap` varchar(10) DEFAULT NULL, `citta` varchar(255) DEFAULT NULL, `provincia` varchar(2) DEFAULT NULL, `codice_fiscale_cond` varchar(16) DEFAULT NULL, `cf_amministratore` varchar(16) DEFAULT NULL, `scale` int(11) NOT NULL DEFAULT 0, `n_interni` int(11) NOT NULL DEFAULT 0, `codice_conto_bancario` varchar(255) DEFAULT NULL, `denominazione_banca` varchar(255) DEFAULT NULL, `iban_principale` varchar(255) DEFAULT NULL, `numero_conto` varchar(255) DEFAULT NULL, `flags_gestione` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`flags_gestione`)), `dati_amministratore` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_amministratore`)), `coordinate_postali` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`coordinate_postali`)), `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `gescon_temp_stabili_cod_stabile_unique` (`cod_stabile`), KEY `gescon_temp_stabili_cod_stabile_codice_directory_index` (`cod_stabile`,`codice_directory`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gescon_temp_voci_spesa` -- DROP TABLE IF EXISTS `gescon_temp_voci_spesa`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gescon_temp_voci_spesa` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `anno_gestione` varchar(4) NOT NULL, `id_vocspe` varchar(20) NOT NULL, `cod` varchar(255) NOT NULL, `descriz` varchar(255) DEFAULT NULL, `tabella` varchar(255) DEFAULT NULL, `perc_proprietario` decimal(5,2) NOT NULL DEFAULT 0.00, `perc_inquilino` decimal(5,2) NOT NULL DEFAULT 0.00, `imp_propr_lire` decimal(15,0) DEFAULT NULL, `imp_propr_euro` decimal(10,2) DEFAULT NULL, `imp_inquil_lire` decimal(15,0) DEFAULT NULL, `imp_inquil_euro` decimal(10,2) DEFAULT NULL, `importo_lire` decimal(15,0) DEFAULT NULL, `importo_euro` decimal(10,2) DEFAULT NULL, `preventivo_lire` decimal(15,0) DEFAULT NULL, `preventivo_euro` decimal(10,2) DEFAULT NULL, `consuntivo_lire` decimal(15,0) DEFAULT NULL, `consuntivo_euro` decimal(10,2) DEFAULT NULL, `t_spese` varchar(255) DEFAULT NULL, `t_entrate` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `origine_file` varchar(255) DEFAULT NULL, `data_import` timestamp NOT NULL DEFAULT current_timestamp(), `importato_netgescon` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `gt_tab_mil_st_an_cod_idx` (`cod_stabile`,`anno_gestione`,`cod`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gestioni` -- DROP TABLE IF EXISTS `gestioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gestioni` ( `id_gestione` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno_gestione` year(4) NOT NULL, `tipo_gestione` varchar(20) NOT NULL DEFAULT 'Ord.', `data_inizio` date DEFAULT NULL, `data_fine` date DEFAULT NULL, `stato` enum('aperta','in_corso','chiusa') NOT NULL DEFAULT 'aperta', `descrizione` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id_gestione`), KEY `gestioni_stabile_id_anno_gestione_index` (`stabile_id`,`anno_gestione`), CONSTRAINT `gestioni_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gestioni_condominiali` -- DROP TABLE IF EXISTS `gestioni_condominiali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gestioni_condominiali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `codice` varchar(20) NOT NULL, `descrizione` varchar(255) NOT NULL, `tipo` enum('ORDINARIA','RISCALDAMENTO','STRAORDINARIA') NOT NULL, `anno_inizio` year(4) NOT NULL, `anno_fine` year(4) DEFAULT NULL, `data_inizio` date NOT NULL, `data_fine` date DEFAULT NULL, `stato` enum('ATTIVA','CHIUSA','SOSPESA') NOT NULL DEFAULT 'ATTIVA', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `gestioni_condominiali_stabile_id_codice_unique` (`stabile_id`,`codice`), KEY `gestioni_condominiali_stabile_id_tipo_anno_inizio_index` (`stabile_id`,`tipo`,`anno_inizio`), CONSTRAINT `gestioni_condominiali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `gestioni_contabili` -- DROP TABLE IF EXISTS `gestioni_contabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `gestioni_contabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `codice_archivio_legacy` varchar(100) DEFAULT NULL COMMENT 'Codice/Path archivio legacy associato alla gestione (per sincronizzazione)', `anno_gestione` int(11) NOT NULL COMMENT 'Anno di riferimento: 2024, 2025, etc.', `tipo_gestione` enum('ordinaria','riscaldamento','straordinaria') NOT NULL COMMENT 'Tipo gestione', `numero_straordinaria` int(11) DEFAULT NULL COMMENT 'Numero per straordinarie (N_STRA)', `denominazione` varchar(200) NOT NULL COMMENT 'Nome gestione leggibile', `data_inizio` date NOT NULL COMMENT 'Inizio periodo gestione', `data_fine` date NOT NULL COMMENT 'Fine periodo gestione', `stato` enum('aperta','chiusa','consolidata') NOT NULL DEFAULT 'aperta', `bilancio_apertura` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Saldi iniziali da esercizio precedente' CHECK (json_valid(`bilancio_apertura`)), `bilancio_chiusura` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Saldi finali per esercizio successivo' CHECK (json_valid(`bilancio_chiusura`)), `protocollo_prefix` varchar(10) NOT NULL COMMENT 'Prefisso protocollo: O2024, R2024, S2024-001', `ultimo_protocollo` int(11) NOT NULL DEFAULT 0 COMMENT 'Ultimo numero protocollo assegnato', `percentuale_fondo_riserva` decimal(5,2) NOT NULL DEFAULT 0.00, `rata_ordinaria_mensile` decimal(10,2) NOT NULL DEFAULT 0.00, `usa_millesimi_generali` tinyint(1) NOT NULL DEFAULT 1, `usa_millesimi_riscaldamento` tinyint(1) NOT NULL DEFAULT 0, `usa_millesimi_ascensore` tinyint(1) NOT NULL DEFAULT 0, `configurazione` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Parametri specifici gestione' CHECK (json_valid(`configurazione`)), `note_gestione` text DEFAULT NULL, `mesi_rate_ordinaria` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Elenco mesi (1-12) in cui emettere le rate ordinaria per questa gestione' CHECK (json_valid(`mesi_rate_ordinaria`)), `mesi_rate_riscaldamento` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Elenco mesi (1-12) per gestione riscaldamento' CHECK (json_valid(`mesi_rate_riscaldamento`)), `piano_straordinario` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Piano rate straordinario: {importo_totale, numero_rate, prima_scadenza, periodicita, scadenze:[..]}' CHECK (json_valid(`piano_straordinario`)), `mesi_rate_straordinaria` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Elenco mesi (1-12) per gestione straordinaria' CHECK (json_valid(`mesi_rate_straordinaria`)), `gestione_attiva` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Gestione attiva per nuove operazioni', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `gc_tenant_anno_tipo_num_unique` (`tenant_id`,`anno_gestione`,`tipo_gestione`,`numero_straordinaria`), KEY `gestioni_contabili_tenant_id_anno_gestione_tipo_gestione_index` (`tenant_id`,`anno_gestione`,`tipo_gestione`), KEY `gestioni_contabili_tenant_id_stato_index` (`tenant_id`,`stato`), KEY `gestioni_contabili_stabile_id_foreign` (`stabile_id`), KEY `idx_tenant_stabile_anno_tipo` (`tenant_id`,`stabile_id`,`anno_gestione`,`tipo_gestione`), CONSTRAINT `gestioni_contabili_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=347 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `import_log` -- DROP TABLE IF EXISTS `import_log`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `import_log` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `cod_stabile` varchar(10) NOT NULL, `tabella_origine` varchar(255) NOT NULL, `tabella_destinazione` varchar(255) NOT NULL, `file_origine` varchar(255) NOT NULL, `record_processati` int(11) NOT NULL DEFAULT 0, `record_importati` int(11) NOT NULL DEFAULT 0, `record_duplicati` int(11) NOT NULL DEFAULT 0, `record_errori` int(11) NOT NULL DEFAULT 0, `errori_dettaglio` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`errori_dettaglio`)), `inizio_import` timestamp NOT NULL DEFAULT current_timestamp(), `fine_import` timestamp NULL DEFAULT NULL, `stato` enum('in_corso','completato','errore') NOT NULL DEFAULT 'in_corso', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `import_logs` -- DROP TABLE IF EXISTS `import_logs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `import_logs` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tipo` varchar(255) NOT NULL, `file_originale` varchar(255) NOT NULL, `records_importati` int(11) NOT NULL DEFAULT 0, `errori` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`errori`)), `user_id` bigint(20) unsigned NOT NULL, `started_at` timestamp NULL DEFAULT NULL, `completed_at` timestamp NULL DEFAULT NULL, `status` enum('pending','running','completed','failed') NOT NULL DEFAULT 'pending', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `import_logs_tipo_index` (`tipo`), KEY `import_logs_user_id_index` (`user_id`), KEY `import_logs_status_index` (`status`), CONSTRAINT `import_logs_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `impostazioni` -- DROP TABLE IF EXISTS `impostazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `impostazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `chiave` varchar(255) NOT NULL, `valore` longtext DEFAULT NULL, `descrizione` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `impostazioni_chiave_unique` (`chiave`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `incarichi_contratti` -- DROP TABLE IF EXISTS `incarichi_contratti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `incarichi_contratti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `denominazione` varchar(255) NOT NULL COMMENT 'Nome del contratto/incarico', `tipologia` enum('incarico','contratto','fornitura','servizio') NOT NULL DEFAULT 'contratto', `descrizione` text DEFAULT NULL COMMENT 'Descrizione dettagliata', `fornitore_id` bigint(20) unsigned DEFAULT NULL, `ragione_sociale` varchar(255) DEFAULT NULL, `codice_fiscale` varchar(16) DEFAULT NULL, `partita_iva` varchar(11) DEFAULT NULL, `indirizzo_fornitore` text DEFAULT NULL, `telefono_fornitore` varchar(20) DEFAULT NULL, `email_fornitore` varchar(255) DEFAULT NULL, `data_sottoscrizione` date NOT NULL, `data_inizio_validita` date NOT NULL, `data_fine_contratto` date DEFAULT NULL, `data_scadenza_disdetta` date DEFAULT NULL COMMENT 'Data limite per comunicare la disdetta', `periodicita` enum('mensile','bimestrale','trimestrale','semestrale','annuale','pluriennale','una_tantum') NOT NULL DEFAULT 'annuale', `rinnovo_automatico` tinyint(1) NOT NULL DEFAULT 0, `durata_mesi` int(11) DEFAULT NULL COMMENT 'Durata in mesi del contratto', `preavviso_disdetta_giorni` int(11) NOT NULL DEFAULT 30 COMMENT 'Giorni di preavviso necessari per la disdetta', `modalita_disdetta` set('raccomandata','raccomandata_rr','pec','email','fax','mano') NOT NULL DEFAULT 'raccomandata_rr', `note_disdetta` text DEFAULT NULL COMMENT 'Note specifiche per la disdetta', `importo_annuale` decimal(10,2) DEFAULT NULL, `importo_mensile` decimal(10,2) DEFAULT NULL, `fatturazione` enum('mensile','bimestrale','trimestrale','semestrale','annuale') NOT NULL DEFAULT 'annuale', `iva_inclusa` tinyint(1) NOT NULL DEFAULT 0, `percentuale_iva` decimal(5,2) NOT NULL DEFAULT 22.00, `attivo` tinyint(1) NOT NULL DEFAULT 1, `prossima_scadenza` date DEFAULT NULL COMMENT 'Prossima data di scadenza da monitorare', `disdetta_richiesta` tinyint(1) NOT NULL DEFAULT 0, `data_richiesta_disdetta` date DEFAULT NULL, `note_disdetta_richiesta` text DEFAULT NULL, `documenti_allegati` text DEFAULT NULL COMMENT 'JSON con i documenti collegati', `categoria` enum('manutenzione','pulizie','sicurezza','assicurazione','energia','gas','acqua','telefonia','ascensori','giardini','amministrazione','consulenza','altro') NOT NULL DEFAULT 'altro', `priorita_finanziaria` enum('bassa','media','alta','critica') NOT NULL DEFAULT 'media', `note` text DEFAULT NULL, `clausole_particolari` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `incarichi_contratti_stabile_id_attivo_index` (`stabile_id`,`attivo`), KEY `incarichi_contratti_tipologia_categoria_index` (`tipologia`,`categoria`), KEY `incarichi_contratti_data_scadenza_disdetta_index` (`data_scadenza_disdetta`), KEY `incarichi_contratti_prossima_scadenza_index` (`prossima_scadenza`), KEY `incarichi_contratti_data_fine_contratto_index` (`data_fine_contratto`), KEY `incarichi_contratti_fornitore_id_foreign` (`fornitore_id`), CONSTRAINT `incarichi_contratti_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `incarichi_contratti_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `incassi` -- DROP TABLE IF EXISTS `incassi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `incassi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `condominio_id` bigint(20) unsigned NOT NULL, `conto_bancario_id` bigint(20) unsigned NOT NULL, `cassa_id` bigint(20) unsigned DEFAULT NULL, `cod_cassa_legacy` varchar(30) DEFAULT NULL, `condomino_id` bigint(20) unsigned DEFAULT NULL, `id_incasso_gescon` int(11) DEFAULT NULL COMMENT 'ID originale da incassi', `cod_cond_gescon` varchar(10) DEFAULT NULL COMMENT 'Codice condominio Gescon', `cond_inquil` varchar(10) DEFAULT NULL COMMENT 'Inquilino/Proprietario', `n_riferimento` varchar(20) DEFAULT NULL COMMENT 'Numero riferimento pagamento', `anno_rif` int(11) NOT NULL COMMENT 'Anno di riferimento', `da_ricev_diretto` varchar(5) DEFAULT NULL COMMENT 'Flag ricevuta diretta', `n_ricevuta` int(11) DEFAULT NULL COMMENT 'Numero ricevuta', `posiz_riga` int(11) NOT NULL DEFAULT 0 COMMENT 'Posizione riga', `anno_ricev` varchar(10) DEFAULT NULL COMMENT 'Anno ricevuta', `n_mese` varchar(10) DEFAULT NULL COMMENT 'Numero mese', `o_r_s` varchar(5) DEFAULT NULL COMMENT 'Tipo spesa: O=Ordinarie, R=Riscaldamento, S=Straordinarie', `importo_pagato` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Importo pagato', `importo_pagato_euro` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Importo in Euro', `d_p_e` varchar(5) DEFAULT NULL COMMENT 'Flag Euro/Lire', `dt_empag` datetime DEFAULT NULL COMMENT 'Data pagamento Gescon', `data_pagamento` date DEFAULT NULL COMMENT 'Data pagamento normalizzata', `data_competenza` date DEFAULT NULL COMMENT 'Data competenza rate', `descrizione` text DEFAULT NULL COMMENT 'Descrizione pagamento', `note` text DEFAULT NULL COMMENT 'Note aggiuntive', `movimento_bancario_id` bigint(20) unsigned DEFAULT NULL, `registrazione_id` bigint(20) unsigned DEFAULT NULL, `stato_riconciliazione` enum('automatica','manuale','sospesa','anomala') NOT NULL DEFAULT 'sospesa', `scostamento_importo` decimal(10,4) NOT NULL DEFAULT 0.0000 COMMENT 'Differenza con movimento bancario', `giorni_scostamento` int(11) NOT NULL DEFAULT 0 COMMENT 'Giorni differenza con movimento', `confidenza_match` decimal(5,2) NOT NULL DEFAULT 0.00 COMMENT '% confidenza match automatico', `rate_associate` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Rate collegate a questo incasso' CHECK (json_valid(`rate_associate`)), `tipo_incasso` enum('rata_ordinaria','rata_straordinaria','riscaldamento','altro') NOT NULL DEFAULT 'rata_ordinaria', `modalita_incasso` varchar(30) DEFAULT NULL, `cod_cassa_gescon` varchar(10) DEFAULT NULL COMMENT 'Codice cassa Gescon', `totale` int(11) NOT NULL DEFAULT 0 COMMENT 'Campo totale Gescon', `str_orig` int(11) NOT NULL DEFAULT 0 COMMENT 'Struttura origine', `linea_sep_stp` varchar(20) DEFAULT NULL COMMENT 'Linea separazione', `proviene_ors` varchar(20) DEFAULT NULL COMMENT 'Provenienza ORS', `proviene_n_stra` int(11) NOT NULL DEFAULT 0 COMMENT 'Numero straordinaria', `proviene_eserc` int(11) NOT NULL DEFAULT 0 COMMENT 'Esercizio provenienza', `metadati_gescon` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Dati originali completi' CHECK (json_valid(`metadati_gescon`)), `log_riconciliazione` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Log tentativi riconciliazione' CHECK (json_valid(`log_riconciliazione`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `incassi_gestione_id_foreign` (`gestione_id`), KEY `incassi_condominio_id_foreign` (`condominio_id`), KEY `incassi_conto_bancario_id_foreign` (`conto_bancario_id`), KEY `incassi_condomino_id_foreign` (`condomino_id`), KEY `incassi_tenant_id_gestione_id_index` (`tenant_id`,`gestione_id`), KEY `incassi_tenant_id_condominio_id_index` (`tenant_id`,`condominio_id`), KEY `incassi_tenant_id_data_pagamento_index` (`tenant_id`,`data_pagamento`), KEY `incassi_tenant_id_anno_rif_n_mese_index` (`tenant_id`,`anno_rif`,`n_mese`), KEY `incassi_tenant_id_stato_riconciliazione_index` (`tenant_id`,`stato_riconciliazione`), KEY `incassi_tenant_id_o_r_s_index` (`tenant_id`,`o_r_s`), KEY `incassi_cod_cond_gescon_anno_rif_index` (`cod_cond_gescon`,`anno_rif`), KEY `incassi_cassa_id_foreign` (`cassa_id`), KEY `incassi_cod_cassa_legacy_index` (`cod_cassa_legacy`), KEY `incassi_registrazione_idx` (`registrazione_id`), KEY `incassi_tenant_id_modalita_incasso_index` (`tenant_id`,`modalita_incasso`), CONSTRAINT `incassi_cassa_id_foreign` FOREIGN KEY (`cassa_id`) REFERENCES `casse` (`id`), CONSTRAINT `incassi_condominio_id_foreign` FOREIGN KEY (`condominio_id`) REFERENCES `stabili` (`id`), CONSTRAINT `incassi_condomino_id_foreign` FOREIGN KEY (`condomino_id`) REFERENCES `anagrafiche` (`id`), CONSTRAINT `incassi_conto_bancario_id_foreign` FOREIGN KEY (`conto_bancario_id`) REFERENCES `conti_bancari` (`id`), CONSTRAINT `incassi_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `incassi_registrazione_fk` FOREIGN KEY (`registrazione_id`) REFERENCES `contabilita_registrazioni` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=76560 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `incassi_ai_feedback` -- DROP TABLE IF EXISTS `incassi_ai_feedback`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `incassi_ai_feedback` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `incasso_id` bigint(20) unsigned NOT NULL, `movimento_bancario_id` bigint(20) unsigned DEFAULT NULL, `registrazione_id` bigint(20) unsigned DEFAULT NULL, `ai_status` varchar(20) NOT NULL DEFAULT 'pending', `ai_confidenza` decimal(5,2) DEFAULT NULL, `ai_payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`ai_payload`)), `ai_note` text DEFAULT NULL, `user_feedback` text DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `incassi_ai_feedback_incasso_id_ai_status_index` (`incasso_id`,`ai_status`), KEY `incassi_ai_feedback_movimento_bancario_id_index` (`movimento_bancario_id`), KEY `incassi_ai_feedback_registrazione_id_index` (`registrazione_id`), KEY `incassi_ai_feedback_created_by_index` (`created_by`), KEY `incassi_ai_feedback_updated_by_index` (`updated_by`), CONSTRAINT `incassi_ai_feedback_incasso_id_foreign` FOREIGN KEY (`incasso_id`) REFERENCES `incassi` (`id`) ON DELETE CASCADE, CONSTRAINT `incassi_ai_feedback_registrazione_fk` FOREIGN KEY (`registrazione_id`) REFERENCES `contabilita_registrazioni` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `incassi_estratto_conto` -- DROP TABLE IF EXISTS `incassi_estratto_conto`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `incassi_estratto_conto` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `gestione_id` bigint(20) unsigned NOT NULL, `id_gescon` int(11) DEFAULT NULL COMMENT 'ID originale da Inc_da_ec', `data_operazione` date NOT NULL COMMENT 'Data operazione bancaria', `data_valuta` date NOT NULL COMMENT 'Data valuta bancaria', `importo` decimal(15,4) NOT NULL COMMENT 'Importo movimento', `descrizione` text NOT NULL COMMENT 'Descrizione da estratto conto', `tipo_movimento` enum('entrata','uscita') NOT NULL DEFAULT 'entrata', `causale_bancaria` varchar(10) DEFAULT NULL COMMENT 'Codice causale banca', `ordinante` varchar(200) DEFAULT NULL COMMENT 'Nome ordinante/beneficiario', `riferimento_bancario` varchar(100) DEFAULT NULL COMMENT 'Riferimento/TRN banca', `incasso_id` bigint(20) unsigned DEFAULT NULL, `movimento_bancario_id` bigint(20) unsigned DEFAULT NULL, `operazione_id` bigint(20) unsigned DEFAULT NULL, `stato` enum('da_riconciliare','riconciliato','parziale','anomalo','escluso') NOT NULL DEFAULT 'da_riconciliare', `confidenza_match` decimal(5,2) NOT NULL DEFAULT 0.00 COMMENT '% confidenza match automatico', `note_riconciliazione` text DEFAULT NULL, `candidati_match` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Possibili abbinamenti trovati' CHECK (json_valid(`candidati_match`)), `tipo_riconciliazione` enum('automatica','manuale','assistita') DEFAULT NULL, `riconciliato_da_user_id` bigint(20) unsigned DEFAULT NULL, `riconciliato_il` timestamp NULL DEFAULT NULL, `pattern_scala` varchar(10) DEFAULT NULL COMMENT 'Scala estratta (A,B,C,D)', `pattern_interno` varchar(20) DEFAULT NULL COMMENT 'Numero interno estratto', `pattern_nome_estratto` varchar(200) DEFAULT NULL COMMENT 'Nome estratto da descrizione', `pattern_keywords` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Keywords identificate' CHECK (json_valid(`pattern_keywords`)), `anomalo` tinyint(1) NOT NULL DEFAULT 0, `motivo_anomalia` text DEFAULT NULL, `dettagli_anomalia` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dettagli_anomalia`)), `file_origine` varchar(255) DEFAULT NULL COMMENT 'File estratto conto origine', `formato_file` varchar(20) DEFAULT NULL COMMENT 'Formato file: WRI, CSV, OFX', `riga_file` int(11) DEFAULT NULL COMMENT 'Riga nel file origine', `hash_movimento` varchar(64) DEFAULT NULL COMMENT 'Hash per evitare duplicati', `metadati_gescon` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Dati originali Gescon' CHECK (json_valid(`metadati_gescon`)), `metadati_file` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Metadati file importazione' CHECK (json_valid(`metadati_file`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `incassi_estratto_conto_tenant_id_hash_movimento_unique` (`tenant_id`,`hash_movimento`), KEY `incassi_estratto_conto_incasso_id_foreign` (`incasso_id`), KEY `incassi_estratto_conto_movimento_bancario_id_foreign` (`movimento_bancario_id`), KEY `incassi_estratto_conto_operazione_id_foreign` (`operazione_id`), KEY `incassi_estratto_conto_gestione_id_data_operazione_index` (`gestione_id`,`data_operazione`), KEY `incassi_estratto_conto_tenant_id_stato_index` (`tenant_id`,`stato`), KEY `incassi_estratto_conto_tipo_movimento_importo_index` (`tipo_movimento`,`importo`), KEY `incassi_estratto_conto_hash_movimento_index` (`hash_movimento`), KEY `incassi_estratto_conto_pattern_scala_pattern_interno_index` (`pattern_scala`,`pattern_interno`), KEY `idx_iec_riconciliato_user_il` (`riconciliato_da_user_id`,`riconciliato_il`), CONSTRAINT `incassi_estratto_conto_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `incassi_estratto_conto_incasso_id_foreign` FOREIGN KEY (`incasso_id`) REFERENCES `incassi` (`id`), CONSTRAINT `incassi_estratto_conto_movimento_bancario_id_foreign` FOREIGN KEY (`movimento_bancario_id`) REFERENCES `movimenti_bancari` (`id`), CONSTRAINT `incassi_estratto_conto_operazione_id_foreign` FOREIGN KEY (`operazione_id`) REFERENCES `operazioni_contabili` (`id`), CONSTRAINT `incassi_estratto_conto_riconciliato_da_user_id_foreign` FOREIGN KEY (`riconciliato_da_user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=43543 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `incassi_pagamenti` -- DROP TABLE IF EXISTS `incassi_pagamenti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `incassi_pagamenti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno_gestione_id` bigint(20) unsigned NOT NULL, `rata_id` bigint(20) unsigned DEFAULT NULL, `movimento_banca_id` bigint(20) unsigned DEFAULT NULL, `condomino_id` bigint(20) unsigned DEFAULT NULL, `cod_condomino` varchar(255) NOT NULL, `n_riferimento` varchar(255) NOT NULL, `data_pagamento` date NOT NULL, `importo_pagato` decimal(10,2) NOT NULL, `importo_pagato_euro` decimal(10,2) NOT NULL, `n_ricevuta` varchar(255) DEFAULT NULL, `tipo_gestione` varchar(1) NOT NULL, `mese_riferimento` varchar(255) NOT NULL, `descrizione` varchar(255) DEFAULT NULL, `cod_cassa` varchar(255) DEFAULT NULL, `riconciliato` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `incassi_pagamenti_anno_gestione_id_foreign` (`anno_gestione_id`), KEY `incassi_pagamenti_condomino_id_foreign` (`condomino_id`), KEY `incassi_pagamenti_stabile_id_data_pagamento_index` (`stabile_id`,`data_pagamento`), KEY `incassi_pagamenti_cod_condomino_mese_riferimento_index` (`cod_condomino`,`mese_riferimento`), KEY `incassi_pagamenti_riconciliato_index` (`riconciliato`), CONSTRAINT `incassi_pagamenti_anno_gestione_id_foreign` FOREIGN KEY (`anno_gestione_id`) REFERENCES `anni_gestione` (`id`), CONSTRAINT `incassi_pagamenti_condomino_id_foreign` FOREIGN KEY (`condomino_id`) REFERENCES `condomini_stabile` (`id`), CONSTRAINT `incassi_pagamenti_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili_gescon` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `insurance_claims` -- DROP TABLE IF EXISTS `insurance_claims`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `insurance_claims` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint(20) unsigned NOT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `insurance_policy_id` bigint(20) unsigned DEFAULT NULL, `policy_reference` varchar(255) DEFAULT NULL, `claim_number` varchar(255) DEFAULT NULL, `status` varchar(32) NOT NULL DEFAULT 'bozza', `opened_at` timestamp NULL DEFAULT NULL, `notes` text DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `insurance_claims_stabile_id_foreign` (`stabile_id`), KEY `insurance_claims_ticket_id_status_index` (`ticket_id`,`status`), KEY `insurance_claims_claim_number_index` (`claim_number`), KEY `insurance_claims_insurance_policy_id_foreign` (`insurance_policy_id`), CONSTRAINT `insurance_claims_insurance_policy_id_foreign` FOREIGN KEY (`insurance_policy_id`) REFERENCES `insurance_policies` (`id`) ON DELETE SET NULL, CONSTRAINT `insurance_claims_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `insurance_claims_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `insurance_policies` -- DROP TABLE IF EXISTS `insurance_policies`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `insurance_policies` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `broker_rubrica_id` bigint(20) unsigned DEFAULT NULL, `company_rubrica_id` bigint(20) unsigned DEFAULT NULL, `policy_name` varchar(255) DEFAULT NULL, `policy_number` varchar(255) DEFAULT NULL, `policy_reference` varchar(255) DEFAULT NULL, `status` varchar(50) NOT NULL DEFAULT 'attiva', `started_at` date DEFAULT NULL, `expires_at` date DEFAULT NULL, `renewal_at` date DEFAULT NULL, `annual_amount` decimal(12,2) DEFAULT NULL, `payment_split` varchar(255) DEFAULT NULL, `payment_schedule_notes` text DEFAULT NULL, `coverage_summary` text DEFAULT NULL, `special_conditions` longtext DEFAULT NULL, `claim_form_template` longtext DEFAULT NULL, `policy_document_path` varchar(255) DEFAULT NULL, `policy_document_name` varchar(255) DEFAULT NULL, `policy_document_mime` varchar(255) DEFAULT NULL, `signature_image_path` varchar(255) DEFAULT NULL, `notes` text DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `insurance_policies_broker_rubrica_id_foreign` (`broker_rubrica_id`), KEY `insurance_policies_company_rubrica_id_foreign` (`company_rubrica_id`), KEY `insurance_policies_created_by_foreign` (`created_by`), KEY `insurance_policies_stabile_id_status_index` (`stabile_id`,`status`), KEY `insurance_policies_policy_number_index` (`policy_number`), KEY `insurance_policies_expires_at_index` (`expires_at`), CONSTRAINT `insurance_policies_broker_rubrica_id_foreign` FOREIGN KEY (`broker_rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `insurance_policies_company_rubrica_id_foreign` FOREIGN KEY (`company_rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `insurance_policies_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `insurance_policies_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `istat_indici_mensili` -- DROP TABLE IF EXISTS `istat_indici_mensili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `istat_indici_mensili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_serie` varchar(50) NOT NULL DEFAULT 'FOI', `anno` int(11) NOT NULL, `mese` tinyint(4) NOT NULL, `indice` decimal(10,4) NOT NULL, `fonte` varchar(100) DEFAULT NULL, `data_pubblicazione` date DEFAULT NULL, `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payload`)), `sincronizzato_il` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `istat_serie_anno_mese_unique` (`codice_serie`,`anno`,`mese`), KEY `istat_indici_mensili_anno_mese_index` (`anno`,`mese`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `job_batches` -- DROP TABLE IF EXISTS `job_batches`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `job_batches` ( `id` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `total_jobs` int(11) NOT NULL, `pending_jobs` int(11) NOT NULL, `failed_jobs` int(11) NOT NULL, `failed_job_ids` longtext NOT NULL, `options` mediumtext DEFAULT NULL, `cancelled_at` int(11) DEFAULT NULL, `created_at` int(11) NOT NULL, `finished_at` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `jobs` -- DROP TABLE IF EXISTS `jobs`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `jobs` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `queue` varchar(255) NOT NULL, `payload` longtext NOT NULL, `attempts` tinyint(3) unsigned NOT NULL, `reserved_at` int(10) unsigned DEFAULT NULL, `available_at` int(10) unsigned NOT NULL, `created_at` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `jobs_queue_index` (`queue`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `lavori_straordinari` -- DROP TABLE IF EXISTS `lavori_straordinari`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `lavori_straordinari` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` bigint(20) unsigned DEFAULT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `legacy_id` int(11) DEFAULT NULL, `codice` varchar(50) NOT NULL, `descrizione` varchar(255) NOT NULL, `numero_rate` smallint(5) unsigned NOT NULL DEFAULT 0, `data_inizio` date DEFAULT NULL, `natura` enum('spesa','entrata') NOT NULL DEFAULT 'spesa', `gruppo` varchar(100) DEFAULT NULL, `periodicita` varchar(50) DEFAULT NULL, `note_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`note_json`)), `importo_previsto` decimal(15,4) DEFAULT NULL, `importo_consuntivato` decimal(15,4) DEFAULT NULL, `chiuso` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_lavori_gestione_codice` (`gestione_id`,`codice`), KEY `lavori_straordinari_tenant_id_index` (`tenant_id`), KEY `lavori_straordinari_legacy_id_index` (`legacy_id`), KEY `lavori_straordinari_codice_index` (`codice`), CONSTRAINT `lavori_straordinari_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `legacy_unita_tipo_mappings` -- DROP TABLE IF EXISTS `legacy_unita_tipo_mappings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `legacy_unita_tipo_mappings` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `legacy_source` varchar(50) NOT NULL DEFAULT 'condomin', `legacy_field` varchar(50) NOT NULL DEFAULT 'tipo_pr', `legacy_value` varchar(50) DEFAULT NULL, `descrizione` varchar(255) DEFAULT NULL, `match_regex` varchar(255) DEFAULT NULL, `tipo_unita` varchar(50) NOT NULL, `tipologia_codice` varchar(50) DEFAULT NULL, `tipologia_nome` varchar(100) DEFAULT NULL, `tipologia_categoria` varchar(100) DEFAULT NULL, `categoria_catastale` varchar(20) DEFAULT NULL, `is_pertinenza` tinyint(1) NOT NULL DEFAULT 0, `is_condominiale` tinyint(1) NOT NULL DEFAULT 0, `fallback_interno_prefix` varchar(20) DEFAULT NULL, `sort_order` int(10) unsigned NOT NULL DEFAULT 100, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `legacy_unita_tipo_lookup_idx` (`legacy_source`,`legacy_field`,`legacy_value`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `letture_contatori` -- DROP TABLE IF EXISTS `letture_contatori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `letture_contatori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `contatore_id` bigint(20) unsigned NOT NULL, `data_lettura` date NOT NULL, `lettura_precedente` decimal(12,3) NOT NULL DEFAULT 0.000, `lettura_attuale` decimal(12,3) NOT NULL, `consumo_calcolato` decimal(12,3) GENERATED ALWAYS AS (`lettura_attuale` - `lettura_precedente`) STORED, `tipo_lettura` enum('manuale','automatica','stimata','rettifica') NOT NULL, `lettura_da` varchar(255) DEFAULT NULL, `dati_telelettura` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_telelettura`)), `validata` tinyint(1) NOT NULL DEFAULT 0, `note` text DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_contatore_data` (`contatore_id`,`data_lettura`), KEY `letture_contatori_created_by_foreign` (`created_by`), KEY `letture_contatori_data_lettura_validata_index` (`data_lettura`,`validata`), CONSTRAINT `letture_contatori_contatore_id_foreign` FOREIGN KEY (`contatore_id`) REFERENCES `contatori` (`id`) ON DELETE CASCADE, CONSTRAINT `letture_contatori_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `log_modifiche_preventivo` -- DROP TABLE IF EXISTS `log_modifiche_preventivo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `log_modifiche_preventivo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `entita` varchar(32) NOT NULL, `entita_id` bigint(20) unsigned NOT NULL, `versione_precedente` int(10) unsigned NOT NULL DEFAULT 0, `versione_nuova` int(10) unsigned NOT NULL DEFAULT 0, `utente_id` bigint(20) unsigned DEFAULT NULL, `tipo_operazione` varchar(32) DEFAULT NULL, `motivo` text DEFAULT NULL, `dati_precedenti` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_precedenti`)), `dati_nuovi` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_nuovi`)), `diff` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`diff`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `log_modifiche_preventivo_utente_id_foreign` (`utente_id`), KEY `log_modifiche_preventivo_entita_entita_id_index` (`entita`,`entita_id`), CONSTRAINT `log_modifiche_preventivo_utente_id_foreign` FOREIGN KEY (`utente_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `migration_datasets` -- DROP TABLE IF EXISTS `migration_datasets`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `migration_datasets` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `source_id` bigint(20) unsigned NOT NULL, `key` varchar(255) NOT NULL, `title` varchar(255) DEFAULT NULL, `state` varchar(20) NOT NULL DEFAULT 'ready', `schema` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`schema`)), `records_count` bigint(20) unsigned NOT NULL DEFAULT 0, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `migration_datasets_source_id_key_unique` (`source_id`,`key`), CONSTRAINT `migration_datasets_source_id_foreign` FOREIGN KEY (`source_id`) REFERENCES `migration_sources` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `migration_records` -- DROP TABLE IF EXISTS `migration_records`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `migration_records` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `dataset_id` bigint(20) unsigned NOT NULL, `legacy_key` varchar(255) DEFAULT NULL, `hash` varchar(64) DEFAULT NULL, `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`data`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `migration_records_dataset_id_legacy_key_index` (`dataset_id`,`legacy_key`), KEY `migration_records_hash_index` (`hash`), CONSTRAINT `migration_records_dataset_id_foreign` FOREIGN KEY (`dataset_id`) REFERENCES `migration_datasets` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `migration_sources` -- DROP TABLE IF EXISTS `migration_sources`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `migration_sources` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `type` varchar(20) NOT NULL DEFAULT 'mdb', `path` varchar(255) NOT NULL, `enabled` tinyint(1) NOT NULL DEFAULT 1, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `migration_sources_type_index` (`type`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `migrations` -- DROP TABLE IF EXISTS `migrations`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `migrations` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `migration` varchar(255) NOT NULL, `batch` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=374 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `millesimi_unita` -- DROP TABLE IF EXISTS `millesimi_unita`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `millesimi_unita` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `tabella_millesimale_id` bigint(20) unsigned NOT NULL, `millesimi` decimal(10,3) NOT NULL, `consumo_individuale` decimal(10,2) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `millesimi_unita_ui_tm_unique` (`unita_immobiliare_id`,`tabella_millesimale_id`), KEY `millesimi_unita_tabella_millesimale_id_millesimi_index` (`tabella_millesimale_id`,`millesimi`), CONSTRAINT `millesimi_unita_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `millesimi_unita_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `model_has_permissions` -- DROP TABLE IF EXISTS `model_has_permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `model_has_permissions` ( `permission_id` bigint(20) unsigned NOT NULL, `model_type` varchar(255) NOT NULL, `model_id` bigint(20) unsigned NOT NULL, PRIMARY KEY (`permission_id`,`model_id`,`model_type`), KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`), CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `model_has_roles` -- DROP TABLE IF EXISTS `model_has_roles`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `model_has_roles` ( `role_id` bigint(20) unsigned NOT NULL, `model_type` varchar(255) NOT NULL, `model_id` bigint(20) unsigned NOT NULL, PRIMARY KEY (`role_id`,`model_id`,`model_type`), KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`), CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `modules` -- DROP TABLE IF EXISTS `modules`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `modules` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `display_name` varchar(255) NOT NULL, `description` varchar(255) DEFAULT NULL, `version` varchar(255) NOT NULL, `author` varchar(255) DEFAULT NULL, `status` enum('active','inactive','installing','updating','error') NOT NULL DEFAULT 'inactive', `license` enum('free','commercial','custom') NOT NULL DEFAULT 'free', `price` decimal(10,2) DEFAULT NULL, `currency` varchar(3) NOT NULL DEFAULT 'EUR', `billing` enum('one-time','monthly','yearly') NOT NULL DEFAULT 'yearly', `config` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`config`)), `dependencies` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dependencies`)), `permissions` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`permissions`)), `license_key` varchar(255) DEFAULT NULL, `license_expires_at` timestamp NULL DEFAULT NULL, `installed_at` timestamp NULL DEFAULT NULL, `last_updated` timestamp NULL DEFAULT NULL, `installed_by` varchar(255) DEFAULT NULL, `install_log` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `modules_name_unique` (`name`), KEY `modules_status_name_index` (`status`,`name`), KEY `modules_license_index` (`license`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `movimenti_bancari` -- DROP TABLE IF EXISTS `movimenti_bancari`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `movimenti_bancari` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `conto_bancario_id` bigint(20) unsigned NOT NULL, `incasso_id` bigint(20) unsigned DEFAULT NULL, `operazione_id` bigint(20) unsigned DEFAULT NULL, `data_operazione` date NOT NULL COMMENT 'Data operazione', `data_valuta` date NOT NULL COMMENT 'Data valuta', `importo` decimal(15,4) NOT NULL COMMENT 'Importo movimento', `tipo_movimento` enum('entrata','uscita') NOT NULL COMMENT 'Tipo movimento', `descrizione_completa` text NOT NULL COMMENT 'Descrizione completa dalla banca', `causale_bancaria` varchar(10) DEFAULT NULL COMMENT 'Codice causale banca', `causale_descrizione` varchar(100) DEFAULT NULL COMMENT 'Descrizione causale', `controparte_nome` varchar(200) DEFAULT NULL COMMENT 'Nome ordinante/beneficiario', `controparte_iban` varchar(27) DEFAULT NULL COMMENT 'IBAN controparte', `controparte_banca` varchar(100) DEFAULT NULL COMMENT 'Banca controparte', `pattern_scala` varchar(10) DEFAULT NULL COMMENT 'Scala estratta (A,B,C,D)', `pattern_interno` varchar(20) DEFAULT NULL COMMENT 'Numero interno estratto', `pattern_nome_estratto` varchar(200) DEFAULT NULL COMMENT 'Nome estratto dal bonifico', `pattern_keywords` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Keywords identificate' CHECK (json_valid(`pattern_keywords`)), `stato_riconciliazione` enum('automatica','manuale','sospesa','anomala','esclusa') NOT NULL DEFAULT 'sospesa', `confidenza_match` decimal(5,2) NOT NULL DEFAULT 0.00 COMMENT '% confidenza match automatico', `candidati_match` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Possibili abbinamenti trovati' CHECK (json_valid(`candidati_match`)), `note_riconciliazione` text DEFAULT NULL COMMENT 'Note per riconciliazione manuale', `file_origine` varchar(255) DEFAULT NULL COMMENT 'File da cui è stato importato', `formato_file` varchar(20) NOT NULL COMMENT 'WRI, CSV, MT940, etc.', `riga_file` int(11) DEFAULT NULL COMMENT 'Riga nel file origine', `hash_movimento` varchar(64) DEFAULT NULL COMMENT 'Hash per evitare duplicati', `trn_reference` varchar(50) DEFAULT NULL COMMENT 'TRN reference Unicredit', `unicredit_raw_line` varchar(1000) DEFAULT NULL COMMENT 'Riga originale file WRI', `duplicato` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Movimento duplicato', `anomalo` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Movimento anomalo da verificare', `motivo_anomalia` text DEFAULT NULL COMMENT 'Dettaglio anomalia', `metadati_import` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Metadati import file' CHECK (json_valid(`metadati_import`)), `log_pattern_matching` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Log pattern recognition' CHECK (json_valid(`log_pattern_matching`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `movimenti_bancari_tenant_id_hash_movimento_unique` (`tenant_id`,`hash_movimento`), KEY `movimenti_bancari_gestione_id_foreign` (`gestione_id`), KEY `movimenti_bancari_conto_bancario_id_foreign` (`conto_bancario_id`), KEY `movimenti_bancari_operazione_id_foreign` (`operazione_id`), KEY `movimenti_bancari_tenant_id_gestione_id_index` (`tenant_id`,`gestione_id`), KEY `movimenti_bancari_tenant_id_conto_bancario_id_index` (`tenant_id`,`conto_bancario_id`), KEY `movimenti_bancari_tenant_id_data_operazione_index` (`tenant_id`,`data_operazione`), KEY `movimenti_bancari_tenant_id_tipo_movimento_index` (`tenant_id`,`tipo_movimento`), KEY `movimenti_bancari_tenant_id_stato_riconciliazione_index` (`tenant_id`,`stato_riconciliazione`), KEY `movimenti_bancari_tenant_id_causale_bancaria_index` (`tenant_id`,`causale_bancaria`), KEY `movimenti_bancari_hash_movimento_index` (`hash_movimento`), KEY `movimenti_bancari_pattern_scala_pattern_interno_index` (`pattern_scala`,`pattern_interno`), CONSTRAINT `movimenti_bancari_conto_bancario_id_foreign` FOREIGN KEY (`conto_bancario_id`) REFERENCES `conti_bancari` (`id`), CONSTRAINT `movimenti_bancari_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `movimenti_bancari_operazione_id_foreign` FOREIGN KEY (`operazione_id`) REFERENCES `operazioni_contabili` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `movimenti_chiavi` -- DROP TABLE IF EXISTS `movimenti_chiavi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `movimenti_chiavi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `chiave_id` bigint(20) unsigned NOT NULL, `tipo_movimento` enum('assegnazione','riconsegna','smarrimento','sostituzione') NOT NULL, `data_movimento` timestamp NOT NULL DEFAULT current_timestamp(), `assegnata_da` varchar(255) DEFAULT NULL COMMENT 'Chi ha fatto l''assegnazione', `assegnata_a` varchar(255) DEFAULT NULL COMMENT 'A chi è stata assegnata', `motivo` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_chiave_data` (`chiave_id`,`data_movimento`), CONSTRAINT `movimenti_chiavi_chiave_id_foreign` FOREIGN KEY (`chiave_id`) REFERENCES `chiavi_stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `movimenti_contabili` -- DROP TABLE IF EXISTS `movimenti_contabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `movimenti_contabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_movimento` char(8) NOT NULL COMMENT 'Codice alfanumerico univoco 8 caratteri', `stato` enum('bozza','confermato','annullato') NOT NULL DEFAULT 'bozza', `stabile_id` bigint(20) unsigned NOT NULL, `tipo_movimento` enum('entrata','uscita') NOT NULL DEFAULT 'uscita', `categoria_movimento` enum('ordinario','straordinario','fondo','lavori') NOT NULL DEFAULT 'ordinario', `stato_movimento` enum('prima_nota','bozza','confermato','chiuso') NOT NULL DEFAULT 'prima_nota', `data_movimento` date NOT NULL, `data_prima_nota` timestamp NULL DEFAULT NULL, `data_conferma` timestamp NULL DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `note` text DEFAULT NULL, `note_interne` text DEFAULT NULL, `importo_lordo` decimal(10,2) NOT NULL, `ritenuta_acconto` decimal(10,2) NOT NULL DEFAULT 0.00, `iva` decimal(10,2) NOT NULL DEFAULT 0.00, `importo_netto` decimal(10,2) NOT NULL, `numero_documento` varchar(255) DEFAULT NULL, `documento_id` bigint(20) unsigned DEFAULT NULL, `dettagli_partita_doppia` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Struttura per dare/avere futuro' CHECK (json_valid(`dettagli_partita_doppia`)), `confermato_da` bigint(20) unsigned DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `movimenti_contabili_codice_movimento_unique` (`codice_movimento`), KEY `movimenti_contabili_confermato_da_foreign` (`confermato_da`), KEY `movimenti_contabili_creato_da_foreign` (`creato_da`), KEY `movimenti_contabili_modificato_da_foreign` (`modificato_da`), KEY `movimenti_contabili_stabile_id_data_movimento_index` (`stabile_id`,`data_movimento`), KEY `movimenti_contabili_stato_movimento_index` (`stato_movimento`), KEY `movimenti_contabili_tipo_movimento_index` (`tipo_movimento`), CONSTRAINT `movimenti_contabili_confermato_da_foreign` FOREIGN KEY (`confermato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `movimenti_contabili_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `movimenti_contabili_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `movimenti_contabili_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `movimenti_interni` -- DROP TABLE IF EXISTS `movimenti_interni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `movimenti_interni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` bigint(20) unsigned DEFAULT NULL, `gestione_id` bigint(20) unsigned DEFAULT NULL, `legacy_id` int(11) DEFAULT NULL, `riferimento` varchar(100) DEFAULT NULL, `data` date NOT NULL, `descrizione` varchar(255) NOT NULL, `importo` decimal(15,4) NOT NULL, `conto_from` varchar(30) NOT NULL, `conto_to` varchar(30) NOT NULL, `tipo` varchar(30) DEFAULT NULL, `operazione_from_id` bigint(20) unsigned DEFAULT NULL, `operazione_to_id` bigint(20) unsigned DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `movimenti_interni_operazione_from_id_foreign` (`operazione_from_id`), KEY `movimenti_interni_operazione_to_id_foreign` (`operazione_to_id`), KEY `movimenti_interni_gestione_id_data_index` (`gestione_id`,`data`), KEY `movimenti_interni_tenant_id_index` (`tenant_id`), KEY `movimenti_interni_legacy_id_index` (`legacy_id`), KEY `movimenti_interni_riferimento_index` (`riferimento`), CONSTRAINT `movimenti_interni_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `movimenti_interni_operazione_from_id_foreign` FOREIGN KEY (`operazione_from_id`) REFERENCES `operazioni_contabili` (`id`), CONSTRAINT `movimenti_interni_operazione_to_id_foreign` FOREIGN KEY (`operazione_to_id`) REFERENCES `operazioni_contabili` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `operazioni_contabili` -- DROP TABLE IF EXISTS `operazioni_contabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `operazioni_contabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) DEFAULT NULL, `gestione_id` bigint(20) unsigned NOT NULL, `legacy_id` int(11) DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `compet` enum('C','P') NOT NULL DEFAULT 'C' COMMENT 'C=Corrente, P=Precedente (bilancio apertura)', `natura2` varchar(10) DEFAULT NULL COMMENT 'Codice per scritture partita doppia', `n_stra` int(11) NOT NULL DEFAULT 0 COMMENT 'Numero straordinaria (0 per ordinarie)', `protocollo_numero` int(11) NOT NULL COMMENT 'Numero progressivo nella gestione', `protocollo_completo` varchar(50) NOT NULL COMMENT 'Protocollo completo: O2024-001, S2024-003-015', `voce_spesa_snapshot` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Snapshot voce spesa al momento registrazione' CHECK (json_valid(`voce_spesa_snapshot`)), `fornitore_snapshot` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Snapshot fornitore al momento registrazione' CHECK (json_valid(`fornitore_snapshot`)), `modificato_da_user_id` bigint(20) unsigned DEFAULT NULL, `modificato_il` timestamp NULL DEFAULT NULL, `motivo_modifica` text DEFAULT NULL, `storico_modifiche` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Log completo modifiche' CHECK (json_valid(`storico_modifiche`)), `ritenuta_acconto_id` bigint(20) unsigned DEFAULT NULL, `fattura_elettronica_id` bigint(20) unsigned DEFAULT NULL, `dare` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Importo DARE per partita doppia', `avere` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Importo AVERE per partita doppia', `conto_contabile` varchar(20) DEFAULT NULL COMMENT 'Codice conto contabile', `stato_operazione` enum('bozza','confermata','annullata') NOT NULL DEFAULT 'confermata', `data_competenza` date DEFAULT NULL COMMENT 'Data competenza diversa da data operazione', `data_operazione` date DEFAULT NULL, `conto_bancario_id` bigint(20) unsigned DEFAULT NULL, `cassa_id` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `operazioni_contabili_tenant_id_index` (`tenant_id`), KEY `operazioni_contabili_legacy_id_index` (`legacy_id`), KEY `operazioni_contabili_modificato_da_user_id_foreign` (`modificato_da_user_id`), KEY `operazioni_contabili_gestione_id_protocollo_numero_index` (`gestione_id`,`protocollo_numero`), KEY `operazioni_contabili_tenant_id_compet_index` (`tenant_id`,`compet`), KEY `operazioni_contabili_natura2_index` (`natura2`), KEY `operazioni_contabili_stato_operazione_index` (`stato_operazione`), KEY `operazioni_contabili_data_competenza_index` (`data_competenza`), KEY `operazioni_contabili_cassa_id_foreign` (`cassa_id`), CONSTRAINT `operazioni_contabili_cassa_id_foreign` FOREIGN KEY (`cassa_id`) REFERENCES `casse` (`id`), CONSTRAINT `operazioni_contabili_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `operazioni_contabili_modificato_da_user_id_foreign` FOREIGN KEY (`modificato_da_user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=21877 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `palazzine` -- DROP TABLE IF EXISTS `palazzine`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `palazzine` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `codice_palazzina` varchar(10) NOT NULL, `denominazione` varchar(255) DEFAULT NULL, `descrizione` text DEFAULT NULL, `numero_scale` int(11) NOT NULL DEFAULT 1, `numero_piani_fuori_terra` int(11) NOT NULL DEFAULT 3, `numero_piani_interrati` int(11) NOT NULL DEFAULT 0, `ha_piano_terra` tinyint(1) NOT NULL DEFAULT 1, `appartamenti_per_piano` int(11) NOT NULL DEFAULT 2, `superficie_totale` decimal(10,2) DEFAULT NULL, `anno_costruzione` int(11) DEFAULT NULL, `anno_ultima_ristrutturazione` int(11) DEFAULT NULL, `stato_conservazione` enum('ottimo','buono','discreto','da_ristrutturare') NOT NULL DEFAULT 'buono', `sezione_urbana` varchar(10) DEFAULT NULL, `foglio` varchar(20) DEFAULT NULL, `particella` varchar(20) DEFAULT NULL, `tipo_riscaldamento` enum('centralizzato','autonomo','misto','assente') NOT NULL DEFAULT 'centralizzato', `ha_ascensore` tinyint(1) NOT NULL DEFAULT 0, `numero_ascensori` int(11) NOT NULL DEFAULT 0, `ha_montacarichi` tinyint(1) NOT NULL DEFAULT 0, `ha_videocitofono` tinyint(1) NOT NULL DEFAULT 0, `ha_impianto_allarme` tinyint(1) NOT NULL DEFAULT 0, `accessibile_disabili` tinyint(1) NOT NULL DEFAULT 0, `note_accessibilita` text DEFAULT NULL, `posti_auto_coperti` int(11) NOT NULL DEFAULT 0, `posti_auto_scoperti` int(11) NOT NULL DEFAULT 0, `ha_giardino_comune` tinyint(1) NOT NULL DEFAULT 0, `mq_giardino_comune` decimal(8,2) DEFAULT NULL, `ha_terrazza_comune` tinyint(1) NOT NULL DEFAULT 0, `mq_terrazza_comune` decimal(8,2) DEFAULT NULL, `ha_locale_caldaia` tinyint(1) NOT NULL DEFAULT 0, `ha_locale_contatori` tinyint(1) NOT NULL DEFAULT 0, `ha_locale_bici` tinyint(1) NOT NULL DEFAULT 0, `ha_lavanderia` tinyint(1) NOT NULL DEFAULT 0, `altri_locali_comuni` text DEFAULT NULL, `note` text DEFAULT NULL, `attiva` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `palazzine_stabile_id_codice_palazzina_unique` (`stabile_id`,`codice_palazzina`), KEY `palazzine_created_by_foreign` (`created_by`), KEY `palazzine_updated_by_foreign` (`updated_by`), KEY `palazzine_stabile_id_codice_palazzina_index` (`stabile_id`,`codice_palazzina`), KEY `palazzine_stabile_id_index` (`stabile_id`), CONSTRAINT `palazzine_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`), CONSTRAINT `palazzine_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `palazzine_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `password_reset_tokens` -- DROP TABLE IF EXISTS `password_reset_tokens`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `password_reset_tokens` ( `email` varchar(255) NOT NULL, `token` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `payment_methods` -- DROP TABLE IF EXISTS `payment_methods`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `payment_methods` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL DEFAULT 'manuale', `is_active` tinyint(1) NOT NULL DEFAULT 1, `details` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`details`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `pbx_click_to_call_requests` -- DROP TABLE IF EXISTS `pbx_click_to_call_requests`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `pbx_click_to_call_requests` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `requested_by_user_id` bigint(20) unsigned NOT NULL, `assigned_user_id` bigint(20) unsigned DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `communication_message_id` bigint(20) unsigned DEFAULT NULL, `source_extension` varchar(20) NOT NULL, `target_number` varchar(40) NOT NULL, `status` varchar(20) NOT NULL DEFAULT 'pending', `note` text DEFAULT NULL, `requested_at` timestamp NULL DEFAULT NULL, `processed_at` timestamp NULL DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `pbx_click_to_call_requests_requested_by_user_id_foreign` (`requested_by_user_id`), KEY `pbx_click_to_call_requests_assigned_user_id_foreign` (`assigned_user_id`), KEY `pbx_click_to_call_requests_stabile_id_foreign` (`stabile_id`), KEY `pbx_click_to_call_requests_communication_message_id_foreign` (`communication_message_id`), KEY `pbx_click_to_call_requests_status_requested_at_index` (`status`,`requested_at`), KEY `pbx_click_to_call_requests_source_extension_created_at_index` (`source_extension`,`created_at`), CONSTRAINT `pbx_click_to_call_requests_assigned_user_id_foreign` FOREIGN KEY (`assigned_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `pbx_click_to_call_requests_communication_message_id_foreign` FOREIGN KEY (`communication_message_id`) REFERENCES `communication_messages` (`id`) ON DELETE SET NULL, CONSTRAINT `pbx_click_to_call_requests_requested_by_user_id_foreign` FOREIGN KEY (`requested_by_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE, CONSTRAINT `pbx_click_to_call_requests_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `permissions` -- DROP TABLE IF EXISTS `permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `permissions` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `guard_name` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`) ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `personal_access_tokens` -- DROP TABLE IF EXISTS `personal_access_tokens`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `personal_access_tokens` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tokenable_type` varchar(255) NOT NULL, `tokenable_id` bigint(20) unsigned NOT NULL, `name` varchar(255) NOT NULL, `token` varchar(64) NOT NULL, `abilities` text DEFAULT NULL, `last_used_at` timestamp NULL DEFAULT NULL, `expires_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `personal_access_tokens_token_unique` (`token`), KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `persone` -- DROP TABLE IF EXISTS `persone`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `persone` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_interno` varchar(8) DEFAULT NULL, `tipologia` enum('fisica','giuridica','ditta_individuale') NOT NULL DEFAULT 'fisica', `ruoli` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`ruoli`)), `cognome` varchar(100) NOT NULL, `nome` varchar(100) NOT NULL, `codice_fiscale` varchar(16) DEFAULT NULL, `partita_iva` varchar(11) DEFAULT NULL, `data_nascita` date DEFAULT NULL, `luogo_nascita_comune_id` int(11) DEFAULT NULL, `residenza_via` varchar(255) DEFAULT NULL, `residenza_comune_id` int(11) DEFAULT NULL, `telefono_principale` varchar(20) DEFAULT NULL, `telefono_secondario` varchar(20) DEFAULT NULL, `email_principale` varchar(255) DEFAULT NULL, `email_pec` varchar(255) DEFAULT NULL, `whatsapp` varchar(20) DEFAULT NULL, `modalita_comunicazione_preferita` enum('email','sms','whatsapp','telefono','posta') NOT NULL DEFAULT 'email', `lingua_preferita` varchar(10) NOT NULL DEFAULT 'it', `consenso_privacy` tinyint(1) NOT NULL DEFAULT 0, `consenso_marketing` tinyint(1) NOT NULL DEFAULT 0, `data_consenso_privacy` timestamp NULL DEFAULT NULL, `ragione_sociale` varchar(255) DEFAULT NULL, `forma_giuridica` varchar(50) DEFAULT NULL, `codice_fiscale_societa` varchar(16) DEFAULT NULL, `partita_iva_societa` varchar(11) DEFAULT NULL, `note` text DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `canale_convocazione` varchar(255) DEFAULT 'Raccomandata AR', `canale_verbali` varchar(255) DEFAULT 'Raccomandata AR', `canale_solleciti` varchar(255) DEFAULT 'PEC', PRIMARY KEY (`id`), UNIQUE KEY `persone_codice_interno_unique` (`codice_interno`), UNIQUE KEY `persone_codice_fiscale_unique` (`codice_fiscale`), UNIQUE KEY `persone_telefono_principale_unique` (`telefono_principale`), KEY `persone_cognome_nome_index` (`cognome`,`nome`), KEY `persone_telefono_principale_index` (`telefono_principale`), KEY `persone_email_principale_index` (`email_principale`), KEY `persone_codice_fiscale_index` (`codice_fiscale`) ) ENGINE=InnoDB AUTO_INCREMENT=117 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `persone_audit` -- DROP TABLE IF EXISTS `persone_audit`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `persone_audit` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `persona_id` bigint(20) unsigned NOT NULL, `campo_modificato` varchar(100) NOT NULL, `valore_precedente` text DEFAULT NULL, `valore_nuovo` text DEFAULT NULL, `utente_modifica` varchar(100) NOT NULL, `ip_modifica` varchar(45) DEFAULT NULL, `data_modifica` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `persone_audit_persona_id_data_modifica_index` (`persona_id`,`data_modifica`), CONSTRAINT `persone_audit_persona_id_foreign` FOREIGN KEY (`persona_id`) REFERENCES `persone` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `persone_email_multiple` -- DROP TABLE IF EXISTS `persone_email_multiple`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `persone_email_multiple` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `persona_id` bigint(20) unsigned NOT NULL, `email` varchar(255) NOT NULL, `tipo_email` varchar(50) NOT NULL DEFAULT 'secondaria', `attiva` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `persone_email_multiple_persona_id_attiva_index` (`persona_id`,`attiva`), CONSTRAINT `persone_email_multiple_persona_id_foreign` FOREIGN KEY (`persona_id`) REFERENCES `persone` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `persone_unita_relazioni` -- DROP TABLE IF EXISTS `persone_unita_relazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `persone_unita_relazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `persona_id` bigint(20) unsigned NOT NULL, `unita_id` bigint(20) unsigned NOT NULL, `tipo_relazione` varchar(50) NOT NULL, `ruolo_rate` varchar(1) DEFAULT NULL, `quota_relazione` decimal(5,2) DEFAULT NULL, `data_inizio` date NOT NULL, `data_fine` date DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `riceve_comunicazioni` tinyint(1) NOT NULL DEFAULT 1, `riceve_convocazioni` tinyint(1) NOT NULL DEFAULT 1, `vota_assemblea` tinyint(1) NOT NULL DEFAULT 1, `note_relazione` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `persone_unita_relazioni_persona_id_attivo_index` (`persona_id`,`attivo`), KEY `persone_unita_relazioni_unita_id_attivo_index` (`unita_id`,`attivo`), KEY `persone_unita_relazioni_tipo_relazione_index` (`tipo_relazione`), KEY `persone_unita_relazioni_ruolo_rate_attivo_index` (`ruolo_rate`,`attivo`), CONSTRAINT `persone_unita_relazioni_persona_id_foreign` FOREIGN KEY (`persona_id`) REFERENCES `persone` (`id`) ON DELETE CASCADE, CONSTRAINT `persone_unita_relazioni_unita_id_foreign` FOREIGN KEY (`unita_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=13564 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `phone_country_prefixes` -- DROP TABLE IF EXISTS `phone_country_prefixes`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `phone_country_prefixes` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `iso2` varchar(2) NOT NULL, `prefisso` varchar(10) NOT NULL, `paese` varchar(255) NOT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `phone_country_prefixes_iso2_unique` (`iso2`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `piani_conti_modello` -- DROP TABLE IF EXISTS `piani_conti_modello`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `piani_conti_modello` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(20) NOT NULL, `descrizione` varchar(255) NOT NULL, `tipo_conto` varchar(50) NOT NULL COMMENT 'Es. PATRIMONIALE_ATTIVITA, ECONOMICO_COSTO, FINANZIARIO_ATTIVITA', `natura_saldo_tipico` varchar(5) DEFAULT NULL COMMENT 'DARE o AVERE', `is_conto_finanziario` tinyint(1) NOT NULL DEFAULT 0, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `piani_conti_modello_codice_unique` (`codice`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `piano_conti` -- DROP TABLE IF EXISTS `piano_conti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `piano_conti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned DEFAULT NULL, `mastro` varchar(4) NOT NULL, `conto` varchar(8) NOT NULL, `sottoconto` varchar(5) NOT NULL, `quarto_livello` varchar(5) NOT NULL DEFAULT '', `tipologia` varchar(3) NOT NULL DEFAULT 'SPE', `denominazione` varchar(255) NOT NULL, `tipo` enum('ATTIVO','PASSIVO','RICAVO','COSTO','PATRIMONIO') NOT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `piano_conti_mastro_conto_sottoconto_unique` (`mastro`,`conto`,`sottoconto`), KEY `piano_conti_mastro_conto_index` (`mastro`,`conto`), KEY `piano_conti_mastro_index` (`mastro`), KEY `piano_conti_stabile_id_foreign` (`stabile_id`), KEY `pc_idx_all` (`mastro`,`conto`,`sottoconto`,`quarto_livello`), CONSTRAINT `piano_conti_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `piano_conti_condominio` -- DROP TABLE IF EXISTS `piano_conti_condominio`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `piano_conti_condominio` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `codice` varchar(20) NOT NULL, `descrizione` varchar(255) NOT NULL, `tipo_conto` varchar(20) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_conto_per_stabile` (`stabile_id`,`codice`), CONSTRAINT `piano_conti_condominio_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `piano_conti_saldi` -- DROP TABLE IF EXISTS `piano_conti_saldi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `piano_conti_saldi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `piano_conti_id` bigint(20) unsigned NOT NULL, `gestione_id` bigint(20) unsigned NOT NULL, `saldo_dare` decimal(15,2) NOT NULL DEFAULT 0.00, `saldo_avere` decimal(15,2) NOT NULL DEFAULT 0.00, `saldo_finale` decimal(15,2) NOT NULL DEFAULT 0.00, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `piano_conti_saldi_piano_conti_id_gestione_id_unique` (`piano_conti_id`,`gestione_id`), KEY `piano_conti_saldi_gestione_id_saldo_finale_index` (`gestione_id`,`saldo_finale`), CONSTRAINT `piano_conti_saldi_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni` (`id_gestione`) ON DELETE CASCADE, CONSTRAINT `piano_conti_saldi_piano_conti_id_foreign` FOREIGN KEY (`piano_conti_id`) REFERENCES `piano_conti` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `piano_rateizzazione` -- DROP TABLE IF EXISTS `piano_rateizzazione`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `piano_rateizzazione` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_piano` varchar(255) NOT NULL, `ripartizione_spese_id` bigint(20) unsigned DEFAULT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `descrizione` varchar(255) NOT NULL, `tipo_piano` varchar(255) NOT NULL DEFAULT 'standard', `importo_totale` decimal(10,2) NOT NULL, `numero_rate` int(11) NOT NULL, `data_prima_rata` date NOT NULL, `frequenza` varchar(255) NOT NULL DEFAULT 'mensile', `stato` varchar(255) NOT NULL DEFAULT 'attivo', `configurazione_rate` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`configurazione_rate`)), `note` text DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `attivato_at` timestamp NULL DEFAULT NULL, `attivato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `piano_rateizzazione_codice_piano_unique` (`codice_piano`), KEY `piano_rateizzazione_ripartizione_spese_id_foreign` (`ripartizione_spese_id`), KEY `piano_rateizzazione_stabile_id_foreign` (`stabile_id`), KEY `piano_rateizzazione_creato_da_foreign` (`creato_da`), KEY `piano_rateizzazione_attivato_da_foreign` (`attivato_da`), CONSTRAINT `piano_rateizzazione_attivato_da_foreign` FOREIGN KEY (`attivato_da`) REFERENCES `users` (`id`), CONSTRAINT `piano_rateizzazione_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`), CONSTRAINT `piano_rateizzazione_ripartizione_spese_id_foreign` FOREIGN KEY (`ripartizione_spese_id`) REFERENCES `ripartizione_spese` (`id`) ON DELETE CASCADE, CONSTRAINT `piano_rateizzazione_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `preventivi` -- DROP TABLE IF EXISTS `preventivi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `preventivi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno_gestione` smallint(5) unsigned NOT NULL, `tipo_gestione` varchar(32) NOT NULL, `descrizione` varchar(255) NOT NULL, `stato` varchar(32) NOT NULL DEFAULT 'bozza', `importo_totale` decimal(12,2) NOT NULL DEFAULT 0.00, `data_creazione` date DEFAULT NULL, `data_approvazione` date DEFAULT NULL, `approvato_da_user_id` bigint(20) unsigned DEFAULT NULL, `note` text DEFAULT NULL, `versione` int(10) unsigned NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `preventivi_approvato_da_user_id_foreign` (`approvato_da_user_id`), KEY `preventivi_stabile_id_anno_gestione_index` (`stabile_id`,`anno_gestione`), KEY `preventivi_stato_tipo_gestione_index` (`stato`,`tipo_gestione`), CONSTRAINT `preventivi_approvato_da_user_id_foreign` FOREIGN KEY (`approvato_da_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `preventivi_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `product_identifiers` -- DROP TABLE IF EXISTS `product_identifiers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `product_identifiers` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `product_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `code_type` varchar(32) NOT NULL, `code_role` varchar(32) DEFAULT NULL, `code_value` varchar(255) NOT NULL, `normalized_code` varchar(255) NOT NULL, `source` varchar(32) DEFAULT NULL, `source_reference` varchar(255) DEFAULT NULL, `is_primary` tinyint(1) NOT NULL DEFAULT 0, `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payload`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `product_identifiers_scope_unique` (`fornitore_id`,`code_type`,`normalized_code`), KEY `product_identifiers_product_id_foreign` (`product_id`), KEY `product_identifiers_code_type_index` (`code_type`), KEY `product_identifiers_code_role_index` (`code_role`), KEY `product_identifiers_normalized_code_index` (`normalized_code`), KEY `product_identifiers_source_index` (`source`), CONSTRAINT `product_identifiers_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `product_identifiers_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `product_media` -- DROP TABLE IF EXISTS `product_media`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `product_media` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `product_id` bigint(20) unsigned NOT NULL, `media_type` varchar(24) NOT NULL DEFAULT 'image', `disk` varchar(32) NOT NULL DEFAULT 'local', `path` varchar(255) NOT NULL, `title` varchar(255) DEFAULT NULL, `mime_type` varchar(120) DEFAULT NULL, `size_bytes` bigint(20) unsigned DEFAULT NULL, `sort_order` int(10) unsigned NOT NULL DEFAULT 0, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `product_media_lookup_idx` (`product_id`,`media_type`,`sort_order`), KEY `product_media_media_type_index` (`media_type`), CONSTRAINT `product_media_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `product_offers` -- DROP TABLE IF EXISTS `product_offers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `product_offers` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `product_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `offer_key` varchar(255) NOT NULL, `source_type` varchar(32) NOT NULL, `source_name` varchar(64) DEFAULT NULL, `external_product_id` varchar(255) DEFAULT NULL, `external_sku` varchar(255) DEFAULT NULL, `title` varchar(255) DEFAULT NULL, `condition_label` varchar(32) DEFAULT NULL, `currency` varchar(8) NOT NULL DEFAULT 'EUR', `price_amount` decimal(12,2) DEFAULT NULL, `price_compare_at` decimal(12,2) DEFAULT NULL, `shipping_amount` decimal(12,2) DEFAULT NULL, `availability` varchar(64) DEFAULT NULL, `stock_qty` int(11) DEFAULT NULL, `external_url` text DEFAULT NULL, `referral_url` text DEFAULT NULL, `referral_code` varchar(64) DEFAULT NULL, `is_active` tinyint(1) NOT NULL DEFAULT 1, `is_internal` tinyint(1) NOT NULL DEFAULT 0, `last_seen_at` timestamp NULL DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `product_offers_offer_key_unique` (`offer_key`), KEY `product_offers_fornitore_id_foreign` (`fornitore_id`), KEY `product_offers_lookup_idx` (`product_id`,`is_active`,`price_amount`), KEY `product_offers_source_idx` (`source_type`,`fornitore_id`,`is_active`), KEY `product_offers_source_type_index` (`source_type`), KEY `product_offers_source_name_index` (`source_name`), KEY `product_offers_external_product_id_index` (`external_product_id`), KEY `product_offers_external_sku_index` (`external_sku`), CONSTRAINT `product_offers_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `product_offers_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=403 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `product_serials` -- DROP TABLE IF EXISTS `product_serials`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `product_serials` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `product_id` bigint(20) unsigned DEFAULT NULL, `legacy_scheda_id` bigint(20) unsigned DEFAULT NULL, `customer_name` varchar(255) DEFAULT NULL, `product_model` varchar(255) DEFAULT NULL, `product_code` varchar(255) DEFAULT NULL, `serial_number` varchar(255) DEFAULT NULL, `serial_number_2` varchar(255) DEFAULT NULL, `date_received` datetime DEFAULT NULL, `date_resold` datetime DEFAULT NULL, `purchase_date` datetime DEFAULT NULL, `purchase_price` decimal(12,2) DEFAULT NULL, `purchase_currency` varchar(3) DEFAULT NULL, `purchase_tax_rate` decimal(6,2) DEFAULT NULL, `purchase_invoice_ref` varchar(255) DEFAULT NULL, `purchase_invoice_line` int(10) unsigned DEFAULT NULL, `internal_notes` text DEFAULT NULL, `source` varchar(255) DEFAULT NULL, `source_reference` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `product_serials_legacy_scheda_unique` (`legacy_scheda_id`), KEY `product_serials_vendor_serial_idx` (`fornitore_id`,`serial_number`), KEY `product_serials_product_serial_idx` (`product_id`,`serial_number`), CONSTRAINT `product_serials_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `product_serials_legacy_scheda_id_foreign` FOREIGN KEY (`legacy_scheda_id`) REFERENCES `assistenza_tecnorepair_schede_legacy` (`id`) ON DELETE SET NULL, CONSTRAINT `product_serials_product_id_foreign` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `products` -- DROP TABLE IF EXISTS `products`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `products` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `default_fornitore_id` bigint(20) unsigned DEFAULT NULL, `type` varchar(24) NOT NULL DEFAULT 'product', `internal_code` varchar(255) DEFAULT NULL, `canonical_key` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `brand` varchar(255) DEFAULT NULL, `model` varchar(255) DEFAULT NULL, `variant_group` varchar(255) DEFAULT NULL, `variant_label` varchar(255) DEFAULT NULL, `color_label` varchar(255) DEFAULT NULL, `unit_measure` varchar(24) DEFAULT NULL, `description` text DEFAULT NULL, `track_serials` tinyint(1) NOT NULL DEFAULT 0, `is_active` tinyint(1) NOT NULL DEFAULT 1, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `products_canonical_key_unique` (`canonical_key`), UNIQUE KEY `products_internal_code_unique` (`internal_code`), KEY `products_supplier_active_idx` (`default_fornitore_id`,`is_active`), KEY `products_type_index` (`type`), KEY `products_brand_index` (`brand`), KEY `products_model_index` (`model`), CONSTRAINT `products_default_fornitore_id_foreign` FOREIGN KEY (`default_fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=398 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `program_acl_rules` -- DROP TABLE IF EXISTS `program_acl_rules`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `program_acl_rules` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `scope_type` varchar(16) NOT NULL, `scope_key` varchar(191) NOT NULL, `program_key` varchar(191) NOT NULL, `is_allowed` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `program_acl_rules_unique` (`scope_type`,`scope_key`,`program_key`), KEY `program_acl_rules_scope_type_index` (`scope_type`), KEY `program_acl_rules_scope_key_index` (`scope_key`), KEY `program_acl_rules_program_key_index` (`program_key`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `proprieta` -- DROP TABLE IF EXISTS `proprieta`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `proprieta` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `anagrafica_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `tipo_diritto` varchar(50) DEFAULT NULL, `percentuale_possesso` decimal(7,4) DEFAULT NULL, `percentuale_detrazione` decimal(7,4) DEFAULT NULL, `data_inizio` date DEFAULT NULL, `data_fine` date DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_proprieta_per_unita_soggetto` (`anagrafica_id`,`unita_immobiliare_id`,`tipo_diritto`), KEY `proprieta_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), CONSTRAINT `proprieta_soggetto_id_foreign` FOREIGN KEY (`anagrafica_id`) REFERENCES `anagrafiche` (`id`) ON DELETE CASCADE, CONSTRAINT `proprieta_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1652 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rappresentanti_legali` -- DROP TABLE IF EXISTS `rappresentanti_legali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rappresentanti_legali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `societa_id` bigint(20) unsigned NOT NULL, `rappresentante_id` bigint(20) unsigned NOT NULL, `tipo_rappresentanza` varchar(50) NOT NULL, `data_inizio` date NOT NULL, `data_fine` date DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `rappresentanti_legali_societa_id_foreign` (`societa_id`), KEY `rappresentanti_legali_rappresentante_id_foreign` (`rappresentante_id`), CONSTRAINT `rappresentanti_legali_rappresentante_id_foreign` FOREIGN KEY (`rappresentante_id`) REFERENCES `persone` (`id`) ON DELETE CASCADE, CONSTRAINT `rappresentanti_legali_societa_id_foreign` FOREIGN KEY (`societa_id`) REFERENCES `persone` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rate` -- DROP TABLE IF EXISTS `rate`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rate` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_rata` varchar(255) NOT NULL, `piano_rateizzazione_id` bigint(20) unsigned NOT NULL, `ripartizione_spese_id` bigint(20) unsigned NOT NULL, `numero_rata` int(11) NOT NULL, `importo_rata` decimal(10,2) NOT NULL, `data_scadenza` date NOT NULL, `stato` varchar(255) NOT NULL DEFAULT 'attiva', `data_pagamento` date DEFAULT NULL, `importo_pagato` decimal(10,2) DEFAULT NULL, `modalita_pagamento` varchar(255) DEFAULT NULL, `riferimento_pagamento` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `registrato_da` bigint(20) unsigned DEFAULT NULL, `registrato_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, `importo` decimal(10,2) GENERATED ALWAYS AS (`importo_rata`) VIRTUAL, PRIMARY KEY (`id`), UNIQUE KEY `rate_codice_rata_unique` (`codice_rata`), KEY `rate_piano_rateizzazione_id_foreign` (`piano_rateizzazione_id`), KEY `rate_ripartizione_spese_id_foreign` (`ripartizione_spese_id`), KEY `rate_registrato_da_foreign` (`registrato_da`), CONSTRAINT `rate_piano_rateizzazione_id_foreign` FOREIGN KEY (`piano_rateizzazione_id`) REFERENCES `piano_rateizzazione` (`id`) ON DELETE CASCADE, CONSTRAINT `rate_registrato_da_foreign` FOREIGN KEY (`registrato_da`) REFERENCES `users` (`id`), CONSTRAINT `rate_ripartizione_spese_id_foreign` FOREIGN KEY (`ripartizione_spese_id`) REFERENCES `ripartizione_spese` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rate_emesse` -- DROP TABLE IF EXISTS `rate_emesse`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rate_emesse` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `piano_rateizzazione_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `soggetto_responsabile_id` bigint(20) unsigned NOT NULL, `numero_rata_progressivo` int(11) NOT NULL, `descrizione` text DEFAULT NULL, `importo_originario_unita` decimal(15,2) NOT NULL, `percentuale_addebito_soggetto` decimal(7,4) NOT NULL DEFAULT 100.0000, `importo_addebitato_soggetto` decimal(15,2) NOT NULL, `data_emissione` date NOT NULL, `data_scadenza` date NOT NULL, `stato_rata` varchar(50) NOT NULL DEFAULT 'EMESSA', `data_ultimo_pagamento` date DEFAULT NULL, `importo_pagato` decimal(15,2) NOT NULL DEFAULT 0.00, `note` text DEFAULT NULL, `transazione_contabile_emissione_id` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_rata_per_soggetto_unita` (`piano_rateizzazione_id`,`unita_immobiliare_id`,`soggetto_responsabile_id`,`numero_rata_progressivo`), KEY `rate_emesse_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `rate_emesse_soggetto_responsabile_id_foreign` (`soggetto_responsabile_id`), CONSTRAINT `rate_emesse_soggetto_responsabile_id_foreign` FOREIGN KEY (`soggetto_responsabile_id`) REFERENCES `anagrafiche` (`id`), CONSTRAINT `rate_emesse_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=62903 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rate_lavori_straord` -- DROP TABLE IF EXISTS `rate_lavori_straord`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rate_lavori_straord` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `lavoro_straordinario_id` bigint(20) unsigned NOT NULL, `progressivo` smallint(5) unsigned NOT NULL, `scadenza_prevista` date DEFAULT NULL, `importo_previsto` decimal(15,4) DEFAULT NULL, `importo_consuntivo` decimal(15,4) DEFAULT NULL, `emessa` tinyint(1) NOT NULL DEFAULT 0, `incassata` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_rate_lavoro_prog` (`lavoro_straordinario_id`,`progressivo`), CONSTRAINT `rate_lavori_straord_lavoro_straordinario_id_foreign` FOREIGN KEY (`lavoro_straordinario_id`) REFERENCES `lavori_straordinari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rate_scadenze_preventivo` -- DROP TABLE IF EXISTS `rate_scadenze_preventivo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rate_scadenze_preventivo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `anno` varchar(4) NOT NULL, `num_rata` int(11) DEFAULT NULL, `tipo_gestione` varchar(50) DEFAULT NULL, `data_scadenza` date DEFAULT NULL, `importo` decimal(12,2) NOT NULL DEFAULT 0.00, `cod_cond` varchar(50) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_rate_scad_prev_unita` (`unita_immobiliare_id`,`anno`), CONSTRAINT `rate_scadenze_preventivo_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=26597 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `regimi_fiscali` -- DROP TABLE IF EXISTS `regimi_fiscali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `regimi_fiscali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(20) NOT NULL, `descrizione` varchar(255) NOT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `regimi_fiscali_codice_unique` (`codice`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `registro_ritenute_acconto` -- DROP TABLE IF EXISTS `registro_ritenute_acconto`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `registro_ritenute_acconto` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `gestione_id` bigint(20) unsigned NOT NULL, `numero_progressivo` int(11) NOT NULL COMMENT 'Numero progressivo annuale', `data_competenza` date NOT NULL COMMENT 'Data competenza ritenuta', `data_pagamento_fattura` date DEFAULT NULL COMMENT 'Data pagamento fattura (base per scadenza 16 mese successivo)', `fornitore_id` bigint(20) unsigned NOT NULL, `operazione_id` bigint(20) unsigned DEFAULT NULL, `fattura_id` bigint(20) unsigned DEFAULT NULL COMMENT 'Collegamento fattura se presente', `imponibile` decimal(15,4) NOT NULL COMMENT 'Imponibile soggetto a ritenuta', `aliquota_ritenuta` decimal(5,2) NOT NULL COMMENT 'Aliquota ritenuta (es: 20.00)', `importo_ritenuta` decimal(15,4) NOT NULL COMMENT 'Importo ritenuta calcolato', `codice_tributo` varchar(10) NOT NULL DEFAULT '1040' COMMENT 'Codice tributo F24', `tipo_ritenuta` varchar(20) NOT NULL DEFAULT 'professionale' COMMENT 'professionale, dipendente, altro', `rif_rda` varchar(50) DEFAULT NULL COMMENT 'Riferimento originale Gescon', `stato_versamento` enum('da_versare','versata','compensata','annullata') NOT NULL DEFAULT 'da_versare', `data_scadenza_versamento` date DEFAULT NULL COMMENT 'Scadenza versamento (16 del mese successivo)', `data_versamento` date DEFAULT NULL COMMENT 'Data effettiva versamento', `f24_riferimento` varchar(100) DEFAULT NULL COMMENT 'Riferimento F24 versamento', `importo_versato` decimal(15,4) DEFAULT NULL COMMENT 'Importo effettivamente versato', `sanzioni` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Sanzioni per ritardato versamento', `interessi` decimal(15,4) NOT NULL DEFAULT 0.0000 COMMENT 'Interessi per ritardato versamento', `comunicazione_fornitore_inviata` tinyint(1) NOT NULL DEFAULT 0, `data_comunicazione_fornitore` date DEFAULT NULL, `modalita_comunicazione` varchar(50) DEFAULT NULL COMMENT 'email, pec, cartaceo', `note_comunicazione` text DEFAULT NULL, `inclusa_770` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Inclusa in dichiarazione 770', `inclusa_cu` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'Inclusa in Certificazione Unica', `anno_dichiarazione` int(11) DEFAULT NULL COMMENT 'Anno dichiarazione fiscale', `metadati_gescon` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Dati originali Gescon' CHECK (json_valid(`metadati_gescon`)), `dettagli_versamento` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Dettagli versamento F24' CHECK (json_valid(`dettagli_versamento`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `registro_ritenute_acconto_gestione_id_numero_progressivo_unique` (`gestione_id`,`numero_progressivo`), KEY `registro_ritenute_acconto_operazione_id_foreign` (`operazione_id`), KEY `registro_ritenute_acconto_gestione_id_numero_progressivo_index` (`gestione_id`,`numero_progressivo`), KEY `registro_ritenute_acconto_fornitore_id_data_competenza_index` (`fornitore_id`,`data_competenza`), KEY `idx_rda_stato_scadenza` (`stato_versamento`,`data_scadenza_versamento`), KEY `registro_ritenute_acconto_data_versamento_index` (`data_versamento`), KEY `registro_ritenute_acconto_tenant_id_anno_dichiarazione_index` (`tenant_id`,`anno_dichiarazione`), CONSTRAINT `registro_ritenute_acconto_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`), CONSTRAINT `registro_ritenute_acconto_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`), CONSTRAINT `registro_ritenute_acconto_operazione_id_foreign` FOREIGN KEY (`operazione_id`) REFERENCES `operazioni_contabili` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `revisione_precedenti_amministratori` -- DROP TABLE IF EXISTS `revisione_precedenti_amministratori`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `revisione_precedenti_amministratori` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `rubrica_id` bigint(20) unsigned DEFAULT NULL, `precedente_amministratore` varchar(255) NOT NULL, `gestionale` varchar(255) DEFAULT NULL, `passaggio_consegne_path` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_revpa_stabile` (`stabile_id`), KEY `idx_revpa_prevamm` (`precedente_amministratore`), KEY `idx_revpa_gestionale` (`gestionale`), KEY `revisione_precedenti_amministratori_creato_da_foreign` (`creato_da`), KEY `revisione_precedenti_amministratori_modificato_da_foreign` (`modificato_da`), KEY `idx_revpa_rubrica` (`rubrica_id`), CONSTRAINT `revisione_precedenti_amministratori_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `revisione_precedenti_amministratori_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `revisione_precedenti_amministratori_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL, CONSTRAINT `revisione_precedenti_amministratori_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `revisione_precedenti_movimenti_banca` -- DROP TABLE IF EXISTS `revisione_precedenti_movimenti_banca`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `revisione_precedenti_movimenti_banca` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `revisione_precedente_amministratore_id` bigint(20) unsigned NOT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `data` date DEFAULT NULL, `numero` varchar(50) DEFAULT NULL, `tipo_riga` varchar(50) DEFAULT NULL, `descrizione` text DEFAULT NULL, `descrizione_estesa` text DEFAULT NULL, `importo` decimal(12,2) DEFAULT NULL, `saldo` decimal(12,2) DEFAULT NULL, `source_file` varchar(255) DEFAULT NULL, `raw_line` text DEFAULT NULL, `row_hash` varchar(64) DEFAULT NULL, `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payload`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `rev_prev_mov_banca_admin_idx` (`revisione_precedente_amministratore_id`), KEY `rev_prev_mov_banca_rev_data_idx` (`revisione_precedente_amministratore_id`,`data`), KEY `revisione_precedenti_movimenti_banca_stabile_id_index` (`stabile_id`), KEY `revisione_precedenti_movimenti_banca_data_index` (`data`), KEY `revisione_precedenti_movimenti_banca_numero_index` (`numero`), KEY `revisione_precedenti_movimenti_banca_row_hash_index` (`row_hash`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ripartizione_presets` -- DROP TABLE IF EXISTS `ripartizione_presets`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ripartizione_presets` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `nome` varchar(150) NOT NULL, `dati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ripartizione_presets_stabile_id_nome_index` (`stabile_id`,`nome`), CONSTRAINT `ripartizione_presets_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ripartizione_spese` -- DROP TABLE IF EXISTS `ripartizione_spese`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ripartizione_spese` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_ripartizione` varchar(255) NOT NULL, `voce_spesa_id` bigint(20) unsigned NOT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `tabella_millesimale_id` bigint(20) unsigned NOT NULL, `importo_totale` decimal(10,2) NOT NULL, `importo_ripartito` decimal(10,2) NOT NULL DEFAULT 0.00, `tipo_ripartizione` varchar(255) NOT NULL DEFAULT 'millesimale', `data_ripartizione` date NOT NULL, `stato` varchar(255) NOT NULL DEFAULT 'bozza', `note` text DEFAULT NULL, `configurazione_ripartizione` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`configurazione_ripartizione`)), `creato_da` bigint(20) unsigned NOT NULL, `approvato_at` timestamp NULL DEFAULT NULL, `approvato_da` bigint(20) unsigned DEFAULT NULL, `contabilizzato_at` timestamp NULL DEFAULT NULL, `contabilizzato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `ripartizione_spese_codice_ripartizione_unique` (`codice_ripartizione`), KEY `ripartizione_spese_voce_spesa_id_foreign` (`voce_spesa_id`), KEY `ripartizione_spese_stabile_id_foreign` (`stabile_id`), KEY `ripartizione_spese_creato_da_foreign` (`creato_da`), KEY `ripartizione_spese_tabella_millesimale_id_foreign` (`tabella_millesimale_id`), KEY `ripartizione_spese_approvato_da_foreign` (`approvato_da`), KEY `ripartizione_spese_contabilizzato_da_foreign` (`contabilizzato_da`), CONSTRAINT `ripartizione_spese_approvato_da_foreign` FOREIGN KEY (`approvato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ripartizione_spese_contabilizzato_da_foreign` FOREIGN KEY (`contabilizzato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ripartizione_spese_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`), CONSTRAINT `ripartizione_spese_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `ripartizione_spese_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE, CONSTRAINT `ripartizione_spese_voce_spesa_id_foreign` FOREIGN KEY (`voce_spesa_id`) REFERENCES `voci_spesa` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ripartizione_spese_inquilini` -- DROP TABLE IF EXISTS `ripartizione_spese_inquilini`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ripartizione_spese_inquilini` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `categoria` varchar(50) NOT NULL COMMENT 'Categoria spesa (AMMINISTRATIVE, ASCENSORE, etc.)', `descrizione` text NOT NULL COMMENT 'Descrizione della spesa', `percentuale_locatore` decimal(5,2) NOT NULL COMMENT 'Percentuale a carico del proprietario', `percentuale_conduttore` decimal(5,2) NOT NULL COMMENT 'Percentuale a carico dell''inquilino', `attivo` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Se la regola è attiva', `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ripartizione_spese_inquilini_categoria_attivo_index` (`categoria`,`attivo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ripartizioni_preventivo` -- DROP TABLE IF EXISTS `ripartizioni_preventivo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ripartizioni_preventivo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `voce_preventivo_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `quota_calcolata` decimal(12,2) DEFAULT NULL, `quota_modificata` decimal(12,2) DEFAULT NULL, `quota_finale` decimal(12,2) DEFAULT NULL, `versione` int(10) unsigned NOT NULL DEFAULT 1, `modificato_da_user_id` bigint(20) unsigned DEFAULT NULL, `motivo_modifica` text DEFAULT NULL, `data_modifica` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uq_rip_prev_voce_unita` (`voce_preventivo_id`,`unita_immobiliare_id`), KEY `ripartizioni_preventivo_modificato_da_user_id_foreign` (`modificato_da_user_id`), CONSTRAINT `ripartizioni_preventivo_modificato_da_user_id_foreign` FOREIGN KEY (`modificato_da_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ripartizioni_preventivo_voce_preventivo_id_foreign` FOREIGN KEY (`voce_preventivo_id`) REFERENCES `voci_preventivo` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ripartizioni_spese` -- DROP TABLE IF EXISTS `ripartizioni_spese`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ripartizioni_spese` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `voce_spesa_id` bigint(20) unsigned NOT NULL, `gestione_id` bigint(20) unsigned NOT NULL, `importo_spettante` decimal(10,2) NOT NULL, `millesimi_applicati` decimal(10,3) NOT NULL, `tipo_calcolo` enum('PREVENTIVO','CONSUNTIVO') NOT NULL, `anno_competenza` year(4) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ripartizioni_spese_voce_spesa_id_foreign` (`voce_spesa_id`), KEY `ripartizioni_spese_unita_immobiliare_id_anno_competenza_index` (`unita_immobiliare_id`,`anno_competenza`), KEY `rip_spese_gest_anno_tipo_idx` (`gestione_id`,`anno_competenza`,`tipo_calcolo`), CONSTRAINT `ripartizioni_spese_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_condominiali` (`id`) ON DELETE CASCADE, CONSTRAINT `ripartizioni_spese_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE, CONSTRAINT `ripartizioni_spese_voce_spesa_id_foreign` FOREIGN KEY (`voce_spesa_id`) REFERENCES `voci_spesa_millesimali` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `role_has_permissions` -- DROP TABLE IF EXISTS `role_has_permissions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `role_has_permissions` ( `permission_id` bigint(20) unsigned NOT NULL, `role_id` bigint(20) unsigned NOT NULL, PRIMARY KEY (`permission_id`,`role_id`), KEY `role_has_permissions_role_id_foreign` (`role_id`), CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE, CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `roles` -- DROP TABLE IF EXISTS `roles`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `roles` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `guard_name` varchar(255) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rubrica_contatti_canali` -- DROP TABLE IF EXISTS `rubrica_contatti_canali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rubrica_contatti_canali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `rubrica_id` bigint(20) unsigned NOT NULL, `tipo` enum('email','pec','telefono','cellulare','fax','whatsapp','telegram','altro') NOT NULL DEFAULT 'email', `etichetta` varchar(255) DEFAULT NULL, `valore` varchar(255) NOT NULL, `is_principale` tinyint(1) NOT NULL DEFAULT 0, `stabile_id` bigint(20) unsigned DEFAULT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `data_inizio` date DEFAULT NULL, `data_fine` date DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `rubrica_canale_unico` (`rubrica_id`,`tipo`,`valore`,`stabile_id`,`unita_immobiliare_id`), KEY `rubrica_contatti_canali_rubrica_id_tipo_index` (`rubrica_id`,`tipo`), KEY `rubrica_contatti_canali_stabile_id_index` (`stabile_id`), KEY `rubrica_contatti_canali_unita_immobiliare_id_index` (`unita_immobiliare_id`), KEY `rubrica_contatti_canali_is_principale_index` (`is_principale`), CONSTRAINT `rubrica_contatti_canali_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE CASCADE, CONSTRAINT `rubrica_contatti_canali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `rubrica_contatti_canali_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=4299 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rubrica_ruoli` -- DROP TABLE IF EXISTS `rubrica_ruoli`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rubrica_ruoli` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `rubrica_id` bigint(20) unsigned NOT NULL, `ruolo_standard` enum('super_admin','amministratore','condomino','inquilino','fornitore','manutentore','banca','assicurazione','collaboratore','tester','ospite','altro') NOT NULL DEFAULT 'altro', `ruolo_custom` varchar(255) DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `data_inizio` date DEFAULT NULL, `data_fine` date DEFAULT NULL, `legacy_anno_dir` varchar(10) DEFAULT NULL, `legacy_anno_o` int(11) DEFAULT NULL, `is_preferito` tinyint(1) NOT NULL DEFAULT 0, `is_attivo` tinyint(1) NOT NULL DEFAULT 1, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `rubrica_ruoli_rubrica_id_ruolo_standard_index` (`rubrica_id`,`ruolo_standard`), KEY `rubrica_ruoli_stabile_id_index` (`stabile_id`), KEY `rubrica_ruoli_unita_immobiliare_id_index` (`unita_immobiliare_id`), KEY `rubrica_ruoli_is_attivo_index` (`is_attivo`), KEY `rruoli_stab_unita_anno_idx` (`stabile_id`,`unita_immobiliare_id`,`legacy_anno_o`), CONSTRAINT `rubrica_ruoli_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE CASCADE, CONSTRAINT `rubrica_ruoli_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `rubrica_ruoli_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=2286 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `rubrica_universale` -- DROP TABLE IF EXISTS `rubrica_universale`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `rubrica_universale` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned DEFAULT NULL, `titolo_id` bigint(20) unsigned DEFAULT NULL, `nome` varchar(255) DEFAULT NULL, `cognome` varchar(255) DEFAULT NULL, `ragione_sociale` varchar(255) DEFAULT NULL, `codice_univoco` varchar(8) DEFAULT NULL, `tipo_contatto` enum('persona_fisica','persona_giuridica') NOT NULL DEFAULT 'persona_fisica', `codice_fiscale` varchar(16) DEFAULT NULL, `partita_iva` varchar(11) DEFAULT NULL, `sesso` varchar(1) DEFAULT NULL, `data_nascita` date DEFAULT NULL, `luogo_nascita` varchar(100) DEFAULT NULL, `provincia_nascita` varchar(2) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `civico` varchar(10) DEFAULT NULL, `cap` varchar(5) DEFAULT NULL, `citta` varchar(100) DEFAULT NULL, `provincia` varchar(2) DEFAULT NULL, `nazione` varchar(50) NOT NULL DEFAULT 'Italia', `telefono_ufficio` varchar(20) DEFAULT NULL, `telefono_cellulare` varchar(20) DEFAULT NULL, `prefisso_cellulare` varchar(8) DEFAULT '+39', `telefono_cellulare_nazionale` varchar(24) DEFAULT NULL, `telefono_casa` varchar(20) DEFAULT NULL, `fax` varchar(20) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `pec` varchar(255) DEFAULT NULL, `sito_web` varchar(255) DEFAULT NULL, `google_person_resource_name` varchar(255) DEFAULT NULL, `note` text DEFAULT NULL, `note_segreteria` text DEFAULT NULL, `categoria` enum('banca','fornitore','assicurazione','cliente','condomino','altro') NOT NULL DEFAULT 'altro', `tipo_utenza_call` varchar(50) DEFAULT NULL, `riferimento_stabile` varchar(255) DEFAULT NULL, `riferimento_unita` varchar(255) DEFAULT NULL, `stato` enum('attivo','sospeso','inattivo') NOT NULL DEFAULT 'attivo', `data_inserimento` date DEFAULT NULL, `data_ultima_modifica` date DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `rubrica_universale_codice_univoco_unique` (`codice_univoco`), KEY `rubrica_universale_tipo_contatto_index` (`tipo_contatto`), KEY `rubrica_universale_categoria_index` (`categoria`), KEY `rubrica_universale_stato_index` (`stato`), KEY `rubrica_universale_codice_fiscale_index` (`codice_fiscale`), KEY `rubrica_universale_partita_iva_index` (`partita_iva`), KEY `rubrica_universale_email_index` (`email`), KEY `rubrica_universale_creato_da_foreign` (`creato_da`), KEY `rubrica_universale_modificato_da_foreign` (`modificato_da`), KEY `rubrica_universale_amministratore_id_ragione_sociale_index` (`amministratore_id`,`ragione_sociale`), KEY `rubrica_universale_amministratore_id_partita_iva_index` (`amministratore_id`,`partita_iva`), KEY `rubrica_universale_amministratore_id_codice_fiscale_index` (`amministratore_id`,`codice_fiscale`), KEY `rubrica_universale_titolo_id_index` (`titolo_id`), KEY `ru_google_person_resource_name_idx` (`google_person_resource_name`), CONSTRAINT `rubrica_universale_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE SET NULL, CONSTRAINT `rubrica_universale_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `rubrica_universale_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=1750 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`netgescon_user`@`localhost`*/ /*!50003 TRIGGER trg_rubrica_universale_codice_univoco BEFORE INSERT ON rubrica_universale FOR EACH ROW BEGIN IF NEW.codice_univoco IS NULL OR NEW.codice_univoco = '' THEN CALL sp_next_codice_univoco('RUBRICA', @generated_code); SET NEW.codice_univoco = @generated_code; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `scadenze` -- DROP TABLE IF EXISTS `scadenze`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `scadenze` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `legacy_id` int(10) unsigned DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `stabile_contratto_id` bigint(20) unsigned DEFAULT NULL, `codice_stabile_legacy` varchar(20) DEFAULT NULL, `descrizione_sintetica` varchar(255) DEFAULT NULL, `data_scadenza` date DEFAULT NULL, `ora_scadenza` time DEFAULT NULL, `natura` varchar(20) DEFAULT NULL, `natura_label` varchar(120) DEFAULT NULL, `gestione_tipo` varchar(20) DEFAULT NULL, `num_assemblea` int(10) unsigned DEFAULT NULL, `numero_straordinaria` int(10) unsigned DEFAULT NULL, `anno` varchar(20) DEFAULT NULL, `rata` int(10) unsigned DEFAULT NULL, `fatto` varchar(20) DEFAULT NULL, `tipo_riga` varchar(60) DEFAULT NULL, `rif_f24` bigint(20) unsigned DEFAULT NULL, `importo_f24` decimal(12,2) DEFAULT NULL, `richiede_pop_up` tinyint(1) NOT NULL DEFAULT 0, `giorni_anticipo` int(10) unsigned DEFAULT NULL, `popup_dal` date DEFAULT NULL, `calendar_event_id` varchar(255) DEFAULT NULL, `calendar_synced_at` timestamp NULL DEFAULT NULL, `legacy_payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`legacy_payload`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `scadenze_legacy_id_unique` (`legacy_id`), KEY `scadenze_stabile_id_foreign` (`stabile_id`), KEY `scadenze_codice_stabile_legacy_index` (`codice_stabile_legacy`), KEY `scadenze_data_scadenza_index` (`data_scadenza`), KEY `scadenze_natura_index` (`natura`), KEY `scadenze_calendar_event_id_index` (`calendar_event_id`), KEY `scadenze_stabile_contratto_id_foreign` (`stabile_contratto_id`), CONSTRAINT `scadenze_stabile_contratto_id_foreign` FOREIGN KEY (`stabile_contratto_id`) REFERENCES `stabile_contratti` (`id`) ON DELETE SET NULL, CONSTRAINT `scadenze_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=394 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `sessions` -- DROP TABLE IF EXISTS `sessions`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `sessions` ( `id` varchar(255) NOT NULL, `user_id` bigint(20) unsigned DEFAULT NULL, `ip_address` varchar(45) DEFAULT NULL, `user_agent` text DEFAULT NULL, `payload` longtext NOT NULL, `last_activity` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `sessions_user_id_index` (`user_id`), KEY `sessions_last_activity_index` (`last_activity`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `soggetti_riferimenti_bancari` -- DROP TABLE IF EXISTS `soggetti_riferimenti_bancari`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `soggetti_riferimenti_bancari` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `soggetto_id` bigint(20) unsigned NOT NULL, `legacy_cond_id` varchar(50) DEFAULT NULL, `unita_id` bigint(20) unsigned DEFAULT NULL, `ordinante_nome` varchar(255) DEFAULT NULL, `ordinante_iban` varchar(34) DEFAULT NULL, `banca_ordinante` varchar(255) DEFAULT NULL, `bic_swift` varchar(11) DEFAULT NULL, `cro` varchar(80) DEFAULT NULL, `bank_reference_fingerprint` varchar(64) DEFAULT NULL, `ultimo_movimento_banca_id` bigint(20) unsigned DEFAULT NULL, `ultimo_movimento_data` date DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `srb_stabile_soggetto_idx` (`stabile_id`,`soggetto_id`), KEY `srb_stabile_legacy_idx` (`stabile_id`,`legacy_cond_id`), KEY `soggetti_riferimenti_bancari_stabile_id_index` (`stabile_id`), KEY `soggetti_riferimenti_bancari_soggetto_id_index` (`soggetto_id`), KEY `soggetti_riferimenti_bancari_legacy_cond_id_index` (`legacy_cond_id`), KEY `soggetti_riferimenti_bancari_unita_id_index` (`unita_id`), KEY `soggetti_riferimenti_bancari_ordinante_iban_index` (`ordinante_iban`), KEY `soggetti_riferimenti_bancari_bic_swift_index` (`bic_swift`), KEY `soggetti_riferimenti_bancari_bank_reference_fingerprint_index` (`bank_reference_fingerprint`), KEY `soggetti_riferimenti_bancari_ultimo_movimento_banca_id_index` (`ultimo_movimento_banca_id`), KEY `soggetti_riferimenti_bancari_ultimo_movimento_data_index` (`ultimo_movimento_data`), KEY `soggetti_riferimenti_bancari_attivo_index` (`attivo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stabile_amministratore_transfers` -- DROP TABLE IF EXISTS `stabile_amministratore_transfers`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stabile_amministratore_transfers` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `from_amministratore_id` bigint(20) unsigned DEFAULT NULL, `to_amministratore_id` bigint(20) unsigned NOT NULL, `changed_by_user_id` bigint(20) unsigned DEFAULT NULL, `changed_by_name` varchar(150) DEFAULT NULL, `source` varchar(50) NOT NULL DEFAULT 'portal-superadmin', `reason` text DEFAULT NULL, `also_rubrica` tinyint(1) NOT NULL DEFAULT 1, `ip_address` varchar(45) DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stabile_amministratore_transfers_from_amministratore_id_foreign` (`from_amministratore_id`), KEY `stabile_amministratore_transfers_changed_by_user_id_foreign` (`changed_by_user_id`), KEY `stabile_transfer_stabile_created_idx` (`stabile_id`,`created_at`), KEY `stabile_transfer_dest_created_idx` (`to_amministratore_id`,`created_at`), CONSTRAINT `stabile_amministratore_transfers_changed_by_user_id_foreign` FOREIGN KEY (`changed_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_amministratore_transfers_from_amministratore_id_foreign` FOREIGN KEY (`from_amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_amministratore_transfers_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `stabile_amministratore_transfers_to_amministratore_id_foreign` FOREIGN KEY (`to_amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stabile_contratti` -- DROP TABLE IF EXISTS `stabile_contratti`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stabile_contratti` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `documento_principale_id` bigint(20) unsigned DEFAULT NULL, `titolo` varchar(255) NOT NULL, `tipo_contratto` varchar(60) NOT NULL, `categoria_impianto` varchar(60) DEFAULT NULL, `servizio_label` varchar(255) DEFAULT NULL, `codice_contratto` varchar(80) DEFAULT NULL, `riferimento_esterno` varchar(120) DEFAULT NULL, `stato` varchar(30) NOT NULL DEFAULT 'attivo', `data_stipula` date DEFAULT NULL, `decorrenza_dal` date DEFAULT NULL, `decorrenza_al` date DEFAULT NULL, `frequenza_scadenze` varchar(30) DEFAULT NULL, `giorno_scadenza` tinyint(3) unsigned DEFAULT NULL, `giorni_preavviso` smallint(5) unsigned NOT NULL DEFAULT 30, `rinnovo_automatico` tinyint(1) NOT NULL DEFAULT 0, `importo_periodico` decimal(12,2) DEFAULT NULL, `valuta` varchar(8) NOT NULL DEFAULT 'EUR', `dati_contratto` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_contratto`)), `codici_collegati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`codici_collegati`)), `note` text DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stabile_contratti_stabile_id_foreign` (`stabile_id`), KEY `stabile_contratti_fornitore_id_foreign` (`fornitore_id`), KEY `stabile_contratti_documento_principale_id_foreign` (`documento_principale_id`), KEY `stabile_contratti_created_by_foreign` (`created_by`), KEY `stabile_contratti_updated_by_foreign` (`updated_by`), KEY `stabile_contratti_tipo_contratto_index` (`tipo_contratto`), KEY `stabile_contratti_categoria_impianto_index` (`categoria_impianto`), KEY `stabile_contratti_codice_contratto_index` (`codice_contratto`), KEY `stabile_contratti_stato_index` (`stato`), KEY `stabile_contratti_decorrenza_dal_index` (`decorrenza_dal`), KEY `stabile_contratti_decorrenza_al_index` (`decorrenza_al`), CONSTRAINT `stabile_contratti_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_contratti_documento_principale_id_foreign` FOREIGN KEY (`documento_principale_id`) REFERENCES `documenti` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_contratti_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_contratti_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `stabile_contratti_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stabile_servizi` -- DROP TABLE IF EXISTS `stabile_servizi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stabile_servizi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `tipo` varchar(50) NOT NULL, `nome` varchar(255) DEFAULT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `voce_spesa_id` bigint(20) unsigned DEFAULT NULL, `documento_collegato_id` bigint(20) unsigned DEFAULT NULL, `codice_utenza` varchar(255) DEFAULT NULL, `codice_cliente` varchar(255) DEFAULT NULL, `codice_contratto` varchar(255) DEFAULT NULL, `contatore_matricola` varchar(255) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stabile_servizi_stabile_id_tipo_index` (`stabile_id`,`tipo`), KEY `stabile_servizi_fornitore_id_index` (`fornitore_id`), KEY `stabile_servizi_voce_spesa_id_index` (`voce_spesa_id`), KEY `stabile_servizi_documento_collegato_id_index` (`documento_collegato_id`), KEY `stabile_servizi_contatore_matricola_index` (`contatore_matricola`), CONSTRAINT `stabile_servizi_documento_collegato_id_foreign` FOREIGN KEY (`documento_collegato_id`) REFERENCES `documenti_collegati` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_servizi_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_servizi_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `stabile_servizi_voce_spesa_id_foreign` FOREIGN KEY (`voce_spesa_id`) REFERENCES `voci_spesa` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stabile_servizio_letture` -- DROP TABLE IF EXISTS `stabile_servizio_letture`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stabile_servizio_letture` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `stabile_servizio_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `fattura_elettronica_id` bigint(20) unsigned DEFAULT NULL, `voce_spesa_id` bigint(20) unsigned DEFAULT NULL, `periodo_dal` date DEFAULT NULL, `periodo_al` date DEFAULT NULL, `tipologia_lettura` varchar(255) DEFAULT NULL, `canale_acquisizione` varchar(32) DEFAULT NULL, `riferimento_acquisizione` varchar(191) DEFAULT NULL, `workflow_stato` varchar(40) DEFAULT NULL, `protocollo_categoria` varchar(40) DEFAULT NULL, `protocollo_numero` varchar(50) DEFAULT NULL, `richiesta_lettura_inviata_at` datetime DEFAULT NULL, `prossima_lettura_scadenza_at` datetime DEFAULT NULL, `deadline_lettura_at` datetime DEFAULT NULL, `sollecito_inviato_at` datetime DEFAULT NULL, `rilevatore_tipo` varchar(40) DEFAULT NULL, `rilevatore_nome` varchar(255) DEFAULT NULL, `archivio_documentale_path` varchar(500) DEFAULT NULL, `archivio_documentale_sha256` varchar(64) DEFAULT NULL, `lettura_inizio` decimal(12,3) DEFAULT NULL, `lettura_precedente_valore` decimal(12,3) DEFAULT NULL, `lettura_fine` decimal(12,3) DEFAULT NULL, `lettura_foto_path` varchar(255) DEFAULT NULL, `lettura_foto_original_name` varchar(255) DEFAULT NULL, `lettura_foto_metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`lettura_foto_metadata`)), `lettura_precedente_foto_path` varchar(255) DEFAULT NULL, `lettura_ocr_valore` varchar(64) DEFAULT NULL, `lettura_ocr_confidenza` decimal(5,2) DEFAULT NULL, `consumo_valore` decimal(12,3) DEFAULT NULL, `consumo_unita` varchar(16) NOT NULL DEFAULT '', `importo_totale` decimal(12,2) DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stabile_servizio_letture_stabile_id_stabile_servizio_id_index` (`stabile_id`,`stabile_servizio_id`), KEY `stabile_servizio_letture_fornitore_id_index` (`fornitore_id`), KEY `stabile_servizio_letture_fattura_elettronica_id_index` (`fattura_elettronica_id`), KEY `stabile_servizio_letture_voce_spesa_id_index` (`voce_spesa_id`), KEY `stabile_servizio_letture_periodo_dal_periodo_al_index` (`periodo_dal`,`periodo_al`), KEY `stabile_servizio_letture_stabile_servizio_id_foreign` (`stabile_servizio_id`), KEY `stabile_servizio_letture_created_by_foreign` (`created_by`), KEY `ssletture_stabile_unita_idx` (`stabile_id`,`unita_immobiliare_id`), KEY `ssletture_unita_fk` (`unita_immobiliare_id`), KEY `ssletture_canale_idx` (`canale_acquisizione`), CONSTRAINT `ssletture_unita_fk` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_servizio_letture_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_servizio_letture_fattura_elettronica_id_foreign` FOREIGN KEY (`fattura_elettronica_id`) REFERENCES `fatture_elettroniche` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_servizio_letture_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_servizio_letture_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `stabile_servizio_letture_stabile_servizio_id_foreign` FOREIGN KEY (`stabile_servizio_id`) REFERENCES `stabile_servizi` (`id`) ON DELETE CASCADE, CONSTRAINT `stabile_servizio_letture_voce_spesa_id_foreign` FOREIGN KEY (`voce_spesa_id`) REFERENCES `voci_spesa` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stabile_servizio_tariffe` -- DROP TABLE IF EXISTS `stabile_servizio_tariffe`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stabile_servizio_tariffe` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `stabile_servizio_id` bigint(20) unsigned DEFAULT NULL, `fattura_elettronica_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `data_fattura` date DEFAULT NULL, `decorrenza_tariffe` date DEFAULT NULL, `profilo_tariffario` varchar(255) DEFAULT NULL, `delibera_ato` varchar(255) DEFAULT NULL, `delibera_arera` varchar(255) DEFAULT NULL, `codice_iva` varchar(10) DEFAULT NULL, `aliquota_iva_percentuale` decimal(6,2) DEFAULT NULL, `iva_descrizione` varchar(255) DEFAULT NULL, `tariffe_scaglioni` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`tariffe_scaglioni`)), `tariffe_componenti` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`tariffe_componenti`)), `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payload`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `stabile_servizio_tariffe_fattura_elettronica_id_unique` (`fattura_elettronica_id`), KEY `stabile_servizio_tariffe_stabile_id_stabile_servizio_id_index` (`stabile_id`,`stabile_servizio_id`), KEY `stabile_servizio_tariffe_fornitore_id_index` (`fornitore_id`), KEY `stabile_servizio_tariffe_decorrenza_tariffe_index` (`decorrenza_tariffe`), KEY `stabile_servizio_tariffe_stabile_servizio_id_foreign` (`stabile_servizio_id`), CONSTRAINT `stabile_servizio_tariffe_fattura_elettronica_id_foreign` FOREIGN KEY (`fattura_elettronica_id`) REFERENCES `fatture_elettroniche` (`id`) ON DELETE CASCADE, CONSTRAINT `stabile_servizio_tariffe_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `stabile_servizio_tariffe_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `stabile_servizio_tariffe_stabile_servizio_id_foreign` FOREIGN KEY (`stabile_servizio_id`) REFERENCES `stabile_servizi` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=132 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stabili` -- DROP TABLE IF EXISTS `stabili`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stabili` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice_stabile` varchar(8) NOT NULL, `cod_stabile` varchar(20) DEFAULT NULL, `codice_univoco` varchar(8) DEFAULT NULL, `amministratore_id` bigint(20) unsigned NOT NULL, `rubrica_id` bigint(20) unsigned DEFAULT NULL, `denominazione` varchar(255) NOT NULL, `indirizzo` varchar(255) NOT NULL, `cap` varchar(10) NOT NULL, `citta` varchar(60) NOT NULL, `provincia` varchar(2) NOT NULL, `codice_comune_catasto` varchar(4) DEFAULT NULL COMMENT 'Codice comune catasto (es: H501 per Roma)', `foglio_catasto` varchar(10) DEFAULT NULL COMMENT 'Foglio del catasto', `particella_catasto` varchar(20) DEFAULT NULL COMMENT 'Particella catastale', `codice_destinatario_sdi` varchar(7) DEFAULT NULL COMMENT 'Codice destinatario per fatturazione elettronica SDI', `pec_condominio` varchar(255) DEFAULT NULL COMMENT 'PEC del condominio', `configurazione_default_unita` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Configurazione default per nuove unità immobiliari' CHECK (json_valid(`configurazione_default_unita`)), `modalita_rateizzazione` enum('mensile','bimestrale','trimestrale','quadrimestrale','semestrale','annuale') NOT NULL DEFAULT 'trimestrale' COMMENT 'Modalità di rateizzazione ordinaria', `inizio_esercizio` date DEFAULT NULL COMMENT 'Data inizio esercizio (se diverso da 1 gennaio)', `fine_esercizio` date DEFAULT NULL COMMENT 'Data fine esercizio (se diverso da 31 dicembre)', `codice_fiscale` varchar(20) DEFAULT NULL, `cod_fisc_amministratore` varchar(20) DEFAULT NULL, `note` text DEFAULT NULL, `iban_principale` varchar(255) DEFAULT NULL, `banca_principale` varchar(255) DEFAULT NULL, `filiale` varchar(255) DEFAULT NULL, `iban_secondario` varchar(255) DEFAULT NULL, `banca_secondaria` varchar(255) DEFAULT NULL, `filiale_secondaria` varchar(255) DEFAULT NULL, `amministratore_nome` varchar(255) DEFAULT NULL, `amministratore_email` varchar(255) DEFAULT NULL, `data_nomina` date DEFAULT NULL, `scadenza_mandato` date DEFAULT NULL, `foglio` varchar(255) DEFAULT NULL, `mappale` varchar(255) DEFAULT NULL, `subalterno` varchar(255) DEFAULT NULL, `categoria` varchar(255) DEFAULT NULL, `rendita_catastale` decimal(10,2) DEFAULT NULL, `superficie_catastale` decimal(10,2) DEFAULT NULL, `palazzine_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`palazzine_data`)), `locali_servizio` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`locali_servizio`)), `attivo` tinyint(1) NOT NULL DEFAULT 1, `struttura_fisica_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`struttura_fisica_json`)), `numero_palazzine` int(11) NOT NULL DEFAULT 1, `numero_scale_per_palazzina` int(11) NOT NULL DEFAULT 1, `numero_piani` int(11) NOT NULL DEFAULT 3, `piano_seminterrato` tinyint(1) NOT NULL DEFAULT 0, `piano_sottotetto` tinyint(1) NOT NULL DEFAULT 0, `presenza_ascensore` tinyint(1) NOT NULL DEFAULT 0, `cortile_giardino` tinyint(1) NOT NULL DEFAULT 0, `superficie_cortile` decimal(8,2) DEFAULT NULL, `riscaldamento_centralizzato` tinyint(1) NOT NULL DEFAULT 0, `acqua_centralizzata` tinyint(1) NOT NULL DEFAULT 0, `gas_centralizzato` tinyint(1) NOT NULL DEFAULT 0, `servizio_portineria` tinyint(1) NOT NULL DEFAULT 0, `orari_portineria` varchar(255) DEFAULT NULL, `videocitofono` tinyint(1) NOT NULL DEFAULT 0, `antenna_tv_centralizzata` tinyint(1) NOT NULL DEFAULT 0, `internet_condominiale` tinyint(1) NOT NULL DEFAULT 0, `fondo_riserva_minimo` decimal(12,2) NOT NULL DEFAULT 0.00, `importo_rata_standard` decimal(8,2) NOT NULL DEFAULT 0.00, `frequenza_rate` enum('mensile','bimestrale','trimestrale','quadrimestrale','semestrale','annuale') NOT NULL DEFAULT 'trimestrale', `giorno_scadenza_rate` int(11) NOT NULL DEFAULT 15, `iban_condominio` varchar(255) DEFAULT NULL, `millesimi_generali_calcolati` tinyint(1) NOT NULL DEFAULT 0, `millesimi_riscaldamento_separati` tinyint(1) NOT NULL DEFAULT 0, `millesimi_acqua_separati` tinyint(1) NOT NULL DEFAULT 0, `millesimi_ascensore_separati` tinyint(1) NOT NULL DEFAULT 0, `configurazione_avanzata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`configurazione_avanzata`)), `ultima_generazione_unita` timestamp NULL DEFAULT NULL, `rate_ordinarie_mesi` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`rate_ordinarie_mesi`)), `rate_riscaldamento_mesi` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`rate_riscaldamento_mesi`)), `descrizione_rate` text DEFAULT NULL, `stato` varchar(50) NOT NULL DEFAULT 'attivo', `old_id` int(11) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, `registro_data_nomina` date DEFAULT NULL COMMENT 'Data nomina amministratore attuale', `registro_scadenza` date DEFAULT NULL COMMENT 'Data scadenza mandato amministratore', `registro_delibera` varchar(255) DEFAULT NULL COMMENT 'Numero delibera di nomina', `registro_note` text DEFAULT NULL COMMENT 'Note aggiuntive sul mandato', PRIMARY KEY (`id`), UNIQUE KEY `stabili_admin_codice_unique` (`amministratore_id`,`codice_stabile`), UNIQUE KEY `stabili_codice_fiscale_unique` (`codice_fiscale`), UNIQUE KEY `stabili_old_id_unique` (`old_id`), UNIQUE KEY `stabili_codice_univoco_unique` (`codice_univoco`), KEY `stabili_amministratore_id_foreign` (`amministratore_id`), KEY `stabili_rubrica_id_index` (`rubrica_id`), KEY `stabili_cod_stabile_index` (`cod_stabile`), CONSTRAINT `stabili_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE CASCADE, CONSTRAINT `stabili_rubrica_id_foreign` FOREIGN KEY (`rubrica_id`) REFERENCES `rubrica_universale` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`netgescon_user`@`localhost`*/ /*!50003 TRIGGER trg_stabili_codice_univoco BEFORE INSERT ON stabili FOR EACH ROW BEGIN IF NEW.codice_univoco IS NULL OR NEW.codice_univoco = '' THEN CALL sp_next_codice_univoco('STABILI', @generated_code); SET NEW.codice_univoco = @generated_code; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `stabili_gescon` -- DROP TABLE IF EXISTS `stabili_gescon`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stabili_gescon` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned NOT NULL, `cod_stabile_old` int(11) DEFAULT NULL, `denominazione` varchar(255) NOT NULL, `indirizzo` varchar(255) NOT NULL, `cap` varchar(5) NOT NULL, `citta` varchar(255) NOT NULL, `provincia` varchar(2) NOT NULL, `codice_fiscale` varchar(16) DEFAULT NULL, `codice_directory` varchar(4) NOT NULL, `scale` int(11) NOT NULL DEFAULT 0, `interni` int(11) NOT NULL DEFAULT 0, `iban_principale` varchar(255) DEFAULT NULL, `coordinate_bancarie` varchar(255) DEFAULT NULL, `intestazione_stampe` text DEFAULT NULL, `flags_gestione` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`flags_gestione`)), `attivo` tinyint(1) NOT NULL DEFAULT 1, `data_ultima_modifica` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stabili_gescon_amministratore_id_attivo_index` (`amministratore_id`,`attivo`), KEY `stabili_gescon_codice_directory_index` (`codice_directory`), KEY `stabili_gescon_provincia_citta_index` (`provincia`,`citta`), CONSTRAINT `stabili_gescon_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stampe_rate` -- DROP TABLE IF EXISTS `stampe_rate`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stampe_rate` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `tipo_documento` enum('rata_singola','rata_multipla','avviso_scadenza','riepilogo') NOT NULL, `status` enum('bozza','generata','inviata','archiviata') NOT NULL DEFAULT 'bozza', `template_id` bigint(20) unsigned DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `rate_selezionate` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`rate_selezionate`)), `proprietari_selezionati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`proprietari_selezionati`)), `parametri_stampa` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`parametri_stampa`)), `filtri_applicati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`filtri_applicati`)), `formato_output` varchar(20) NOT NULL DEFAULT 'pdf', `includi_logo` tinyint(1) NOT NULL DEFAULT 1, `includi_header` tinyint(1) NOT NULL DEFAULT 1, `includi_footer` tinyint(1) NOT NULL DEFAULT 1, `file_generati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`file_generati`)), `file_count` int(11) NOT NULL DEFAULT 0, `file_size_total` bigint(20) NOT NULL DEFAULT 0, `zip_path` varchar(255) DEFAULT NULL, `email_abilitata` tinyint(1) NOT NULL DEFAULT 0, `email_subject` varchar(255) DEFAULT NULL, `email_body` text DEFAULT NULL, `email_destinatari` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`email_destinatari`)), `email_inviata_at` timestamp NULL DEFAULT NULL, `email_inviate_count` int(11) NOT NULL DEFAULT 0, `email_aperte_count` int(11) NOT NULL DEFAULT 0, `download_count` int(11) NOT NULL DEFAULT 0, `ultimo_download_at` timestamp NULL DEFAULT NULL, `ultimo_accesso_at` timestamp NULL DEFAULT NULL, `statistiche` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`statistiche`)), `is_scheduled` tinyint(1) NOT NULL DEFAULT 0, `scheduled_at` timestamp NULL DEFAULT NULL, `auto_send_email` tinyint(1) NOT NULL DEFAULT 0, `auto_delete_after_days` tinyint(1) NOT NULL DEFAULT 0, `delete_after_days` int(11) DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `deleted_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stampe_rate_status_created_at_index` (`status`,`created_at`), KEY `stampe_rate_stabile_id_created_at_index` (`stabile_id`,`created_at`), KEY `stampe_rate_template_id_index` (`template_id`), KEY `stampe_rate_is_scheduled_scheduled_at_index` (`is_scheduled`,`scheduled_at`), KEY `stampe_rate_created_by_index` (`created_by`), KEY `stampe_rate_updated_by_foreign` (`updated_by`), KEY `stampe_rate_deleted_by_foreign` (`deleted_by`), CONSTRAINT `stampe_rate_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stampe_rate_deleted_by_foreign` FOREIGN KEY (`deleted_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stampe_rate_template_id_foreign` FOREIGN KEY (`template_id`) REFERENCES `stampe_templates` (`id`) ON DELETE SET NULL, CONSTRAINT `stampe_rate_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stampe_rate_config` -- DROP TABLE IF EXISTS `stampe_rate_config`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stampe_rate_config` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `chiave` varchar(100) NOT NULL, `valore` text NOT NULL, `tipo` varchar(20) NOT NULL DEFAULT 'string', `descrizione` text DEFAULT NULL, `is_public` tinyint(1) NOT NULL DEFAULT 0, `updated_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `stampe_rate_config_chiave_unique` (`chiave`), KEY `stampe_rate_config_updated_by_foreign` (`updated_by`), CONSTRAINT `stampe_rate_config_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stampe_rate_email_attachments` -- DROP TABLE IF EXISTS `stampe_rate_email_attachments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stampe_rate_email_attachments` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `email_log_id` bigint(20) unsigned NOT NULL, `filename` varchar(255) NOT NULL, `original_name` varchar(255) NOT NULL, `mime_type` varchar(255) NOT NULL, `file_size` bigint(20) NOT NULL, `file_path` varchar(255) NOT NULL, `file_hash` varchar(64) DEFAULT NULL, `is_inline` tinyint(1) NOT NULL DEFAULT 0, `content_id` varchar(255) DEFAULT NULL, `download_count` int(11) NOT NULL DEFAULT 0, `last_downloaded_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stampe_rate_email_attachments_email_log_id_index` (`email_log_id`), KEY `stampe_rate_email_attachments_file_hash_index` (`file_hash`), CONSTRAINT `stampe_rate_email_attachments_email_log_id_foreign` FOREIGN KEY (`email_log_id`) REFERENCES `stampe_rate_email_log` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stampe_rate_email_log` -- DROP TABLE IF EXISTS `stampe_rate_email_log`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stampe_rate_email_log` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stampa_id` bigint(20) unsigned NOT NULL, `tracking_id` varchar(36) NOT NULL, `unsubscribe_token` varchar(64) DEFAULT NULL, `recipient_email` varchar(255) NOT NULL, `recipient_name` varchar(255) DEFAULT NULL, `recipient_type` varchar(20) NOT NULL DEFAULT 'proprietario', `proprietario_id` bigint(20) unsigned DEFAULT NULL, `subject` varchar(255) NOT NULL, `body_html` text DEFAULT NULL, `body_text` text DEFAULT NULL, `attachments` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`attachments`)), `attachments_count` int(11) NOT NULL DEFAULT 0, `attachments_size` bigint(20) NOT NULL DEFAULT 0, `status` enum('pending','sent','failed','bounced','spam') NOT NULL DEFAULT 'pending', `sent_at` timestamp NULL DEFAULT NULL, `delivered_at` timestamp NULL DEFAULT NULL, `failed_at` timestamp NULL DEFAULT NULL, `error_message` text DEFAULT NULL, `external_id` varchar(255) DEFAULT NULL, `opened_at` timestamp NULL DEFAULT NULL, `opened_count` int(11) NOT NULL DEFAULT 0, `opened_ip` varchar(45) DEFAULT NULL, `opened_user_agent` varchar(255) DEFAULT NULL, `opened_location` varchar(255) DEFAULT NULL, `clicked_at` timestamp NULL DEFAULT NULL, `clicked_count` int(11) NOT NULL DEFAULT 0, `clicked_links` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`clicked_links`)), `unsubscribed_at` timestamp NULL DEFAULT NULL, `unsubscribe_reason` varchar(255) DEFAULT NULL, `sent_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `stampe_rate_email_log_tracking_id_unique` (`tracking_id`), UNIQUE KEY `stampe_rate_email_log_unsubscribe_token_unique` (`unsubscribe_token`), KEY `stampe_rate_email_log_stampa_id_sent_at_index` (`stampa_id`,`sent_at`), KEY `stampe_rate_email_log_recipient_email_sent_at_index` (`recipient_email`,`sent_at`), KEY `stampe_rate_email_log_status_sent_at_index` (`status`,`sent_at`), KEY `stampe_rate_email_log_tracking_id_index` (`tracking_id`), KEY `stampe_rate_email_log_sent_at_index` (`sent_at`), KEY `stampe_rate_email_log_sent_by_foreign` (`sent_by`), CONSTRAINT `stampe_rate_email_log_sent_by_foreign` FOREIGN KEY (`sent_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stampe_rate_email_log_stampa_id_foreign` FOREIGN KEY (`stampa_id`) REFERENCES `stampe_rate` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stampe_rate_email_tracking` -- DROP TABLE IF EXISTS `stampe_rate_email_tracking`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stampe_rate_email_tracking` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `email_log_id` bigint(20) unsigned NOT NULL, `action` varchar(30) NOT NULL, `link_url` varchar(255) DEFAULT NULL, `data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`data`)), `tracked_at` timestamp NOT NULL, `ip_address` varchar(45) DEFAULT NULL, `user_agent` varchar(255) DEFAULT NULL, `referer` varchar(255) DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), PRIMARY KEY (`id`), KEY `stampe_rate_email_tracking_email_log_id_tracked_at_index` (`email_log_id`,`tracked_at`), KEY `stampe_rate_email_tracking_action_tracked_at_index` (`action`,`tracked_at`), CONSTRAINT `stampe_rate_email_tracking_email_log_id_foreign` FOREIGN KEY (`email_log_id`) REFERENCES `stampe_rate_email_log` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stampe_rate_history` -- DROP TABLE IF EXISTS `stampe_rate_history`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stampe_rate_history` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stampa_id` bigint(20) unsigned DEFAULT NULL, `action` varchar(50) NOT NULL, `dettagli` text DEFAULT NULL, `dati_precedenti` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_precedenti`)), `dati_nuovi` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`dati_nuovi`)), `ip_address` varchar(45) DEFAULT NULL, `user_agent` varchar(255) DEFAULT NULL, `session_id` varchar(255) DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NOT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stampe_rate_history_stampa_id_created_at_index` (`stampa_id`,`created_at`), KEY `stampe_rate_history_action_created_at_index` (`action`,`created_at`), KEY `stampe_rate_history_created_by_created_at_index` (`created_by`,`created_at`), KEY `stampe_rate_history_created_at_index` (`created_at`), CONSTRAINT `stampe_rate_history_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stampe_rate_history_stampa_id_foreign` FOREIGN KEY (`stampa_id`) REFERENCES `stampe_rate` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stampe_templates` -- DROP TABLE IF EXISTS `stampe_templates`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stampe_templates` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `categoria` enum('rate_standard','rate_scadute','rate_personalizzate','avvisi','riepilogativo') NOT NULL, `module` varchar(50) NOT NULL DEFAULT 'stampe_rate', `html_content` longtext NOT NULL, `css_content` longtext DEFAULT NULL, `variabili` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`variabili`)), `configurazione` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`configurazione`)), `tags` varchar(255) DEFAULT NULL, `status` enum('bozza','attivo','deprecato') NOT NULL DEFAULT 'bozza', `versione` varchar(20) NOT NULL DEFAULT '1.0.0', `file_path` varchar(255) DEFAULT NULL, `utilizzi_count` int(11) NOT NULL DEFAULT 0, `ultimo_utilizzo` timestamp NULL DEFAULT NULL, `rating_medio` decimal(3,2) NOT NULL DEFAULT 0.00, `rating_count` int(11) NOT NULL DEFAULT 0, `pubblicato_at` timestamp NULL DEFAULT NULL, `is_pubblico` tinyint(1) NOT NULL DEFAULT 0, `is_marketplace` tinyint(1) NOT NULL DEFAULT 0, `prezzo` decimal(8,2) DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `deleted_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stampe_templates_categoria_status_index` (`categoria`,`status`), KEY `stampe_templates_module_status_index` (`module`,`status`), KEY `stampe_templates_is_pubblico_status_index` (`is_pubblico`,`status`), KEY `stampe_templates_utilizzi_count_index` (`utilizzi_count`), KEY `stampe_templates_created_by_foreign` (`created_by`), KEY `stampe_templates_updated_by_foreign` (`updated_by`), KEY `stampe_templates_deleted_by_foreign` (`deleted_by`), FULLTEXT KEY `stampe_templates_nome_descrizione_tags_fulltext` (`nome`,`descrizione`,`tags`), CONSTRAINT `stampe_templates_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stampe_templates_deleted_by_foreign` FOREIGN KEY (`deleted_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `stampe_templates_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_fatture_ade` -- DROP TABLE IF EXISTS `stg_fatture_ade`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_fatture_ade` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned NOT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `cartella_legacy` varchar(10) DEFAULT NULL, `tipo_documento` varchar(50) DEFAULT NULL, `numero_documento` varchar(100) DEFAULT NULL, `data_emissione` date DEFAULT NULL, `identificativo_fornitore` varchar(32) DEFAULT NULL, `denominazione_fornitore` varchar(255) DEFAULT NULL, `imponibile` decimal(15,4) NOT NULL DEFAULT 0.0000, `imposta` decimal(15,4) NOT NULL DEFAULT 0.0000, `sdi_file` varchar(32) NOT NULL, `stato_visualizzazione` varchar(50) DEFAULT NULL, `source_file` varchar(255) DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uq_stg_fatture_ade_target_sdi` (`amministratore_id`,`stabile_id`,`sdi_file`), KEY `stg_fatture_ade_stabile_id_foreign` (`stabile_id`), KEY `stg_fatture_ade_amministratore_id_data_emissione_index` (`amministratore_id`,`data_emissione`), KEY `stg_fatture_ade_amministratore_id_identificativo_fornitore_index` (`amministratore_id`,`identificativo_fornitore`), KEY `stg_fatture_ade_amministratore_id_cartella_legacy_index` (`amministratore_id`,`cartella_legacy`), CONSTRAINT `stg_fatture_ade_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE CASCADE, CONSTRAINT `stg_fatture_ade_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=273 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_fatture_fe` -- DROP TABLE IF EXISTS `stg_fatture_fe`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_fatture_fe` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `sorgente_archivio` varchar(255) NOT NULL, `tabella` varchar(50) NOT NULL DEFAULT 'FE_caricate_aut', `gestione_id` bigint(20) unsigned DEFAULT NULL, `anno` year(4) NOT NULL, `numero` varchar(50) DEFAULT NULL, `data` date DEFAULT NULL, `fornitore_cod` varchar(50) DEFAULT NULL, `fornitore_nome` varchar(200) DEFAULT NULL, `imponibile` decimal(15,4) NOT NULL DEFAULT 0.0000, `iva` decimal(15,4) NOT NULL DEFAULT 0.0000, `totale` decimal(15,4) NOT NULL DEFAULT 0.0000, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stg_fatture_fe_gestione_id_foreign` (`gestione_id`), KEY `stg_fatture_fe_tenant_id_anno_index` (`tenant_id`,`anno`), CONSTRAINT `stg_fatture_fe_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_fatture_gescon` -- DROP TABLE IF EXISTS `stg_fatture_gescon`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_fatture_gescon` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `sorgente_archivio` varchar(255) NOT NULL, `legacy_id_fatture` bigint(20) unsigned DEFAULT NULL, `legacy_id_stabile` bigint(20) unsigned DEFAULT NULL, `riferimento` bigint(20) unsigned DEFAULT NULL, `cod_fornitore` bigint(20) unsigned DEFAULT NULL, `data_fattura` date DEFAULT NULL, `data_pagamento` date DEFAULT NULL, `numero_fattura` varchar(50) DEFAULT NULL, `descrizione_sintetica` varchar(255) DEFAULT NULL, `descrizione_corpo` varchar(500) DEFAULT NULL, `imponibile` decimal(15,4) NOT NULL DEFAULT 0.0000, `importo_iva` decimal(15,4) NOT NULL DEFAULT 0.0000, `totale_fattura` decimal(15,4) NOT NULL DEFAULT 0.0000, `importo_netto` decimal(15,4) NOT NULL DEFAULT 0.0000, `onorario` decimal(15,4) NOT NULL DEFAULT 0.0000, `rimborsi` decimal(15,4) NOT NULL DEFAULT 0.0000, `aliq_cassa` decimal(10,4) DEFAULT NULL, `importo_cassa` decimal(15,4) NOT NULL DEFAULT 0.0000, `aliq_rda` decimal(10,4) DEFAULT NULL, `importo_rda` decimal(15,4) NOT NULL DEFAULT 0.0000, `aliq_inps` decimal(10,4) DEFAULT NULL, `importo_inps` decimal(15,4) NOT NULL DEFAULT 0.0000, `aliq_iva` decimal(10,4) DEFAULT NULL, `legacy_id_anno` bigint(20) unsigned DEFAULT NULL, `reg_gestione` varchar(30) DEFAULT NULL, `reg_nstra` smallint(5) unsigned DEFAULT NULL, `note` varchar(255) DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uq_stg_fatture_gescon_tenant_legacy` (`tenant_id`,`legacy_id_fatture`), KEY `stg_fatture_gescon_tenant_id_legacy_id_fatture_index` (`tenant_id`,`legacy_id_fatture`), KEY `stg_fatture_gescon_legacy_id_stabile_index` (`legacy_id_stabile`), KEY `stg_fatture_gescon_cod_fornitore_index` (`cod_fornitore`), KEY `stg_fatture_gescon_data_fattura_index` (`data_fattura`), KEY `stg_fatture_gescon_legacy_id_anno_index` (`legacy_id_anno`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_fornitori_gescon` -- DROP TABLE IF EXISTS `stg_fornitori_gescon`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_fornitori_gescon` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `sorgente_archivio` varchar(255) NOT NULL, `legacy_id_fornitore` bigint(20) unsigned DEFAULT NULL, `cod_forn` bigint(20) unsigned DEFAULT NULL, `denominazione` varchar(255) DEFAULT NULL, `cognome` varchar(100) DEFAULT NULL, `nome` varchar(100) DEFAULT NULL, `codice_fiscale` varchar(32) DEFAULT NULL, `partita_iva` varchar(32) DEFAULT NULL, `natura` varchar(8) DEFAULT NULL, `sesso` varchar(4) DEFAULT NULL, `indirizzo` varchar(255) DEFAULT NULL, `cap` varchar(10) DEFAULT NULL, `citta` varchar(100) DEFAULT NULL, `provincia` varchar(10) DEFAULT NULL, `data_nascita` date DEFAULT NULL, `luogo_nascita` varchar(100) DEFAULT NULL, `provincia_nascita` varchar(10) DEFAULT NULL, `telefono_1` varchar(50) DEFAULT NULL, `telefono_2` varchar(50) DEFAULT NULL, `telefono_3` varchar(50) DEFAULT NULL, `telefono_4` varchar(50) DEFAULT NULL, `fax` varchar(50) DEFAULT NULL, `cellulare` varchar(50) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `pec` varchar(255) DEFAULT NULL, `iban` varchar(64) DEFAULT NULL, `regime_fiscale` varchar(10) DEFAULT NULL, `tipo_cassa` varchar(10) DEFAULT NULL, `aliq_iva_abituale` smallint(5) unsigned DEFAULT NULL, `note` text DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uq_stg_fornitori_gescon_tenant_legacy` (`tenant_id`,`legacy_id_fornitore`), KEY `stg_fornitori_gescon_tenant_id_cod_forn_index` (`tenant_id`,`cod_forn`), KEY `stg_fornitori_gescon_tenant_id_legacy_id_fornitore_index` (`tenant_id`,`legacy_id_fornitore`), KEY `stg_fornitori_gescon_codice_fiscale_index` (`codice_fiscale`), KEY `stg_fornitori_gescon_partita_iva_index` (`partita_iva`) ) ENGINE=InnoDB AUTO_INCREMENT=5405 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_incassi_da_estratto` -- DROP TABLE IF EXISTS `stg_incassi_da_estratto`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_incassi_da_estratto` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `sorgente_archivio` varchar(255) NOT NULL, `tabella` varchar(50) NOT NULL DEFAULT 'Inc_da_ec', `gestione_id` bigint(20) unsigned DEFAULT NULL, `anno` year(4) NOT NULL, `cod_cassa` varchar(10) DEFAULT NULL, `riferimento_banca` varchar(100) DEFAULT NULL, `data_banca` date DEFAULT NULL, `importo` decimal(15,4) NOT NULL DEFAULT 0.0000, `note` varchar(500) DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stg_incassi_da_estratto_gestione_id_foreign` (`gestione_id`), KEY `stg_incassi_da_estratto_tenant_id_anno_index` (`tenant_id`,`anno`), CONSTRAINT `stg_incassi_da_estratto_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_operazioni_gescon` -- DROP TABLE IF EXISTS `stg_operazioni_gescon`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_operazioni_gescon` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `sorgente_archivio` varchar(255) NOT NULL COMMENT 'Path MDB o codice archivio', `tabella` varchar(50) NOT NULL DEFAULT 'operazioni', `gestione_id` bigint(20) unsigned DEFAULT NULL, `anno` year(4) NOT NULL, `gestione_tipo` enum('O','R','S') NOT NULL, `n_stra` varchar(20) DEFAULT NULL, `compet` varchar(1) DEFAULT NULL COMMENT 'C=Competenza corrente, P=Precedente (apertura)', `natura2` varchar(10) DEFAULT NULL COMMENT 'Codice natura movimento per partita doppia', `conto_dare` varchar(50) DEFAULT NULL, `conto_avere` varchar(50) DEFAULT NULL, `protocollo` varchar(50) DEFAULT NULL COMMENT 'Numero/chiave documento interno', `data_registrazione` date DEFAULT NULL, `data_competenza` date DEFAULT NULL, `importo` decimal(15,4) NOT NULL DEFAULT 0.0000, `valuta` varchar(3) NOT NULL DEFAULT 'EUR', `fornitore_cod` varchar(50) DEFAULT NULL, `fornitore_nome` varchar(200) DEFAULT NULL, `descrizione` varchar(500) DEFAULT NULL, `cod_cassa` varchar(10) DEFAULT NULL, `n_riferimento` varchar(30) DEFAULT NULL, `numero_fattura` varchar(50) DEFAULT NULL, `data_fattura` date DEFAULT NULL, `gestione_raw` varchar(10) DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stg_operazioni_gescon_gestione_id_foreign` (`gestione_id`), KEY `stg_operazioni_gescon_tenant_id_anno_gestione_tipo_index` (`tenant_id`,`anno`,`gestione_tipo`), KEY `stg_operazioni_gescon_tenant_id_gestione_id_index` (`tenant_id`,`gestione_id`), KEY `stg_operazioni_gescon_tenant_id_compet_index` (`tenant_id`,`compet`), KEY `stg_operazioni_gescon_tenant_id_natura2_index` (`tenant_id`,`natura2`), CONSTRAINT `stg_operazioni_gescon_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_rate_emesse` -- DROP TABLE IF EXISTS `stg_rate_emesse`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_rate_emesse` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `sorgente_archivio` varchar(255) NOT NULL, `tabella` varchar(50) NOT NULL DEFAULT 'EMESS_*', `gestione_id` bigint(20) unsigned DEFAULT NULL, `anno` year(4) NOT NULL, `cod_cond` varchar(20) DEFAULT NULL, `unita` varchar(50) DEFAULT NULL, `o_r_s` varchar(1) DEFAULT NULL, `n_mese` varchar(5) DEFAULT NULL, `importo` decimal(15,4) NOT NULL DEFAULT 0.0000, `data_emissione` date DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stg_rate_emesse_gestione_id_foreign` (`gestione_id`), KEY `stg_rate_emesse_tenant_id_anno_o_r_s_index` (`tenant_id`,`anno`,`o_r_s`), CONSTRAINT `stg_rate_emesse_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `stg_ritenute_rda` -- DROP TABLE IF EXISTS `stg_ritenute_rda`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `stg_ritenute_rda` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tenant_id` varchar(50) NOT NULL, `sorgente_archivio` varchar(255) NOT NULL, `tabella` varchar(50) NOT NULL DEFAULT 'Nettovers_RDA', `gestione_id` bigint(20) unsigned DEFAULT NULL, `anno` year(4) NOT NULL, `rif_rda` varchar(50) DEFAULT NULL COMMENT 'Riferimento RDA Gescon', `imponibile` decimal(15,4) NOT NULL DEFAULT 0.0000, `aliquota` decimal(6,3) NOT NULL DEFAULT 0.000, `ritenuta` decimal(15,4) NOT NULL DEFAULT 0.0000, `data_sorgente` date DEFAULT NULL COMMENT 'Data in cui sorge il debito RA', `data_versamento` date DEFAULT NULL COMMENT 'Data versamento RA', `fornitore_cod` varchar(50) DEFAULT NULL, `fornitore_nome` varchar(200) DEFAULT NULL, `raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`raw`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `stg_ritenute_rda_gestione_id_foreign` (`gestione_id`), KEY `stg_ritenute_rda_tenant_id_anno_index` (`tenant_id`,`anno`), KEY `stg_ritenute_rda_tenant_id_rif_rda_index` (`tenant_id`,`rif_rda`), CONSTRAINT `stg_ritenute_rda_gestione_id_foreign` FOREIGN KEY (`gestione_id`) REFERENCES `gestioni_contabili` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `struttura_fisica_dettaglio` -- DROP TABLE IF EXISTS `struttura_fisica_dettaglio`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `struttura_fisica_dettaglio` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `palazzina` varchar(10) NOT NULL, `scala` varchar(10) DEFAULT NULL, `piano` int(11) NOT NULL, `numero_interni` int(11) NOT NULL DEFAULT 1, `presenza_ascensore` tinyint(1) NOT NULL DEFAULT 0, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_stabile_struttura` (`stabile_id`,`palazzina`,`scala`,`piano`), CONSTRAINT `struttura_fisica_dettaglio_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `subentri_unita` -- DROP TABLE IF EXISTS `subentri_unita`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `subentri_unita` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `soggetto_precedente_id` bigint(20) unsigned DEFAULT NULL, `soggetto_nuovo_id` bigint(20) unsigned NOT NULL, `data_subentro` date NOT NULL, `tipo_subentro` enum('vendita','eredita','donazione','locazione','comodato') NOT NULL, `quota_precedente` decimal(5,4) NOT NULL DEFAULT 1.0000, `quota_nuova` decimal(5,4) NOT NULL DEFAULT 1.0000, `numero_atto` varchar(100) DEFAULT NULL, `data_atto` date DEFAULT NULL, `notaio` varchar(200) DEFAULT NULL, `prezzo_vendita` decimal(12,2) DEFAULT NULL, `stato_subentro` enum('proposto','in_corso','completato','annullato') NOT NULL DEFAULT 'proposto', `data_completamento` timestamp NULL DEFAULT NULL, `ripartizioni_aggiornate` tinyint(1) NOT NULL DEFAULT 0, `comunicazioni_inviate` tinyint(1) NOT NULL DEFAULT 0, `note` text DEFAULT NULL, `allegati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`allegati`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, PRIMARY KEY (`id`), KEY `subentri_unita_soggetto_precedente_id_foreign` (`soggetto_precedente_id`), KEY `subentri_unita_soggetto_nuovo_id_foreign` (`soggetto_nuovo_id`), KEY `subentri_unita_created_by_foreign` (`created_by`), KEY `idx_subentri_unita` (`unita_immobiliare_id`), KEY `idx_subentri_data` (`data_subentro`), KEY `idx_subentri_stato` (`stato_subentro`), KEY `subentri_unita_tipo_subentro_index` (`tipo_subentro`), CONSTRAINT `subentri_unita_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `subentri_unita_soggetto_nuovo_id_foreign` FOREIGN KEY (`soggetto_nuovo_id`) REFERENCES `anagrafiche` (`id`) ON DELETE CASCADE, CONSTRAINT `subentri_unita_soggetto_precedente_id_foreign` FOREIGN KEY (`soggetto_precedente_id`) REFERENCES `anagrafiche` (`id`) ON DELETE SET NULL, CONSTRAINT `subentri_unita_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `subscription_plans` -- DROP TABLE IF EXISTS `subscription_plans`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `subscription_plans` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `slug` varchar(255) NOT NULL, `price_monthly` decimal(10,2) NOT NULL DEFAULT 0.00, `is_active` tinyint(1) NOT NULL DEFAULT 1, `features` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`features`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `subscription_plans_slug_unique` (`slug`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `superfici_unita` -- DROP TABLE IF EXISTS `superfici_unita`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `superfici_unita` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `tipo_superficie_id` bigint(20) unsigned NOT NULL, `valore` decimal(10,2) NOT NULL, `unita_misura` varchar(255) NOT NULL DEFAULT 'mq', `validita_da` date DEFAULT NULL, `validita_a` date DEFAULT NULL, `note` text DEFAULT NULL, `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_unita_superficie_data` (`unita_immobiliare_id`,`tipo_superficie_id`,`validita_da`), KEY `superfici_unita_tipo_superficie_id_foreign` (`tipo_superficie_id`), KEY `superfici_unita_created_by_foreign` (`created_by`), KEY `superfici_unita_unita_immobiliare_id_validita_da_index` (`unita_immobiliare_id`,`validita_da`), CONSTRAINT `superfici_unita_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `superfici_unita_tipo_superficie_id_foreign` FOREIGN KEY (`tipo_superficie_id`) REFERENCES `tipi_superficie` (`id`) ON DELETE CASCADE, CONSTRAINT `superfici_unita_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `support_bug_registries` -- DROP TABLE IF EXISTS `support_bug_registries`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `support_bug_registries` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `fingerprint` varchar(64) NOT NULL, `bug_id` int(10) unsigned NOT NULL, `status` varchar(20) NOT NULL DEFAULT 'open', `title` varchar(255) DEFAULT NULL, `first_seen` varchar(40) DEFAULT NULL, `last_seen` varchar(40) DEFAULT NULL, `resolved_at` varchar(40) DEFAULT NULL, `resolution_note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `support_bug_registries_fingerprint_unique` (`fingerprint`), UNIQUE KEY `support_bug_registries_bug_id_unique` (`bug_id`), KEY `support_bug_registries_status_index` (`status`), KEY `support_bug_registries_last_seen_index` (`last_seen`) ) ENGINE=InnoDB AUTO_INCREMENT=3052 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `support_update_entries` -- DROP TABLE IF EXISTS `support_update_entries`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `support_update_entries` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `release_key` varchar(255) NOT NULL, `category` varchar(32) NOT NULL, `audience` varchar(32) NOT NULL DEFAULT 'supporto', `title` varchar(255) NOT NULL, `summary` text NOT NULL, `impact` text DEFAULT NULL, `page_label` varchar(255) DEFAULT NULL, `page_class` varchar(255) DEFAULT NULL, `related_path` varchar(255) DEFAULT NULL, `related_commit` varchar(40) DEFAULT NULL, `is_visible` tinyint(1) NOT NULL DEFAULT 1, `is_highlighted` tinyint(1) NOT NULL DEFAULT 0, `recorded_at` varchar(40) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `support_update_entries_release_key_unique` (`release_key`), KEY `support_update_entries_category_index` (`category`), KEY `support_update_entries_audience_index` (`audience`), KEY `support_update_entries_related_commit_index` (`related_commit`), KEY `support_update_entries_is_visible_index` (`is_visible`), KEY `support_update_entries_recorded_at_index` (`recorded_at`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `system_settings` -- DROP TABLE IF EXISTS `system_settings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `system_settings` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `key` varchar(255) NOT NULL, `value` longtext DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `system_settings_key_unique` (`key`) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `tabelle_millesimali` -- DROP TABLE IF EXISTS `tabelle_millesimali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `tabelle_millesimali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno_gestione` smallint(5) unsigned DEFAULT NULL, `nome_tabella` varchar(255) NOT NULL, `denominazione` varchar(255) DEFAULT NULL, `codice_tabella` varchar(255) DEFAULT NULL, `legacy_codice` varchar(120) DEFAULT NULL, `ordine_visualizzazione` int(11) DEFAULT NULL, `tipo_tabella` enum('proprieta','riscaldamento','ascensore','scale','pulizie','antenna_tv','portineria','cortile','custom','temporanea') NOT NULL DEFAULT 'custom', `conto_pd` varchar(120) DEFAULT NULL, `sottoconto_pd` varchar(120) DEFAULT NULL, `tipo_calcolo` enum('millesimi','parti','fisso') NOT NULL DEFAULT 'millesimi', `descrizione` text DEFAULT NULL, `note` text DEFAULT NULL, `creato_da` bigint(20) unsigned DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `attiva` tinyint(1) NOT NULL DEFAULT 1, `ordinamento` int(11) NOT NULL DEFAULT 0, `nord` int(11) DEFAULT NULL, `stato_tabella` enum('attiva','sospesa','archiviata') NOT NULL DEFAULT 'attiva', `temporanea` tinyint(1) NOT NULL DEFAULT 0, `validita_da` date DEFAULT NULL, `data_decorrenza` date DEFAULT NULL, `validita_a` date DEFAULT NULL, `totale_millesimi` decimal(10,4) NOT NULL DEFAULT 1000.0000, `configurazione` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`configurazione`)), `meta_legacy` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta_legacy`)), `created_by` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_tabella_per_stabile` (`stabile_id`,`nome_tabella`), KEY `tabelle_millesimali_created_by_foreign` (`created_by`), KEY `stabile_id_tipo_tabella_index` (`stabile_id`,`tipo_tabella`), KEY `stabile_id_attiva_index` (`stabile_id`,`attiva`), KEY `tabelle_millesimali_stato_tabella_index` (`stato_tabella`), KEY `tabelle_millesimali_creato_da_foreign` (`creato_da`), KEY `tabelle_millesimali_modificato_da_foreign` (`modificato_da`), KEY `tabelle_millesimali_legacy_codice_index` (`legacy_codice`), KEY `tabelle_millesimali_conto_pd_index` (`conto_pd`), KEY `tabelle_millesimali_anno_gestione_index` (`anno_gestione`), CONSTRAINT `tabelle_millesimali_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `tabelle_millesimali_creato_da_foreign` FOREIGN KEY (`creato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `tabelle_millesimali_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `tabelle_millesimali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `template_configurazioni` -- DROP TABLE IF EXISTS `template_configurazioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `template_configurazioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome_template` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `configurazioni_default` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`configurazioni_default`)), `tabelle_millesimali_default` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`tabelle_millesimali_default`)), `tipi_superficie_incluse` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`tipi_superficie_incluse`)), `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `template_history` -- DROP TABLE IF EXISTS `template_history`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `template_history` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `template_id` bigint(20) unsigned NOT NULL, `versione_precedente` varchar(20) NOT NULL, `modifiche` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`modifiche`)), `note_modifica` text DEFAULT NULL, `modificato_da` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NOT NULL, PRIMARY KEY (`id`), KEY `template_history_template_id_created_at_index` (`template_id`,`created_at`), KEY `template_history_modificato_da_foreign` (`modificato_da`), CONSTRAINT `template_history_modificato_da_foreign` FOREIGN KEY (`modificato_da`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `template_history_template_id_foreign` FOREIGN KEY (`template_id`) REFERENCES `stampe_templates` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `template_ratings` -- DROP TABLE IF EXISTS `template_ratings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `template_ratings` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `template_id` bigint(20) unsigned NOT NULL, `user_id` bigint(20) unsigned NOT NULL, `rating` tinyint(4) NOT NULL, `recensione` text DEFAULT NULL, `is_verified` tinyint(1) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `template_ratings_template_id_user_id_unique` (`template_id`,`user_id`), KEY `template_ratings_template_id_rating_index` (`template_id`,`rating`), KEY `template_ratings_user_id_foreign` (`user_id`), CONSTRAINT `template_ratings_template_id_foreign` FOREIGN KEY (`template_id`) REFERENCES `stampe_templates` (`id`) ON DELETE CASCADE, CONSTRAINT `template_ratings_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `tenant_archive_registries` -- DROP TABLE IF EXISTS `tenant_archive_registries`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `tenant_archive_registries` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `archive_type` varchar(30) NOT NULL, `archive_code` varchar(80) NOT NULL, `amministratore_id` bigint(20) unsigned DEFAULT NULL, `stabile_id` bigint(20) unsigned DEFAULT NULL, `owner_amministratore_id` bigint(20) unsigned DEFAULT NULL, `owner_amministratore_code` varchar(80) DEFAULT NULL, `database_name` varchar(120) DEFAULT NULL, `database_strategy` varchar(30) NOT NULL DEFAULT 'shared', `storage_disk` varchar(40) NOT NULL DEFAULT 'local', `storage_relative_path` varchar(255) NOT NULL, `status` varchar(30) NOT NULL DEFAULT 'active', `last_aligned_at` timestamp NULL DEFAULT NULL, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tenant_archive_type_code_unique` (`archive_type`,`archive_code`), KEY `tenant_archive_registries_amministratore_id_foreign` (`amministratore_id`), KEY `tenant_archive_owner_type_idx` (`owner_amministratore_id`,`archive_type`), KEY `tenant_archive_stabile_status_idx` (`stabile_id`,`status`), CONSTRAINT `tenant_archive_registries_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE SET NULL, CONSTRAINT `tenant_archive_registries_owner_amministratore_id_foreign` FOREIGN KEY (`owner_amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE SET NULL, CONSTRAINT `tenant_archive_registries_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ticket_attachments` -- DROP TABLE IF EXISTS `ticket_attachments`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_attachments` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint(20) unsigned NOT NULL, `ticket_update_id` bigint(20) unsigned DEFAULT NULL, `user_id` bigint(20) unsigned NOT NULL COMMENT 'Utente che ha caricato l allegato', `file_path` varchar(255) NOT NULL, `original_file_name` varchar(255) NOT NULL, `mime_type` varchar(255) DEFAULT NULL, `size` bigint(20) unsigned DEFAULT NULL COMMENT 'Dimensione in bytes', `description` varchar(255) DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_attachments_ticket_id_foreign` (`ticket_id`), KEY `ticket_attachments_ticket_update_id_foreign` (`ticket_update_id`), KEY `ticket_attachments_user_id_foreign` (`user_id`), CONSTRAINT `ticket_attachments_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_attachments_ticket_update_id_foreign` FOREIGN KEY (`ticket_update_id`) REFERENCES `ticket_updates` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_attachments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ticket_interventi` -- DROP TABLE IF EXISTS `ticket_interventi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_interventi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned DEFAULT NULL, `creato_da_user_id` bigint(20) unsigned DEFAULT NULL, `preso_in_carico_da_user_id` bigint(20) unsigned DEFAULT NULL, `eseguito_da_dipendente_id` bigint(20) unsigned DEFAULT NULL, `stato` varchar(40) NOT NULL DEFAULT 'assegnato', `note_amministratore` text DEFAULT NULL, `rapporto_fornitore` text DEFAULT NULL, `articoli_utilizzati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`articoli_utilizzati`)), `materiali_utilizzati` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`materiali_utilizzati`)), `tempo_minuti` int(10) unsigned DEFAULT NULL, `iniziato_at` timestamp NULL DEFAULT NULL, `terminato_at` timestamp NULL DEFAULT NULL, `foto_path` varchar(255) DEFAULT NULL, `qr_token` varchar(255) DEFAULT NULL, `qr_scansionato_at` timestamp NULL DEFAULT NULL, `check_foto_ok` tinyint(1) NOT NULL DEFAULT 0, `check_qr_ok` tinyint(1) NOT NULL DEFAULT 0, `check_admin_ok` tinyint(1) NOT NULL DEFAULT 0, `riferimento_chiusura` varchar(255) DEFAULT NULL, `fattura_numero` varchar(255) DEFAULT NULL, `fattura_data` date DEFAULT NULL, `fattura_imponibile` decimal(12,2) DEFAULT NULL, `fattura_totale` decimal(12,2) DEFAULT NULL, `fe_riferimento` varchar(255) DEFAULT NULL, `notifica_chiusura_inviata_at` timestamp NULL DEFAULT NULL, `chiuso_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_interventi_creato_da_user_id_foreign` (`creato_da_user_id`), KEY `ticket_interventi_preso_in_carico_da_user_id_foreign` (`preso_in_carico_da_user_id`), KEY `ticket_interventi_fornitore_id_stato_index` (`fornitore_id`,`stato`), KEY `ticket_interventi_ticket_id_stato_index` (`ticket_id`,`stato`), KEY `ticket_interventi_eseguito_da_dipendente_id_foreign` (`eseguito_da_dipendente_id`), KEY `ticket_int_forn_dip_idx` (`fornitore_id`,`eseguito_da_dipendente_id`), CONSTRAINT `ticket_interventi_creato_da_user_id_foreign` FOREIGN KEY (`creato_da_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_interventi_eseguito_da_dipendente_id_foreign` FOREIGN KEY (`eseguito_da_dipendente_id`) REFERENCES `fornitore_dipendenti` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_interventi_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_interventi_preso_in_carico_da_user_id_foreign` FOREIGN KEY (`preso_in_carico_da_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_interventi_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ticket_intervento_sessioni` -- DROP TABLE IF EXISTS `ticket_intervento_sessioni`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_intervento_sessioni` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ticket_intervento_id` bigint(20) unsigned NOT NULL, `ticket_id` bigint(20) unsigned NOT NULL, `fornitore_id` bigint(20) unsigned NOT NULL, `fornitore_dipendente_id` bigint(20) unsigned DEFAULT NULL, `created_by_user_id` bigint(20) unsigned DEFAULT NULL, `closed_by_user_id` bigint(20) unsigned DEFAULT NULL, `session_type` varchar(24) NOT NULL DEFAULT 'work', `note` varchar(255) DEFAULT NULL, `started_at` timestamp NULL DEFAULT NULL, `ended_at` timestamp NULL DEFAULT NULL, `duration_minutes` int(10) unsigned DEFAULT NULL, `start_latitude` decimal(10,7) DEFAULT NULL, `start_longitude` decimal(10,7) DEFAULT NULL, `start_accuracy_meters` int(10) unsigned DEFAULT NULL, `start_source` varchar(24) DEFAULT NULL, `end_latitude` decimal(10,7) DEFAULT NULL, `end_longitude` decimal(10,7) DEFAULT NULL, `end_accuracy_meters` int(10) unsigned DEFAULT NULL, `end_source` varchar(24) DEFAULT NULL, `geo_payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`geo_payload`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_intervento_sessioni_ticket_id_foreign` (`ticket_id`), KEY `ticket_intervento_sessioni_fornitore_dipendente_id_foreign` (`fornitore_dipendente_id`), KEY `ticket_intervento_sessioni_created_by_user_id_foreign` (`created_by_user_id`), KEY `ticket_intervento_sessioni_closed_by_user_id_foreign` (`closed_by_user_id`), KEY `ticket_int_sessioni_forn_start_idx` (`fornitore_id`,`started_at`), KEY `ticket_int_sessioni_type_idx` (`ticket_intervento_id`,`session_type`), KEY `ticket_intervento_sessioni_session_type_index` (`session_type`), KEY `ticket_intervento_sessioni_started_at_index` (`started_at`), KEY `ticket_intervento_sessioni_ended_at_index` (`ended_at`), CONSTRAINT `ticket_intervento_sessioni_closed_by_user_id_foreign` FOREIGN KEY (`closed_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_intervento_sessioni_created_by_user_id_foreign` FOREIGN KEY (`created_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_intervento_sessioni_fornitore_dipendente_id_foreign` FOREIGN KEY (`fornitore_dipendente_id`) REFERENCES `fornitore_dipendenti` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_intervento_sessioni_fornitore_id_foreign` FOREIGN KEY (`fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_intervento_sessioni_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_intervento_sessioni_ticket_intervento_id_foreign` FOREIGN KEY (`ticket_intervento_id`) REFERENCES `ticket_interventi` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ticket_messages` -- DROP TABLE IF EXISTS `ticket_messages`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_messages` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint(20) unsigned NOT NULL, `user_id` bigint(20) unsigned DEFAULT NULL, `messaggio` text NOT NULL, `canale` varchar(20) NOT NULL DEFAULT 'interno', `direzione` varchar(20) NOT NULL DEFAULT 'interno', `oggetto` varchar(255) DEFAULT NULL, `email_mittente` varchar(255) DEFAULT NULL, `email_destinatario` varchar(255) DEFAULT NULL, `external_message_id` varchar(255) DEFAULT NULL, `inviato_il` timestamp NULL DEFAULT NULL, `eml_documento_id` bigint(20) unsigned DEFAULT NULL, `metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_messages_ticket_id_foreign` (`ticket_id`), KEY `ticket_messages_user_id_foreign` (`user_id`), KEY `ticket_messages_eml_documento_id_foreign` (`eml_documento_id`), KEY `ticket_messages_ticket_canale_idx` (`ticket_id`,`canale`), KEY `ticket_messages_external_message_id_idx` (`external_message_id`), CONSTRAINT `ticket_messages_eml_documento_id_foreign` FOREIGN KEY (`eml_documento_id`) REFERENCES `documenti` (`id`) ON DELETE SET NULL, CONSTRAINT `ticket_messages_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_messages_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `ticket_updates` -- DROP TABLE IF EXISTS `ticket_updates`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `ticket_updates` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `ticket_id` bigint(20) unsigned NOT NULL, `user_id` bigint(20) unsigned DEFAULT NULL, `update_text` text NOT NULL COMMENT 'Testo dell''aggiornamento o nota interna', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `ticket_updates_ticket_id_foreign` (`ticket_id`), KEY `ticket_updates_user_id_foreign` (`user_id`), CONSTRAINT `ticket_updates_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE, CONSTRAINT `ticket_updates_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `tickets` -- DROP TABLE IF EXISTS `tickets`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `tickets` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `unita_immobiliare_id` bigint(20) unsigned DEFAULT NULL, `soggetto_richiedente_id` bigint(20) unsigned DEFAULT NULL, `aperto_da_user_id` bigint(20) unsigned NOT NULL, `categoria_ticket_id` bigint(20) unsigned DEFAULT NULL, `titolo` varchar(255) NOT NULL, `descrizione` text NOT NULL, `luogo_intervento` varchar(255) DEFAULT NULL COMMENT 'Es. Scala A, Piano 3, Interno 5', `stato` enum('Aperto','Preso in Carico','In Lavorazione','In Attesa Approvazione','In Attesa Ricambi','Risolto','Chiuso','Annullato') NOT NULL DEFAULT 'Aperto', `priorita` enum('Bassa','Media','Alta','Urgente') NOT NULL DEFAULT 'Media', `assegnato_a_user_id` bigint(20) unsigned DEFAULT NULL, `assegnato_a_fornitore_id` bigint(20) unsigned DEFAULT NULL, `data_apertura` timestamp NOT NULL DEFAULT current_timestamp(), `data_scadenza_prevista` date DEFAULT NULL, `data_risoluzione_effettiva` timestamp NULL DEFAULT NULL, `data_chiusura_effettiva` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `tickets_stabile_id_foreign` (`stabile_id`), KEY `tickets_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `tickets_soggetto_richiedente_id_foreign` (`soggetto_richiedente_id`), KEY `tickets_aperto_da_user_id_foreign` (`aperto_da_user_id`), KEY `tickets_categoria_ticket_id_foreign` (`categoria_ticket_id`), KEY `tickets_assegnato_a_user_id_foreign` (`assegnato_a_user_id`), KEY `tickets_assegnato_a_fornitore_id_foreign` (`assegnato_a_fornitore_id`), CONSTRAINT `tickets_aperto_da_user_id_foreign` FOREIGN KEY (`aperto_da_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE, CONSTRAINT `tickets_assegnato_a_fornitore_id_foreign` FOREIGN KEY (`assegnato_a_fornitore_id`) REFERENCES `fornitori` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_assegnato_a_user_id_foreign` FOREIGN KEY (`assegnato_a_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_categoria_ticket_id_foreign` FOREIGN KEY (`categoria_ticket_id`) REFERENCES `categorie_ticket` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_soggetto_richiedente_id_foreign` FOREIGN KEY (`soggetto_richiedente_id`) REFERENCES `anagrafiche` (`id`) ON DELETE SET NULL, CONSTRAINT `tickets_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `tickets_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `tipi_relazione_persona_unita` -- DROP TABLE IF EXISTS `tipi_relazione_persona_unita`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `tipi_relazione_persona_unita` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(50) NOT NULL, `descrizione` varchar(100) NOT NULL, `richiede_quota` tinyint(1) NOT NULL DEFAULT 0, `vota_assemblea` tinyint(1) NOT NULL DEFAULT 0, `riceve_convocazioni` tinyint(1) NOT NULL DEFAULT 1, `ordine_visualizzazione` int(11) NOT NULL DEFAULT 0, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tipi_relazione_persona_unita_codice_unique` (`codice`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `tipi_superficie` -- DROP TABLE IF EXISTS `tipi_superficie`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `tipi_superficie` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `codice` varchar(255) NOT NULL, `descrizione` text DEFAULT NULL, `obbligatoria` tinyint(1) NOT NULL DEFAULT 0, `per_millesimi` tinyint(1) NOT NULL DEFAULT 1, `unita_misura` varchar(255) NOT NULL DEFAULT 'mq', `moltiplicatore_default` decimal(5,3) NOT NULL DEFAULT 1.000, `ordine_visualizzazione` int(11) NOT NULL DEFAULT 100, `attiva` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tipi_superficie_codice_unique` (`codice`), KEY `tipi_superficie_attiva_index` (`attiva`), KEY `tipi_superficie_ordine_visualizzazione_index` (`ordine_visualizzazione`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `tipi_utilizzo` -- DROP TABLE IF EXISTS `tipi_utilizzo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `tipi_utilizzo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(10) NOT NULL COMMENT 'Codice tipo utilizzo (es: ABT, NEG, CAN)', `descrizione` varchar(255) NOT NULL COMMENT 'Descrizione tipo utilizzo', `note` text DEFAULT NULL COMMENT 'Note aggiuntive', `attivo` tinyint(1) NOT NULL DEFAULT 1 COMMENT 'Se il tipo è utilizzabile', `configurazioni_default` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Configurazioni default per questo tipo' CHECK (json_valid(`configurazioni_default`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tipi_utilizzo_codice_unique` (`codice`), KEY `tipi_utilizzo_codice_index` (`codice`), KEY `tipi_utilizzo_attivo_index` (`attivo`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `tipologie_cassa` -- DROP TABLE IF EXISTS `tipologie_cassa`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `tipologie_cassa` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(20) NOT NULL, `descrizione` varchar(255) NOT NULL, `aliquota` decimal(5,2) DEFAULT NULL, `attivo` tinyint(1) NOT NULL DEFAULT 1, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tipologie_cassa_codice_unique` (`codice`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `titoli` -- DROP TABLE IF EXISTS `titoli`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `titoli` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL, `sigla` varchar(255) DEFAULT NULL, `ordine` int(11) NOT NULL DEFAULT 0, `attivo` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `unita_anagrafica_periodo` -- DROP TABLE IF EXISTS `unita_anagrafica_periodo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `unita_anagrafica_periodo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `anagrafica_id` bigint(20) unsigned NOT NULL, `ruolo_occupazione` varchar(50) DEFAULT NULL, `data_inizio` date NOT NULL, `data_fine` date DEFAULT NULL, `percentuale_spesa` decimal(6,3) NOT NULL DEFAULT 100.000, `sussidiata_da_proprietario` tinyint(1) NOT NULL DEFAULT 0, `proprietario_garante_id` bigint(20) unsigned DEFAULT NULL, `legacy_metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`legacy_metadata`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `unita_anagrafica_periodo_unita_immobiliare_id_foreign` (`unita_immobiliare_id`), KEY `unita_anagrafica_periodo_anagrafica_id_foreign` (`anagrafica_id`), CONSTRAINT `unita_anagrafica_periodo_anagrafica_id_foreign` FOREIGN KEY (`anagrafica_id`) REFERENCES `anagrafiche` (`id`), CONSTRAINT `unita_anagrafica_periodo_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=1178 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `unita_immobiliare_nominativi` -- DROP TABLE IF EXISTS `unita_immobiliare_nominativi`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `unita_immobiliare_nominativi` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_immobiliare_id` bigint(20) unsigned NOT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `legacy_cond_id` varchar(50) DEFAULT NULL, `ruolo` enum('C','I') NOT NULL, `nominativo` varchar(255) DEFAULT NULL, `data_inizio` date DEFAULT NULL, `data_fine` date DEFAULT NULL, `percentuale` decimal(6,3) DEFAULT NULL, `fonte` varchar(50) DEFAULT NULL, `legacy_payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`legacy_payload`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `unita_immobiliare_nominativi_unita_immobiliare_id_ruolo_index` (`unita_immobiliare_id`,`ruolo`), KEY `uin_stabile_ruolo_legacy_idx` (`stabile_id`,`ruolo`,`legacy_cond_id`), KEY `unita_immobiliare_nominativi_legacy_cond_id_index` (`legacy_cond_id`), KEY `unita_immobiliare_nominativi_ruolo_index` (`ruolo`), KEY `unita_immobiliare_nominativi_data_inizio_index` (`data_inizio`), KEY `unita_immobiliare_nominativi_data_fine_index` (`data_fine`), CONSTRAINT `unita_immobiliare_nominativi_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `unita_immobiliare_nominativi_unita_immobiliare_id_foreign` FOREIGN KEY (`unita_immobiliare_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=14977 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `unita_immobiliari` -- DROP TABLE IF EXISTS `unita_immobiliari`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `unita_immobiliari` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `riscaldamento` enum('centralizzato','autonomo','assente') NOT NULL DEFAULT 'centralizzato', `millesimi_riscaldamento` decimal(6,3) DEFAULT NULL, `millesimi_acqua` decimal(6,3) DEFAULT NULL, `acqua_contatore_seriale` varchar(255) DEFAULT NULL, `acqua_gateway_device_id` varchar(255) DEFAULT NULL, `acqua_gateway_meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`acqua_gateway_meta`)), `millesimi_ascensore` decimal(6,3) DEFAULT NULL, `millesimi_scale` decimal(6,3) DEFAULT NULL, `stabile_id` bigint(20) unsigned NOT NULL, `palazzina_id` bigint(20) unsigned DEFAULT NULL, `codice_unita` varchar(20) DEFAULT NULL, `denominazione` varchar(255) DEFAULT NULL, `descrizione` text DEFAULT NULL, `palazzina` varchar(10) DEFAULT NULL COMMENT 'Palazzina/Fabbricato', `palazzina_old` varchar(255) DEFAULT NULL, `interno` varchar(255) DEFAULT NULL, `posizione_dettagliata` varchar(255) DEFAULT NULL, `sezione_urbana` varchar(10) DEFAULT NULL, `scala` varchar(255) DEFAULT NULL, `piano` varchar(255) DEFAULT NULL, `subalterno` varchar(255) DEFAULT NULL, `tipo_utilizzo_id` bigint(20) unsigned DEFAULT NULL COMMENT 'FK verso tipi_utilizzo', `categoria_catastale` varchar(10) DEFAULT NULL, `superficie` decimal(8,2) DEFAULT NULL, `numero_vani` tinyint(4) DEFAULT NULL, `numero_bagni` tinyint(4) DEFAULT NULL, `numero_camere` tinyint(4) DEFAULT NULL, `tipo_cucina` enum('abitabile','cucinotto','angolo_cottura','assente') DEFAULT NULL, `ha_balconi` tinyint(1) NOT NULL DEFAULT 0, `numero_balconi` tinyint(4) DEFAULT NULL, `ha_giardino_privato` tinyint(1) NOT NULL DEFAULT 0, `ha_posto_auto_assegnato` tinyint(1) NOT NULL DEFAULT 0, `ha_cantina_assegnata` tinyint(1) NOT NULL DEFAULT 0, `ha_soffitta_assegnata` tinyint(1) NOT NULL DEFAULT 0, `anno_costruzione` year(4) DEFAULT NULL, `anno_ristrutturazione` year(4) DEFAULT NULL, `necessita_lavori` tinyint(1) NOT NULL DEFAULT 0, `note_tecniche` text DEFAULT NULL, `struttura_fisica_id` bigint(20) unsigned DEFAULT NULL, `calcolo_automatico_millesimi` tinyint(1) NOT NULL DEFAULT 1, `notifiche_subentri` tinyint(1) NOT NULL DEFAULT 1, `created_by` bigint(20) unsigned DEFAULT NULL, `updated_by` bigint(20) unsigned DEFAULT NULL, `vani` decimal(5,2) DEFAULT NULL, `millesimi_proprieta` decimal(8,4) DEFAULT NULL COMMENT 'Millesimi di proprietà generale', `legacy_cond_id` varchar(50) DEFAULT NULL, `rendita_catastale` decimal(10,2) DEFAULT NULL COMMENT 'Rendita catastale', `codice_univoco` varchar(8) DEFAULT NULL COMMENT 'Codice univoco unità (8 caratteri)', `stato` enum('attiva','inattiva','venduta','demolita') NOT NULL DEFAULT 'attiva', `indirizzo` varchar(255) DEFAULT NULL COMMENT 'Indirizzo specifico se diverso da quello del condominio', `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, `superficie_calpestabile` decimal(8,2) DEFAULT NULL, `superficie_balconi` decimal(6,2) DEFAULT NULL, `superficie_giardino_privato` decimal(8,2) DEFAULT NULL, `tipo_unita` enum('abitazione','studio_professionale','attivita_commerciale','magazzino_deposito','box_garage','cantina','soffitta','spazio_comune_redditizio','locale_tecnico','altro') NOT NULL DEFAULT 'abitazione', `tipologia_id` bigint(20) unsigned DEFAULT NULL, `utilizzo_attuale` enum('abitazione_principale','abitazione_secondaria','studio_medico','studio_legale','struttura_ricettiva','attivita_commerciale','locale_commerciale_affitto','sala_eventi_affittabile','parcheggio_pagamento','lavanderia_comune','deposito_attrezzature','ufficio','magazzino','non_utilizzato') NOT NULL DEFAULT 'abitazione_principale', `numero_locali` tinyint(4) DEFAULT NULL, `ha_climatizzazione` tinyint(1) NOT NULL DEFAULT 0, `anno_impianto_elettrico` int(11) DEFAULT NULL, `anno_impianto_idraulico` int(11) DEFAULT NULL, `ha_impianto_gas` tinyint(1) NOT NULL DEFAULT 0, `anno_sostituzione_infissi` int(11) DEFAULT NULL, `millesimi_generali` decimal(6,3) DEFAULT NULL, `cin` varchar(20) DEFAULT NULL, `licenza_commerciale` varchar(50) DEFAULT NULL, `autorizzazione_professionale` varchar(100) DEFAULT NULL, `ha_cambio_destinazione_uso` tinyint(1) NOT NULL DEFAULT 0, `data_scadenza_autorizzazioni` date DEFAULT NULL, `note_autorizzazioni` text DEFAULT NULL, `stato_conservazione` enum('ottimo','buono','discreto','da_ristrutturare') NOT NULL DEFAULT 'buono', `anno_ultima_ristrutturazione` int(11) DEFAULT NULL, `stato_occupazione` enum('occupata_proprietario','occupata_inquilino','libera','in_vendita','in_affitto') NOT NULL DEFAULT 'occupata_proprietario', `valore_commerciale_stimato` decimal(12,2) DEFAULT NULL, `canone_locazione_mensile` decimal(8,2) DEFAULT NULL, `data_ultima_valutazione` date DEFAULT NULL, `unita_demo` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), UNIQUE KEY `unita_immobiliari_codice_univoco_unique` (`codice_univoco`), UNIQUE KEY `unita_stabile_codice_unique` (`stabile_id`,`codice_unita`), KEY `idx_unita_stabile_stato` (`stabile_id`,`stato`), KEY `idx_unita_tipo_utilizzo` (`tipo_utilizzo_id`), KEY `unita_immobiliari_struttura_fisica_id_foreign` (`struttura_fisica_id`), KEY `unita_immobiliari_created_by_foreign` (`created_by`), KEY `unita_immobiliari_updated_by_foreign` (`updated_by`), KEY `unita_immobiliari_necessita_lavori_index` (`necessita_lavori`), KEY `unita_immobiliari_palazzina_id_foreign` (`palazzina_id`), KEY `unita_immobiliari_tipologia_id_foreign` (`tipologia_id`), KEY `ui_stabile_legacy_cond_idx` (`stabile_id`,`legacy_cond_id`), KEY `unita_immobiliari_acqua_contatore_seriale_index` (`acqua_contatore_seriale`), KEY `unita_immobiliari_acqua_gateway_device_id_index` (`acqua_gateway_device_id`), CONSTRAINT `unita_immobiliari_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `unita_immobiliari_palazzina_id_foreign` FOREIGN KEY (`palazzina_id`) REFERENCES `palazzine` (`id`) ON DELETE CASCADE, CONSTRAINT `unita_immobiliari_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `unita_immobiliari_struttura_fisica_id_foreign` FOREIGN KEY (`struttura_fisica_id`) REFERENCES `struttura_fisica_dettaglio` (`id`) ON DELETE SET NULL, CONSTRAINT `unita_immobiliari_tipologia_id_foreign` FOREIGN KEY (`tipologia_id`) REFERENCES `unita_tipologie` (`id`) ON DELETE SET NULL, CONSTRAINT `unita_immobiliari_updated_by_foreign` FOREIGN KEY (`updated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=1751 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `unita_pertinenze` -- DROP TABLE IF EXISTS `unita_pertinenze`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `unita_pertinenze` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `unita_principale_id` bigint(20) unsigned NOT NULL, `unita_accessoria_id` bigint(20) unsigned NOT NULL, `tipo` enum('cantina','box_garage','soffitta','altro') NOT NULL DEFAULT 'cantina', `cumulo` tinyint(1) NOT NULL DEFAULT 1, `note` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_pertinenza_pair` (`unita_principale_id`,`unita_accessoria_id`), KEY `unita_pertinenze_unita_accessoria_id_foreign` (`unita_accessoria_id`), KEY `unita_pertinenze_stabile_id_tipo_index` (`stabile_id`,`tipo`), CONSTRAINT `unita_pertinenze_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `unita_pertinenze_unita_accessoria_id_foreign` FOREIGN KEY (`unita_accessoria_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE, CONSTRAINT `unita_pertinenze_unita_principale_id_foreign` FOREIGN KEY (`unita_principale_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `unita_recapiti_servizio` -- DROP TABLE IF EXISTS `unita_recapiti_servizio`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `unita_recapiti_servizio` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `unita_id` bigint(20) unsigned NOT NULL, `persona_id` bigint(20) unsigned DEFAULT NULL, `tipo_servizio` varchar(50) NOT NULL, `email` varchar(255) NOT NULL, `etichetta` varchar(120) DEFAULT NULL, `note` text DEFAULT NULL, `ordine` int(10) unsigned NOT NULL DEFAULT 1, `is_default` tinyint(1) NOT NULL DEFAULT 1, `attivo` tinyint(1) NOT NULL DEFAULT 1, `sorgente` varchar(50) NOT NULL DEFAULT 'manuale', `last_confirmed_at` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unita_recapito_servizio_unico` (`unita_id`,`persona_id`,`tipo_servizio`,`email`), KEY `unita_recapiti_servizio_unita_id_tipo_servizio_index` (`unita_id`,`tipo_servizio`), KEY `unita_recapiti_servizio_persona_id_tipo_servizio_index` (`persona_id`,`tipo_servizio`), KEY `unita_recapiti_servizio_attivo_tipo_servizio_index` (`attivo`,`tipo_servizio`), CONSTRAINT `unita_recapiti_servizio_persona_id_foreign` FOREIGN KEY (`persona_id`) REFERENCES `persone` (`id`) ON DELETE SET NULL, CONSTRAINT `unita_recapiti_servizio_unita_id_foreign` FOREIGN KEY (`unita_id`) REFERENCES `unita_immobiliari` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `unita_tipologie` -- DROP TABLE IF EXISTS `unita_tipologie`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `unita_tipologie` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `codice` varchar(50) NOT NULL, `nome` varchar(255) NOT NULL, `categoria` varchar(255) DEFAULT NULL, `is_pertinenza` tinyint(1) NOT NULL DEFAULT 0, `is_condominiale` tinyint(1) NOT NULL DEFAULT 0, `meta` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unita_tipologie_codice_unique` (`codice`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `user_settings` -- DROP TABLE IF EXISTS `user_settings`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `user_settings` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned NOT NULL, `key` varchar(255) NOT NULL, `value` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `user_settings_user_id_key_unique` (`user_id`,`key`), CONSTRAINT `user_settings_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `users` -- DROP TABLE IF EXISTS `users`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `users` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `amministratore_id` bigint(20) unsigned DEFAULT NULL, `created_by_user_id` bigint(20) unsigned DEFAULT NULL, `last_stabile_id` bigint(20) unsigned DEFAULT NULL, `name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `codice_univoco` varchar(8) DEFAULT NULL, `email_verified_at` timestamp NULL DEFAULT NULL, `expires_at` timestamp NULL DEFAULT NULL, `password` varchar(255) NOT NULL, `two_factor_secret` text DEFAULT NULL, `two_factor_recovery_codes` text DEFAULT NULL, `two_factor_confirmed_at` timestamp NULL DEFAULT NULL, `pbx_extension` varchar(20) DEFAULT NULL, `pbx_popup_enabled` tinyint(1) NOT NULL DEFAULT 0, `pbx_click_to_call_enabled` tinyint(1) NOT NULL DEFAULT 0, `remember_token` varchar(100) DEFAULT NULL, `is_active` tinyint(1) NOT NULL DEFAULT 1, `registration_status` varchar(32) NOT NULL DEFAULT 'approved', `requested_role` varchar(64) DEFAULT NULL, `subscription_plan_id` bigint(20) unsigned DEFAULT NULL, `approved_by_user_id` bigint(20) unsigned DEFAULT NULL, `approved_at` timestamp NULL DEFAULT NULL, `rejected_at` timestamp NULL DEFAULT NULL, `rejection_reason` varchar(500) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `users_email_unique` (`email`), UNIQUE KEY `users_codice_univoco_unique` (`codice_univoco`), KEY `users_amministratore_id_foreign` (`amministratore_id`), KEY `users_created_by_user_id_foreign` (`created_by_user_id`), KEY `users_last_stabile_id_foreign` (`last_stabile_id`), KEY `users_subscription_plan_id_foreign` (`subscription_plan_id`), KEY `users_approved_by_user_id_foreign` (`approved_by_user_id`), CONSTRAINT `users_amministratore_id_foreign` FOREIGN KEY (`amministratore_id`) REFERENCES `amministratori` (`id`) ON DELETE SET NULL, CONSTRAINT `users_approved_by_user_id_foreign` FOREIGN KEY (`approved_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `users_created_by_user_id_foreign` FOREIGN KEY (`created_by_user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL, CONSTRAINT `users_last_stabile_id_foreign` FOREIGN KEY (`last_stabile_id`) REFERENCES `stabili` (`id`) ON DELETE SET NULL, CONSTRAINT `users_subscription_plan_id_foreign` FOREIGN KEY (`subscription_plan_id`) REFERENCES `subscription_plans` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; /*!50003 SET @saved_col_connection = @@collation_connection */ ; /*!50003 SET character_set_client = utf8mb4 */ ; /*!50003 SET character_set_results = utf8mb4 */ ; /*!50003 SET collation_connection = utf8mb4_unicode_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; /*!50003 CREATE*/ /*!50017 DEFINER=`netgescon_user`@`localhost`*/ /*!50003 TRIGGER trg_users_codice_univoco BEFORE INSERT ON users FOR EACH ROW BEGIN IF NEW.codice_univoco IS NULL OR NEW.codice_univoco = '' THEN CALL sp_next_codice_univoco('USERS', @generated_code); SET NEW.codice_univoco = @generated_code; END IF; END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `versamenti_fiscali` -- DROP TABLE IF EXISTS `versamenti_fiscali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `versamenti_fiscali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `anno` int(11) NOT NULL, `mese` int(11) NOT NULL, `codice` varchar(255) NOT NULL, `importo_ritenute` decimal(10,2) NOT NULL, `importo_versato` decimal(10,2) NOT NULL, `data_versamento` date NOT NULL, `riferimento_f24` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `versamenti_fiscali_stabile_id_anno_mese_index` (`stabile_id`,`anno`,`mese`), CONSTRAINT `versamenti_fiscali_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili_gescon` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `voci_preventivo` -- DROP TABLE IF EXISTS `voci_preventivo`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `voci_preventivo` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `preventivo_id` bigint(20) unsigned NOT NULL, `codice` varchar(20) NOT NULL, `descrizione` varchar(255) NOT NULL, `importo_preventivato` decimal(12,2) NOT NULL DEFAULT 0.00, `importo_effettivo` decimal(12,2) DEFAULT NULL, `tabella_millesimale_id` bigint(20) unsigned DEFAULT NULL, `voce_spesa_id` bigint(20) unsigned DEFAULT NULL, `ricorrente` tinyint(1) NOT NULL DEFAULT 0, `frequenza` varchar(32) DEFAULT NULL, `data_scadenza_prevista` date DEFAULT NULL, `ordinamento` int(10) unsigned NOT NULL DEFAULT 0, `note` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `voci_preventivo_preventivo_id_ordinamento_index` (`preventivo_id`,`ordinamento`), KEY `voci_preventivo_tabella_millesimale_id_index` (`tabella_millesimale_id`), KEY `voci_preventivo_voce_spesa_id_index` (`voce_spesa_id`), CONSTRAINT `voci_preventivo_preventivo_id_foreign` FOREIGN KEY (`preventivo_id`) REFERENCES `preventivi` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `voci_spesa` -- DROP TABLE IF EXISTS `voci_spesa`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `voci_spesa` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `stabile_id` bigint(20) unsigned NOT NULL, `gestione_contabile_id` bigint(20) unsigned DEFAULT NULL, `codice` varchar(255) DEFAULT NULL, `legacy_codice` varchar(120) DEFAULT NULL, `descrizione` varchar(255) NOT NULL, `categoria` varchar(255) NOT NULL, `tipo_gestione` varchar(255) NOT NULL DEFAULT 'ordinaria', `tabella_millesimale_default_id` bigint(20) unsigned DEFAULT NULL, `ritenuta_acconto_default` decimal(5,2) NOT NULL DEFAULT 0.00, `importo_default` decimal(12,2) DEFAULT NULL, `importo_consuntivo` decimal(15,2) DEFAULT NULL, `percentuale_condomino` decimal(5,2) NOT NULL DEFAULT 100.00, `percentuale_inquilino` decimal(5,2) NOT NULL DEFAULT 0.00, `attiva` tinyint(1) NOT NULL DEFAULT 1, `ordinamento` int(11) NOT NULL DEFAULT 0, `nord` int(11) DEFAULT NULL, `tipo` varchar(50) DEFAULT NULL COMMENT 'ordinaria/straordinaria/riscaldamento/altro', `legacy_tipo` varchar(60) DEFAULT NULL, `conto_pd` varchar(120) DEFAULT NULL, `sottoconto_pd` varchar(120) DEFAULT NULL, `note` text DEFAULT NULL, `meta_legacy` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`meta_legacy`)), `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `voci_spesa_stabile_gestione_codice_unique` (`stabile_id`,`gestione_contabile_id`,`codice`), KEY `voci_spesa_tabella_millesimale_default_id_foreign` (`tabella_millesimale_default_id`), KEY `voci_spesa_stabile_id_categoria_index` (`stabile_id`,`categoria`), KEY `voci_spesa_stabile_id_attiva_index` (`stabile_id`,`attiva`), KEY `voci_spesa_legacy_codice_index` (`legacy_codice`), KEY `voci_spesa_conto_pd_index` (`conto_pd`), KEY `voci_spesa_gestione_contabile_id_foreign` (`gestione_contabile_id`), CONSTRAINT `voci_spesa_gestione_contabile_id_foreign` FOREIGN KEY (`gestione_contabile_id`) REFERENCES `gestioni_contabili` (`id`) ON DELETE SET NULL, CONSTRAINT `voci_spesa_stabile_id_foreign` FOREIGN KEY (`stabile_id`) REFERENCES `stabili` (`id`) ON DELETE CASCADE, CONSTRAINT `voci_spesa_tabella_millesimale_default_id_foreign` FOREIGN KEY (`tabella_millesimale_default_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE SET NULL ) ENGINE=InnoDB AUTO_INCREMENT=1715 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Table structure for table `voci_spesa_millesimali` -- DROP TABLE IF EXISTS `voci_spesa_millesimali`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8mb4 */; CREATE TABLE `voci_spesa_millesimali` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `tabella_millesimale_id` bigint(20) unsigned NOT NULL, `codice_voce` varchar(5) NOT NULL, `descrizione` varchar(255) NOT NULL, `importo_preventivo` decimal(10,2) DEFAULT NULL, `importo_consuntivo` decimal(10,2) DEFAULT NULL, `attiva` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `voci_spesa_millesimali_tabella_millesimale_id_codice_voce_unique` (`tabella_millesimale_id`,`codice_voce`), CONSTRAINT `voci_spesa_millesimali_tabella_millesimale_id_foreign` FOREIGN KEY (`tabella_millesimale_id`) REFERENCES `tabelle_millesimali` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Temporary table structure for view `vw_gescon_import_addebiti_personali` -- DROP TABLE IF EXISTS `vw_gescon_import_addebiti_personali`; /*!50001 DROP VIEW IF EXISTS `vw_gescon_import_addebiti_personali`*/; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8mb4; /*!50001 CREATE VIEW `vw_gescon_import_addebiti_personali` AS SELECT 1 AS `id`, 1 AS `tipo_gestione`, 1 AS `numero_straordinaria`, 1 AS `codice_spesa`, 1 AS `natura2`, 1 AS `importo`, 1 AS `unita_immobiliare_id`, 1 AS `soggetto_id`, 1 AS `ruolo`, 1 AS `is_unico` */; SET character_set_client = @saved_cs_client; -- -- Temporary table structure for view `vw_gescon_import_detrazioni` -- DROP TABLE IF EXISTS `vw_gescon_import_detrazioni`; /*!50001 DROP VIEW IF EXISTS `vw_gescon_import_detrazioni`*/; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8mb4; /*!50001 CREATE VIEW `vw_gescon_import_detrazioni` AS SELECT 1 AS `id`, 1 AS `legacy_rif`, 1 AS `descrizione`, 1 AS `tipologia`, 1 AS `importo`, 1 AS `cessione_flag`, 1 AS `soggetto_id`, 1 AS `unita_immobiliare_id`, 1 AS `percentuale`, 1 AS `parte_sconto`, 1 AS `importo_riconosciuto` */; SET character_set_client = @saved_cs_client; -- -- Final view structure for view `vw_gescon_import_addebiti_personali` -- /*!50001 DROP VIEW IF EXISTS `vw_gescon_import_addebiti_personali`*/; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; /*!50001 SET character_set_client = utf8mb4 */; /*!50001 SET character_set_results = utf8mb4 */; /*!50001 SET collation_connection = utf8mb4_unicode_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`netgescon_user`@`localhost` SQL SECURITY DEFINER */ /*!50001 VIEW `vw_gescon_import_addebiti_personali` AS select `a`.`id` AS `id`,`a`.`tipo_gestione` AS `tipo_gestione`,`a`.`numero_straordinaria` AS `numero_straordinaria`,`a`.`codice_spesa` AS `codice_spesa`,`a`.`natura2` AS `natura2`,`a`.`importo` AS `importo`,`a`.`unita_immobiliare_id` AS `unita_immobiliare_id`,`a`.`soggetto_id` AS `soggetto_id`,`a`.`ruolo` AS `ruolo`,`a`.`is_unico` AS `is_unico` from `addebiti_personalizzati` `a` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; -- -- Final view structure for view `vw_gescon_import_detrazioni` -- /*!50001 DROP VIEW IF EXISTS `vw_gescon_import_detrazioni`*/; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; /*!50001 SET character_set_client = utf8mb4 */; /*!50001 SET character_set_results = utf8mb4 */; /*!50001 SET collation_connection = utf8mb4_unicode_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`netgescon_user`@`localhost` SQL SECURITY DEFINER */ /*!50001 VIEW `vw_gescon_import_detrazioni` AS select `d`.`id` AS `id`,`d`.`legacy_rif` AS `legacy_rif`,`d`.`descrizione` AS `descrizione`,`d`.`tipologia` AS `tipologia`,`d`.`importo` AS `importo`,`d`.`cessione_flag` AS `cessione_flag`,`p`.`soggetto_id` AS `soggetto_id`,`p`.`unita_immobiliare_id` AS `unita_immobiliare_id`,`p`.`percentuale` AS `percentuale`,`p`.`parte_sconto` AS `parte_sconto`,`p`.`importo_riconosciuto` AS `importo_riconosciuto` from (`detrazioni_fiscali_dom` `d` left join `detrazioni_partecipanti` `p` on(`p`.`detrazione_id` = `d`.`id`)) */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; -- Dump completed on 2026-07-18 20:17:05