-- Export de la base de données: bd_insuite_backbone
-- Date: 2026-03-29 22:06:25
-- Généré par: export_database.php

SET FOREIGN_KEY_CHECKS=0;
SET SQL_MODE = 'NO_AUTO_VALUE_ON_ZERO';
SET time_zone = '+00:00';

-- --------------------------------------------------------
-- Structure de la table `api_tokens`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `api_tokens`;
CREATE TABLE `api_tokens` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `token_hash` char(64) NOT NULL,
  `name` varchar(60) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `last_used_at` datetime DEFAULT NULL,
  `expires_at` datetime DEFAULT NULL,
  `revoked_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_token_hash` (`token_hash`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `api_tokens`

INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('1', '4', '73db6928fa46252bc6dd6b7cd850bd067ade6041b19c5fa16136d5220d85b2bd', 'mobile', '2026-01-01 16:03:36', NULL, '2026-04-01 16:03:36', NULL);
INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('2', '7', '6fade52223bc3bbc37f268fd0803b643d6745d75f0fbde25eeb7255651baa9ea', 'mobile', '2026-03-29 20:25:38', NULL, '2026-06-27 20:25:38', NULL);
INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('3', '7', 'ec4c301e9a588c88fbdd2e875c695979c442bf71f323c242c5c79f9e76097c32', 'mobile', '2026-03-29 20:27:36', NULL, '2026-06-27 20:27:36', NULL);
INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('4', '7', 'fd59cc24aaa9ac967a4eed47449838cd377bb1fa06398bdf24d1f86468539bcd', 'mobile', '2026-03-29 20:30:43', NULL, '2026-06-27 20:30:43', NULL);
INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('5', '7', 'ed8aae02db53ab259b4545ceebbbab5b41d6d4ff7ce3fd18260b45f64cad64cd', 'mobile', '2026-03-29 20:39:30', '2026-03-29 20:44:22', '2026-06-27 20:39:30', NULL);
INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('6', '7', '8c85c6bdc28bbd1f1fb9279b60daa4409185548e4baff5a0402afeaf16f07f2e', 'mobile', '2026-03-29 20:44:32', '2026-03-29 21:43:43', '2026-06-27 20:44:32', NULL);
INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('7', '7', '43cd0442dda745c6db3e76a87e2bb1df915fbbc3799510f8ab82f8faeb781bde', 'mobile', '2026-03-29 21:47:25', '2026-03-29 21:49:54', '2026-06-27 21:47:25', NULL);
INSERT INTO `api_tokens` (`id`, `user_id`, `token_hash`, `name`, `created_at`, `last_used_at`, `expires_at`, `revoked_at`) VALUES ('8', '7', 'deb92357cefa8d2443b0fc418d5f9dd5feee33d243352effcfe1d0c50c864e24', 'mobile', '2026-03-29 21:59:33', '2026-03-29 22:06:23', '2026-06-27 21:59:33', NULL);

-- --------------------------------------------------------
-- Structure de la table `clients`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `clients`;
CREATE TABLE `clients` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Nom du client',
  `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Email du client',
  `phone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Téléphone principal',
  `address` text COLLATE utf8mb4_unicode_ci COMMENT 'Adresse complète',
  `city` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Ville',
  `country` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT 'Côte d''Ivoire' COMMENT 'Pays',
  `contact_person` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Nom de la personne de contact',
  `contact_phone` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Téléphone de la personne de contact',
  `notes` text COLLATE utf8mb4_unicode_ci COMMENT 'Notes internes',
  `active` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Client actif (1) ou inactif (0)',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_name` (`name`),
  KEY `idx_active` (`active`),
  KEY `idx_email` (`email`),
  KEY `idx_city` (`city`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Table des clients';

-- Données de la table `clients`

INSERT INTO `clients` (`id`, `name`, `email`, `phone`, `address`, `city`, `country`, `contact_person`, `contact_phone`, `notes`, `active`, `created_at`, `updated_at`) VALUES ('1', 'Orange Côte d\'Ivoire', 'contact@orange.ci', '+225 27 20 10 00 00', 'Boulevard Lagunaire, Cocody', 'Abidjan', 'Côte d\'Ivoire', 'Jean KOUASSI', '+225 07 12 34 56 78', 'Client principal - Opérateur télécom', '1', '2025-12-15 12:11:38', NULL);
INSERT INTO `clients` (`id`, `name`, `email`, `phone`, `address`, `city`, `country`, `contact_person`, `contact_phone`, `notes`, `active`, `created_at`, `updated_at`) VALUES ('2', 'MTN CI', 'info@mtn.ci', '+225 27 20 30 00 00', 'Avenue Terrasson de Fougères, Plateau', 'Abidjan', 'Côte d\'Ivoire', 'Marie DIABATE', '+225 05 23 45 67 89', 'Opérateur télécom majeur', '1', '2025-12-15 12:11:38', NULL);
INSERT INTO `clients` (`id`, `name`, `email`, `phone`, `address`, `city`, `country`, `contact_person`, `contact_phone`, `notes`, `active`, `created_at`, `updated_at`) VALUES ('3', 'Banque Atlantique', 'contact@banqueatlantique.ci', '+225 27 21 15 00 00', 'Boulevard Carde, Plateau', 'Abidjan', 'Côte d\'Ivoire', 'Pierre TOURE', '+225 01 34 56 78 90', 'Secteur bancaire', '1', '2025-12-15 12:11:38', NULL);
INSERT INTO `clients` (`id`, `name`, `email`, `phone`, `address`, `city`, `country`, `contact_person`, `contact_phone`, `notes`, `active`, `created_at`, `updated_at`) VALUES ('4', 'MOOV CI (ARMEL)', NULL, NULL, NULL, 'Abidjan', 'Côte d\'Ivoire', NULL, NULL, NULL, '1', '2026-03-27 15:57:31', NULL);

-- --------------------------------------------------------
-- Structure de la table `equipments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `equipments`;
CREATE TABLE `equipments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `category` varchar(100) DEFAULT NULL,
  `description` text,
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `category` (`category`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `equipments`

INSERT INTO `equipments` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('1', 'Serveur principal', 'Serveur', 'Serveur de production principal', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `equipments` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('2', 'Switch r├®seau', 'R├®seau', 'Commutateur r├®seau principal', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `equipments` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('3', 'Routeur', 'R├®seau', 'Routeur de connexion internet', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `equipments` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('4', 'Firewall', 'S├®curit├®', 'Pare-feu de s├®curit├®', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `equipments` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('5', 'Fibre optique', 'Fibre', 'Infrastructure fibre optique', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `equipments` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('6', 'UPS', 'Infrastructure', 'Syst├¿me d\'alimentation sans interruption', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');

-- --------------------------------------------------------
-- Structure de la table `incident_assignments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_assignments`;
CREATE TABLE `incident_assignments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `incident_id` int NOT NULL,
  `user_id` int NOT NULL,
  `assigned_by` int DEFAULT NULL,
  `assigned_at` datetime DEFAULT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  KEY `idx_incident` (`incident_id`),
  KEY `idx_user` (`user_id`),
  KEY `idx_active` (`active`),
  KEY `fk_incident_assignments_assigned_by` (`assigned_by`),
  CONSTRAINT `fk_incident_assignments_assigned_by` FOREIGN KEY (`assigned_by`) REFERENCES `users` (`id`),
  CONSTRAINT `fk_incident_assignments_incident` FOREIGN KEY (`incident_id`) REFERENCES `incidents` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_incident_assignments_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `incident_assignments`

INSERT INTO `incident_assignments` (`id`, `incident_id`, `user_id`, `assigned_by`, `assigned_at`, `active`) VALUES ('1', '3', '3', '1', '2025-12-17 11:36:23', '0');
INSERT INTO `incident_assignments` (`id`, `incident_id`, `user_id`, `assigned_by`, `assigned_at`, `active`) VALUES ('2', '3', '3', '1', '2025-12-17 11:41:07', '1');
INSERT INTO `incident_assignments` (`id`, `incident_id`, `user_id`, `assigned_by`, `assigned_at`, `active`) VALUES ('3', '1', '3', '1', '2025-12-17 12:34:58', '1');
INSERT INTO `incident_assignments` (`id`, `incident_id`, `user_id`, `assigned_by`, `assigned_at`, `active`) VALUES ('4', '1', '2', NULL, '2025-12-23 12:40:04', '1');
INSERT INTO `incident_assignments` (`id`, `incident_id`, `user_id`, `assigned_by`, `assigned_at`, `active`) VALUES ('5', '1', '2', NULL, '2025-12-23 12:40:12', '1');
INSERT INTO `incident_assignments` (`id`, `incident_id`, `user_id`, `assigned_by`, `assigned_at`, `active`) VALUES ('6', '5', '4', '1', '2026-03-27 16:06:08', '1');

-- --------------------------------------------------------
-- Structure de la table `incident_attachments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_attachments`;
CREATE TABLE `incident_attachments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `report_id` int NOT NULL,
  `type` varchar(20) NOT NULL,
  `path` varchar(255) NOT NULL,
  `uploaded_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `observation` text,
  `lat` decimal(10,7) DEFAULT NULL,
  `lng` decimal(11,7) DEFAULT NULL,
  `taken_by` varchar(255) DEFAULT NULL,
  `taken_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_attachments`

INSERT INTO `incident_attachments` (`id`, `report_id`, `type`, `path`, `uploaded_at`, `observation`, `lat`, `lng`, `taken_by`, `taken_at`) VALUES ('1', '1', 'intervention_photo', 'incidents/1/interv_photo_6942d5811e04f.jpeg', '2025-12-17 16:08:33', 'Test OK', '5.3680920', '-3.9900960', 'Admin', '2025-12-17 16:07:00');
INSERT INTO `incident_attachments` (`id`, `report_id`, `type`, `path`, `uploaded_at`, `observation`, `lat`, `lng`, `taken_by`, `taken_at`) VALUES ('2', '2', 'intervention_photo', 'incidents/5/interv_photo_69c6ae1bb486b.png', '2026-03-27 16:19:39', NULL, '5.3992910', '-3.9803640', 'admin', '2026-03-27 16:17:00');

-- --------------------------------------------------------
-- Structure de la table `incident_causes`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_causes`;
CREATE TABLE `incident_causes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `category` varchar(100) DEFAULT NULL,
  `description` text,
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `category` (`category`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_causes`

INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('1', 'Panne de courant', 'Environnementale', 'Coupure d\'├®lectricit├®', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('2', 'D├®faillance mat├®rielle', 'Technique', 'Panne d\'├®quipement', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('3', 'Erreur humaine', 'Humaine', 'Erreur de manipulation', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('4', 'Probl├¿me r├®seau', 'R├®seau', 'Dysfonctionnement du r├®seau', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('5', 'Surcharge syst├¿me', 'Syst├¿me', 'Syst├¿me surcharg├®', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('6', 'Faille de s├®curit├®', 'S├®curit├®', 'Probl├¿me de s├®curit├® informatique', '1', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('7', 'Coupure fibre optique', 'Infrastructure', NULL, '1', '2025-12-17 09:50:35', '2025-12-17 09:50:35');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('8', 'Panne équipement réseau', 'Matériel', NULL, '1', '2025-12-17 09:50:35', '2025-12-17 09:50:35');
INSERT INTO `incident_causes` (`id`, `name`, `category`, `description`, `active`, `created_at`, `updated_at`) VALUES ('9', 'Surcharge trafic', 'Capacité', NULL, '1', '2025-12-17 09:50:35', '2025-12-17 09:50:35');

-- --------------------------------------------------------
-- Structure de la table `incident_comment_attachments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_comment_attachments`;
CREATE TABLE `incident_comment_attachments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `comment_id` int NOT NULL,
  `path` varchar(255) NOT NULL,
  `uploaded_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `comment_id` (`comment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------
-- Structure de la table `incident_comments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_comments`;
CREATE TABLE `incident_comments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `incident_id` int NOT NULL,
  `user_id` int NOT NULL,
  `content` text NOT NULL,
  `parent_id` int DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `comment` text,
  `is_internal` tinyint(1) NOT NULL DEFAULT '0',
  `author_name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `incident_id` (`incident_id`),
  KEY `user_id` (`user_id`),
  KEY `parent_id` (`parent_id`),
  KEY `created_at` (`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_comments`

INSERT INTO `incident_comments` (`id`, `incident_id`, `user_id`, `content`, `parent_id`, `created_at`, `comment`, `is_internal`, `author_name`) VALUES ('1', '4', '1', 'test', NULL, '2026-01-16 21:27:38', 'test', '0', NULL);
INSERT INTO `incident_comments` (`id`, `incident_id`, `user_id`, `content`, `parent_id`, `created_at`, `comment`, `is_internal`, `author_name`) VALUES ('2', '4', '1', '@wil.zahui test', '1', '2026-01-16 21:48:34', '@wil.zahui test', '0', NULL);
INSERT INTO `incident_comments` (`id`, `incident_id`, `user_id`, `content`, `parent_id`, `created_at`, `comment`, `is_internal`, `author_name`) VALUES ('3', '5', '1', 'Difficulté sur la liaison', NULL, '2026-03-27 16:05:31', 'Difficulté sur la liaison', '0', NULL);

-- --------------------------------------------------------
-- Structure de la table `incident_final_report_attachments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_final_report_attachments`;
CREATE TABLE `incident_final_report_attachments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `final_report_id` int NOT NULL,
  `path` varchar(255) NOT NULL,
  `uploaded_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `final_report_id` (`final_report_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------
-- Structure de la table `incident_final_reports`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_final_reports`;
CREATE TABLE `incident_final_reports` (
  `id` int NOT NULL AUTO_INCREMENT,
  `incident_id` int NOT NULL,
  `supervisor_id` int DEFAULT NULL,
  `restoration_at` datetime DEFAULT NULL,
  `client_supervisor` varchar(255) DEFAULT NULL,
  `comments` text,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `validated_at` datetime DEFAULT NULL,
  `validated_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `incident_id` (`incident_id`),
  KEY `incident_id_2` (`incident_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_final_reports`

INSERT INTO `incident_final_reports` (`id`, `incident_id`, `supervisor_id`, `restoration_at`, `client_supervisor`, `comments`, `created_at`, `updated_at`, `validated_at`, `validated_by`) VALUES ('1', '1', '1', NULL, NULL, NULL, '2025-12-17 16:08:51', '2025-12-17 16:08:51', NULL, NULL);
INSERT INTO `incident_final_reports` (`id`, `incident_id`, `supervisor_id`, `restoration_at`, `client_supervisor`, `comments`, `created_at`, `updated_at`, `validated_at`, `validated_by`) VALUES ('2', '5', '1', NULL, NULL, NULL, '2026-03-27 16:23:07', '2026-03-27 16:23:07', NULL, NULL);

-- --------------------------------------------------------
-- Structure de la table `incident_history`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_history`;
CREATE TABLE `incident_history` (
  `id` int NOT NULL AUTO_INCREMENT,
  `incident_id` int NOT NULL,
  `field_name` varchar(100) NOT NULL,
  `old_value` text,
  `new_value` text,
  `changed_by` int DEFAULT NULL,
  `changed_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `incident_id` (`incident_id`),
  KEY `changed_by` (`changed_by`),
  KEY `changed_at` (`changed_at`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_history`

INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('1', '1', 'Intervention', NULL, 'Intervention démarrée', '1', '2025-12-17 11:29:43');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('2', '1', 'Intervention', NULL, 'Intervention en pause — Motif: Test', '1', '2025-12-17 11:32:40');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('3', '3', 'Assignment', NULL, 'Assigné à tech', '1', '2025-12-17 11:36:23');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('4', '3', 'Assignment', NULL, 'Désassigné: tech', '1', '2025-12-17 11:41:02');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('5', '3', 'Assignment', NULL, 'Assigné à tech', '1', '2025-12-17 11:41:07');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('6', '3', 'Intervention', NULL, 'Intervention démarrée', '1', '2025-12-17 11:42:06');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('7', '3', 'Intervention', NULL, 'Intervention en pause — Motif: Rest', '1', '2025-12-17 11:42:17');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('8', '1', 'Assignment', NULL, 'Assigné à tech', '1', '2025-12-17 12:34:58');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('9', '1', 'Status', 'Nouveau', 'Traité', '1', '2025-12-17 16:08:51');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('10', '1', 'Action', NULL, 'Compléter le rapport final (date de remontée, commentaire, PJ)', '1', '2025-12-17 16:08:51');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('11', '1', 'Intervention', NULL, 'Intervention reprise', '1', '2025-12-17 16:14:43');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('12', '1', 'Status', 'Traité', 'Clôturé (rapport final)', '1', '2025-12-17 18:31:47');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('13', '4', 'status', NULL, 'Ouvert', '1', '2026-01-16 21:07:00');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('14', '5', 'status', NULL, 'Ouvert', '1', '2026-03-27 16:02:40');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('15', '5', 'Intervention', NULL, 'Intervention démarrée', '1', '2026-03-27 16:03:37');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('16', '5', 'Status', 'Ouvert', 'En cours', '1', '2026-03-27 16:03:37');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('17', '5', 'Assignment', NULL, 'Assigné à Wil Zahui', '1', '2026-03-27 16:06:09');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('18', '5', 'Status', 'En cours', 'Traité', '1', '2026-03-27 16:23:07');
INSERT INTO `incident_history` (`id`, `incident_id`, `field_name`, `old_value`, `new_value`, `changed_by`, `changed_at`) VALUES ('19', '5', 'Action', NULL, 'Compléter le rapport final (date de remontée, commentaire, PJ)', '1', '2026-03-27 16:23:07');

-- --------------------------------------------------------
-- Structure de la table `incident_intervention_events`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_intervention_events`;
CREATE TABLE `incident_intervention_events` (
  `id` int NOT NULL AUTO_INCREMENT,
  `incident_id` int NOT NULL,
  `user_id` int NOT NULL,
  `action` varchar(10) NOT NULL,
  `reason` text,
  `happened_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `incident_id` (`incident_id`),
  KEY `user_id` (`user_id`),
  KEY `happened_at` (`happened_at`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_intervention_events`

INSERT INTO `incident_intervention_events` (`id`, `incident_id`, `user_id`, `action`, `reason`, `happened_at`) VALUES ('1', '1', '1', 'start', NULL, '2025-12-17 11:29:43');
INSERT INTO `incident_intervention_events` (`id`, `incident_id`, `user_id`, `action`, `reason`, `happened_at`) VALUES ('2', '1', '1', 'pause', 'Test', '2025-12-17 11:32:40');
INSERT INTO `incident_intervention_events` (`id`, `incident_id`, `user_id`, `action`, `reason`, `happened_at`) VALUES ('3', '3', '1', 'start', NULL, '2025-12-17 11:42:06');
INSERT INTO `incident_intervention_events` (`id`, `incident_id`, `user_id`, `action`, `reason`, `happened_at`) VALUES ('4', '3', '1', 'pause', 'Rest', '2025-12-17 11:42:17');
INSERT INTO `incident_intervention_events` (`id`, `incident_id`, `user_id`, `action`, `reason`, `happened_at`) VALUES ('5', '1', '1', 'resume', NULL, '2025-12-17 16:14:43');
INSERT INTO `incident_intervention_events` (`id`, `incident_id`, `user_id`, `action`, `reason`, `happened_at`) VALUES ('6', '5', '1', 'start', NULL, '2026-03-27 16:03:37');

-- --------------------------------------------------------
-- Structure de la table `incident_materials`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_materials`;
CREATE TABLE `incident_materials` (
  `id` int NOT NULL AUTO_INCREMENT,
  `report_id` int NOT NULL,
  `designation` varchar(255) NOT NULL,
  `qty` decimal(10,2) DEFAULT '0.00',
  `reference` varchar(255) DEFAULT NULL,
  `unit_cost` decimal(10,2) DEFAULT '0.00',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_materials`

INSERT INTO `incident_materials` (`id`, `report_id`, `designation`, `qty`, `reference`, `unit_cost`) VALUES ('2', '2', 'Câble 300m', '150.00', '48FO', '0.00');

-- --------------------------------------------------------
-- Structure de la table `incident_reports`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_reports`;
CREATE TABLE `incident_reports` (
  `id` int NOT NULL AUTO_INCREMENT,
  `incident_id` int NOT NULL,
  `technician_id` int NOT NULL,
  `team_name` varchar(255) DEFAULT NULL,
  `team_contact` varchar(255) DEFAULT NULL,
  `type_of_incident` varchar(50) DEFAULT NULL,
  `detection_mode` varchar(50) DEFAULT NULL,
  `cut_distance_km` decimal(10,2) DEFAULT NULL,
  `gps_lat` decimal(10,8) DEFAULT NULL,
  `gps_lng` decimal(11,8) DEFAULT NULL,
  `fault_nature` text,
  `impacted_equipment` text,
  `takeover_at` datetime DEFAULT NULL,
  `intervention_start` datetime DEFAULT NULL,
  `intervention_end` datetime DEFAULT NULL,
  `duration_hours` decimal(10,2) DEFAULT NULL,
  `repair_type` varchar(100) DEFAULT NULL,
  `work_comments` text,
  `otdr_before_path` varchar(255) DEFAULT NULL,
  `otdr_after_path` varchar(255) DEFAULT NULL,
  `otdr_result` varchar(20) DEFAULT NULL,
  `conformity_status` varchar(20) DEFAULT NULL,
  `resolution_status` varchar(20) DEFAULT NULL,
  `need_additional` tinyint(1) DEFAULT '0',
  `quote_file_path` varchar(255) DEFAULT NULL,
  `supervisor_comments` text,
  `signature_path` varchar(255) DEFAULT NULL,
  `submitted_at` datetime DEFAULT NULL,
  `validated_at` datetime DEFAULT NULL,
  `validated_by` int DEFAULT NULL,
  `rejected_at` datetime DEFAULT NULL,
  `rejected_by` int DEFAULT NULL,
  `rejection_reason` text,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `closure_report_path` varchar(255) DEFAULT NULL,
  `closure_notes` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `incident_reports`

INSERT INTO `incident_reports` (`id`, `incident_id`, `technician_id`, `team_name`, `team_contact`, `type_of_incident`, `detection_mode`, `cut_distance_km`, `gps_lat`, `gps_lng`, `fault_nature`, `impacted_equipment`, `takeover_at`, `intervention_start`, `intervention_end`, `duration_hours`, `repair_type`, `work_comments`, `otdr_before_path`, `otdr_after_path`, `otdr_result`, `conformity_status`, `resolution_status`, `need_additional`, `quote_file_path`, `supervisor_comments`, `signature_path`, `submitted_at`, `validated_at`, `validated_by`, `rejected_at`, `rejected_by`, `rejection_reason`, `created_at`, `updated_at`, `closure_report_path`, `closure_notes`) VALUES ('1', '1', '1', 'Admin', 'admin, admin@novalink.ci', 'Travaux tiers', 'Appel', '0.00', '5.36807900', '-3.99011300', '', '[\"ODF\",\"Câble 96FO\"]', '2025-12-17 16:05:00', '2025-12-17 16:06:00', '2025-12-19 05:30:00', '37.40', 'Remplacement câble', '', 'incidents/1/otdr_before_6942d581158cd.jpg', 'incidents/1/otdr_after_6942d58115df4.png', '', NULL, '', '0', NULL, 'OK', 'incidents/1/signature_6942d58116392.png', '2025-12-17 16:08:33', '2025-12-17 16:08:51', '1', NULL, NULL, NULL, '2025-12-17 16:06:02', '2025-12-17 18:31:47', 'incidents/1/closure_report_6942f71331ddd.pdf', '');
INSERT INTO `incident_reports` (`id`, `incident_id`, `technician_id`, `team_name`, `team_contact`, `type_of_incident`, `detection_mode`, `cut_distance_km`, `gps_lat`, `gps_lng`, `fault_nature`, `impacted_equipment`, `takeover_at`, `intervention_start`, `intervention_end`, `duration_hours`, `repair_type`, `work_comments`, `otdr_before_path`, `otdr_after_path`, `otdr_result`, `conformity_status`, `resolution_status`, `need_additional`, `quote_file_path`, `supervisor_comments`, `signature_path`, `submitted_at`, `validated_at`, `validated_by`, `rejected_at`, `rejected_by`, `rejection_reason`, `created_at`, `updated_at`, `closure_report_path`, `closure_notes`) VALUES ('2', '5', '1', 'admin', 'admin, admin@novalink.ci', 'Travaux tiers', 'OTDR', '1.00', '5.39929100', '-3.98036700', '', '[\"Câble 96FO\"]', '2026-03-27 16:09:00', '2026-03-27 16:13:00', '2026-03-28 01:30:00', '9.28', 'Remplacement câble', 'fsrdtdtsfdsgzfdgfdhfdf', 'incidents/5/otdr_before_69c6ae1b9f6a9.jpg', 'incidents/5/otdr_after_69c6ae1b9fb1c.jpg', 'Conforme', 'Conforme', '', '0', NULL, NULL, 'incidents/5/signature_69c6ae1b9ff51.png', '2026-03-27 16:19:39', '2026-03-27 16:23:07', '1', NULL, NULL, NULL, '2026-03-27 16:19:39', '2026-03-27 16:23:07', NULL, NULL);

-- --------------------------------------------------------
-- Structure de la table `incident_statuses`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incident_statuses`;
CREATE TABLE `incident_statuses` (
  `id` int NOT NULL AUTO_INCREMENT,
  `key_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `label` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `color` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT '#6c757d',
  `active` tinyint(1) DEFAULT '1',
  `sort_order` int DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_key` (`key_name`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `incident_statuses`

INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('1', 'nouveau', 'Nouveau', '#dc3545', '1', '1');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('2', 'ouvert', 'Ouvert', '#fd7e14', '1', '2');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('3', 'en_cours', 'En cours', '#ffc107', '1', '3');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('4', 'resolu', 'Résolu', '#20c997', '1', '4');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('5', 'clos', 'Clos', '#198754', '1', '5');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('6', 'treated', 'Traité', '#0d6efd', '1', '60');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('7', 'closed', 'Clôturé', '#6c757d', '1', '100');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('8', 'open', 'Ouvert', '#0d6efd', '1', '10');
INSERT INTO `incident_statuses` (`id`, `key_name`, `label`, `color`, `active`, `sort_order`) VALUES ('9', 'in_progress', 'En cours', '#0d6efd', '1', '30');

-- --------------------------------------------------------
-- Structure de la table `incidents`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `incidents`;
CREATE TABLE `incidents` (
  `id` int NOT NULL AUTO_INCREMENT,
  `reference` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_id` int NOT NULL,
  `location_id` int DEFAULT NULL,
  `site_id` int DEFAULT NULL,
  `liaison_id` int DEFAULT NULL,
  `cause_id` int DEFAULT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `priority` enum('low','medium','high','critical') COLLATE utf8mb4_unicode_ci DEFAULT 'medium',
  `status_id` int DEFAULT '1',
  `assigned_to` int DEFAULT NULL,
  `declared_by` int DEFAULT NULL,
  `declared_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `resolved_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `ticket_id` varchar(40) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `incident_number` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `priority_id` int DEFAULT NULL,
  `equipment_ids` text COLLATE utf8mb4_unicode_ci,
  `site_a_label` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `site_b_label` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `expected_response_at` datetime DEFAULT NULL,
  `expected_resolution_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `reference` (`reference`),
  UNIQUE KEY `uniq_incident_number` (`incident_number`),
  KEY `idx_client` (`client_id`),
  KEY `idx_location` (`location_id`),
  KEY `idx_status` (`status_id`),
  KEY `idx_assigned` (`assigned_to`),
  KEY `idx_reference` (`reference`),
  KEY `idx_cause` (`cause_id`),
  KEY `idx_site` (`site_id`),
  KEY `idx_liaison` (`liaison_id`),
  CONSTRAINT `fk_incidents_cause` FOREIGN KEY (`cause_id`) REFERENCES `incident_causes` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `fk_incidents_liaison` FOREIGN KEY (`liaison_id`) REFERENCES `liaisons` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  CONSTRAINT `fk_incidents_site` FOREIGN KEY (`site_id`) REFERENCES `sites` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `incidents`

INSERT INTO `incidents` (`id`, `reference`, `client_id`, `location_id`, `site_id`, `liaison_id`, `cause_id`, `title`, `description`, `priority`, `status_id`, `assigned_to`, `declared_by`, `declared_at`, `resolved_at`, `created_at`, `updated_at`, `ticket_id`, `incident_number`, `priority_id`, `equipment_ids`, `site_a_label`, `site_b_label`, `expected_response_at`, `expected_resolution_at`) VALUES ('1', 'INC-2025-001', '1', '1', NULL, NULL, NULL, 'Panne réseau fibre', 'Interruption du service internet sur le site principal', 'medium', '7', NULL, NULL, '2025-12-15 12:14:37', NULL, '2025-12-15 12:14:37', '2025-12-17 18:31:47', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `incidents` (`id`, `reference`, `client_id`, `location_id`, `site_id`, `liaison_id`, `cause_id`, `title`, `description`, `priority`, `status_id`, `assigned_to`, `declared_by`, `declared_at`, `resolved_at`, `created_at`, `updated_at`, `ticket_id`, `incident_number`, `priority_id`, `equipment_ids`, `site_a_label`, `site_b_label`, `expected_response_at`, `expected_resolution_at`) VALUES ('2', 'INC-2025-002', '2', '3', NULL, NULL, NULL, 'Problème téléphonie', 'Pas de tonalité sur les postes fixes', 'medium', '2', NULL, NULL, '2025-12-15 12:14:37', NULL, '2025-12-15 12:14:37', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `incidents` (`id`, `reference`, `client_id`, `location_id`, `site_id`, `liaison_id`, `cause_id`, `title`, `description`, `priority`, `status_id`, `assigned_to`, `declared_by`, `declared_at`, `resolved_at`, `created_at`, `updated_at`, `ticket_id`, `incident_number`, `priority_id`, `equipment_ids`, `site_a_label`, `site_b_label`, `expected_response_at`, `expected_resolution_at`) VALUES ('3', 'INC-2025-003', '3', '4', NULL, NULL, NULL, 'Accès système bancaire', 'Impossible d\'accéder au système de gestion', 'medium', '1', NULL, NULL, '2025-12-15 12:14:37', NULL, '2025-12-15 12:14:37', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `incidents` (`id`, `reference`, `client_id`, `location_id`, `site_id`, `liaison_id`, `cause_id`, `title`, `description`, `priority`, `status_id`, `assigned_to`, `declared_by`, `declared_at`, `resolved_at`, `created_at`, `updated_at`, `ticket_id`, `incident_number`, `priority_id`, `equipment_ids`, `site_a_label`, `site_b_label`, `expected_response_at`, `expected_resolution_at`) VALUES ('4', NULL, '2', '1', NULL, '1', '8', 'Test', 'test', 'medium', '8', NULL, '1', '2026-01-16 21:07:00', NULL, '2026-01-16 21:07:00', NULL, 'MAINTFO-0116-001', 'tttrre', '1', '1', 'MARC_ANADER', 'ECG_BIETRY', '2026-01-16 22:07:00', '2026-01-17 05:07:00');
INSERT INTO `incidents` (`id`, `reference`, `client_id`, `location_id`, `site_id`, `liaison_id`, `cause_id`, `title`, `description`, `priority`, `status_id`, `assigned_to`, `declared_by`, `declared_at`, `resolved_at`, `created_at`, `updated_at`, `ticket_id`, `incident_number`, `priority_id`, `equipment_ids`, `site_a_label`, `site_b_label`, `expected_response_at`, `expected_resolution_at`) VALUES ('5', NULL, '4', '1', NULL, '1', '7', 'Coupure FO_AC002-TO-ET082 [MARC_ANADER vers ECG_BIETRY]', '', 'medium', '6', NULL, '1', '2026-03-27 16:02:40', NULL, '2026-03-27 16:02:40', '2026-03-27 16:23:07', 'MAINTFO-0327-001', NULL, '1', '5', 'MARC_ANADER', 'ECG_BIETRY', '2026-03-27 17:02:40', '2026-03-28 00:02:40');

-- --------------------------------------------------------
-- Structure de la table `liaisons`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `liaisons`;
CREATE TABLE `liaisons` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `description` text,
  `site_a_name` varchar(255) DEFAULT NULL,
  `site_b_name` varchar(255) DEFAULT NULL,
  `site_a_latitude` decimal(10,7) DEFAULT NULL,
  `site_a_longitude` decimal(10,7) DEFAULT NULL,
  `site_b_latitude` decimal(10,7) DEFAULT NULL,
  `site_b_longitude` decimal(10,7) DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `liaisons`

INSERT INTO `liaisons` (`id`, `name`, `description`, `site_a_name`, `site_b_name`, `site_a_latitude`, `site_a_longitude`, `site_b_latitude`, `site_b_longitude`, `active`, `created_at`, `updated_at`) VALUES ('1', 'FO_AC002-TO-ET082 [MARC_ANADER vers ECG_BIETRY]', '', 'MARC_ANADER', 'ECG_BIETRY', NULL, NULL, NULL, NULL, '1', '2025-12-29 11:38:21', '2026-01-16 20:54:37');
INSERT INTO `liaisons` (`id`, `name`, `description`, `site_a_name`, `site_b_name`, `site_a_latitude`, `site_a_longitude`, `site_b_latitude`, `site_b_longitude`, `active`, `created_at`, `updated_at`) VALUES ('2', 'FO_BC003-TO-DT083 [BOUAKE vers YAMOUSSOUKRO]', 'Liaison inter-villes Bouaké - Yamoussoukro', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2025-12-29 11:38:21', '2025-12-29 11:38:21');
INSERT INTO `liaisons` (`id`, `name`, `description`, `site_a_name`, `site_b_name`, `site_a_latitude`, `site_a_longitude`, `site_b_latitude`, `site_b_longitude`, `active`, `created_at`, `updated_at`) VALUES ('3', 'FO_CD004-TO-EF084 [ABIDJAN_COCODY vers ABIDJAN_PLATEAU]', 'Liaison métropolitaine Abidjan Cocody - Plateau', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2025-12-29 11:38:21', '2025-12-29 11:38:21');
INSERT INTO `liaisons` (`id`, `name`, `description`, `site_a_name`, `site_b_name`, `site_a_latitude`, `site_a_longitude`, `site_b_latitude`, `site_b_longitude`, `active`, `created_at`, `updated_at`) VALUES ('4', 'FO_DE005-TO-FG085 [KORHOGO vers FERKESSEDOUGOU]', 'Liaison régionale Nord', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2025-12-29 11:38:21', '2025-12-29 11:38:21');
INSERT INTO `liaisons` (`id`, `name`, `description`, `site_a_name`, `site_b_name`, `site_a_latitude`, `site_a_longitude`, `site_b_latitude`, `site_b_longitude`, `active`, `created_at`, `updated_at`) VALUES ('5', 'FO_EF006-TO-GH086 [SAN_PEDRO vers SASSANDRA]', 'Liaison côtière Sud-Ouest', NULL, NULL, NULL, NULL, NULL, NULL, '1', '2025-12-29 11:38:21', '2025-12-29 11:38:21');

-- --------------------------------------------------------
-- Structure de la table `locations`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `locations`;
CREATE TABLE `locations` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `address` text COLLATE utf8mb4_unicode_ci,
  `city` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `postal_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `latitude` decimal(10,8) DEFAULT NULL,
  `longitude` decimal(11,8) DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_client` (`client_id`),
  KEY `idx_name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `locations`

INSERT INTO `locations` (`id`, `client_id`, `name`, `address`, `city`, `postal_code`, `latitude`, `longitude`, `active`, `created_at`, `updated_at`) VALUES ('1', '1', 'Orange Siège Social', 'Boulevard Lagunaire', 'Abidjan', NULL, NULL, NULL, '1', '2025-12-15 12:14:37', NULL);
INSERT INTO `locations` (`id`, `client_id`, `name`, `address`, `city`, `postal_code`, `latitude`, `longitude`, `active`, `created_at`, `updated_at`) VALUES ('2', '1', 'Orange Plateau', 'Avenue Chardy', 'Abidjan', NULL, NULL, NULL, '1', '2025-12-15 12:14:37', NULL);
INSERT INTO `locations` (`id`, `client_id`, `name`, `address`, `city`, `postal_code`, `latitude`, `longitude`, `active`, `created_at`, `updated_at`) VALUES ('3', '2', 'MTN Siège', 'Avenue Terrasson de Fougères', 'Abidjan', NULL, NULL, NULL, '1', '2025-12-15 12:14:37', NULL);
INSERT INTO `locations` (`id`, `client_id`, `name`, `address`, `city`, `postal_code`, `latitude`, `longitude`, `active`, `created_at`, `updated_at`) VALUES ('4', '3', 'Banque Atlantique Plateau', 'Boulevard Carde', 'Abidjan', NULL, NULL, NULL, '1', '2025-12-15 12:14:37', NULL);
INSERT INTO `locations` (`id`, `client_id`, `name`, `address`, `city`, `postal_code`, `latitude`, `longitude`, `active`, `created_at`, `updated_at`) VALUES ('5', '1', 'MARC_ANADER', NULL, NULL, NULL, '5.33274670', '4.28770200', '1', '2026-01-16 20:54:37', NULL);
INSERT INTO `locations` (`id`, `client_id`, `name`, `address`, `city`, `postal_code`, `latitude`, `longitude`, `active`, `created_at`, `updated_at`) VALUES ('6', '1', 'ECG_BIETRY', NULL, NULL, NULL, '5.33452920', '4.33294080', '1', '2026-01-16 20:54:37', NULL);

-- --------------------------------------------------------
-- Structure de la table `maintenance_ftth_assignments`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `maintenance_ftth_assignments`;
CREATE TABLE `maintenance_ftth_assignments` (
  `id` int NOT NULL AUTO_INCREMENT,
  `ticket_id` int NOT NULL,
  `technician_id` int NOT NULL,
  `assigned_by` int NOT NULL,
  `assigned_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `notes` text COLLATE utf8mb4_unicode_ci,
  `notified_email` tinyint(1) NOT NULL DEFAULT '0',
  `notified_app` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `idx_ticket` (`ticket_id`),
  KEY `idx_tech` (`technician_id`),
  KEY `assigned_by` (`assigned_by`),
  CONSTRAINT `maintenance_ftth_assignments_ibfk_1` FOREIGN KEY (`ticket_id`) REFERENCES `maintenance_ftth_tickets` (`id`) ON DELETE CASCADE,
  CONSTRAINT `maintenance_ftth_assignments_ibfk_2` FOREIGN KEY (`technician_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  CONSTRAINT `maintenance_ftth_assignments_ibfk_3` FOREIGN KEY (`assigned_by`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `maintenance_ftth_assignments`

INSERT INTO `maintenance_ftth_assignments` (`id`, `ticket_id`, `technician_id`, `assigned_by`, `assigned_at`, `notes`, `notified_email`, `notified_app`) VALUES ('2', '16', '7', '1', '2026-03-29 14:14:59', '', '0', '0');
INSERT INTO `maintenance_ftth_assignments` (`id`, `ticket_id`, `technician_id`, `assigned_by`, `assigned_at`, `notes`, `notified_email`, `notified_app`) VALUES ('3', '17', '7', '1', '2026-03-29 21:19:23', '', '0', '0');
INSERT INTO `maintenance_ftth_assignments` (`id`, `ticket_id`, `technician_id`, `assigned_by`, `assigned_at`, `notes`, `notified_email`, `notified_app`) VALUES ('4', '15', '7', '1', '2026-03-29 21:24:29', '', '0', '0');

-- --------------------------------------------------------
-- Structure de la table `maintenance_ftth_photos`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `maintenance_ftth_photos`;
CREATE TABLE `maintenance_ftth_photos` (
  `id` int NOT NULL AUTO_INCREMENT,
  `report_id` int NOT NULL,
  `tab_type` enum('constat','intervention') COLLATE utf8mb4_unicode_ci NOT NULL,
  `item_index` smallint DEFAULT NULL COMMENT 'Index de l équipement/matériel associé dans le JSON',
  `photo_path` varchar(350) COLLATE utf8mb4_unicode_ci NOT NULL,
  `comment` text COLLATE utf8mb4_unicode_ci,
  `gps_lat` decimal(10,7) DEFAULT NULL,
  `gps_lng` decimal(10,7) DEFAULT NULL,
  `taken_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_report` (`report_id`),
  CONSTRAINT `maintenance_ftth_photos_ibfk_1` FOREIGN KEY (`report_id`) REFERENCES `maintenance_ftth_reports` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `maintenance_ftth_photos`

INSERT INTO `maintenance_ftth_photos` (`id`, `report_id`, `tab_type`, `item_index`, `photo_path`, `comment`, `gps_lat`, `gps_lng`, `taken_at`, `created_at`) VALUES ('1', '1', 'constat', '0', 'constat_0_69c934f35fb2c.png', '', NULL, NULL, NULL, '2026-03-29 14:19:31');
INSERT INTO `maintenance_ftth_photos` (`id`, `report_id`, `tab_type`, `item_index`, `photo_path`, `comment`, `gps_lat`, `gps_lng`, `taken_at`, `created_at`) VALUES ('2', '1', 'intervention', '0', 'interv_0_69c995d944aa7.jpg', 'Test', NULL, NULL, NULL, '2026-03-29 21:12:57');
INSERT INTO `maintenance_ftth_photos` (`id`, `report_id`, `tab_type`, `item_index`, `photo_path`, `comment`, `gps_lat`, `gps_lng`, `taken_at`, `created_at`) VALUES ('3', '1', 'intervention', '0', 'interv_0_69c995da9d165.jpg', 'Test', NULL, NULL, NULL, '2026-03-29 21:12:58');
INSERT INTO `maintenance_ftth_photos` (`id`, `report_id`, `tab_type`, `item_index`, `photo_path`, `comment`, `gps_lat`, `gps_lng`, `taken_at`, `created_at`) VALUES ('4', '1', 'intervention', '0', 'interv_0_69c995ea6af35.jpg', 'Test', NULL, NULL, NULL, '2026-03-29 21:13:14');
INSERT INTO `maintenance_ftth_photos` (`id`, `report_id`, `tab_type`, `item_index`, `photo_path`, `comment`, `gps_lat`, `gps_lng`, `taken_at`, `created_at`) VALUES ('5', '1', 'intervention', '0', 'interv_0_69c995f05c725.jpg', 'Test', NULL, NULL, NULL, '2026-03-29 21:13:20');

-- --------------------------------------------------------
-- Structure de la table `maintenance_ftth_reports`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `maintenance_ftth_reports`;
CREATE TABLE `maintenance_ftth_reports` (
  `id` int NOT NULL AUTO_INCREMENT,
  `ticket_id` int NOT NULL,
  `technician_id` int NOT NULL,
  `operation_type` enum('maintenance','travaux','autres') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'maintenance',
  `intervention_date` date DEFAULT NULL,
  `intervention_start` time DEFAULT NULL,
  `intervention_end` time DEFAULT NULL,
  `constat_comments` text COLLATE utf8mb4_unicode_ci COMMENT 'Commentaire général avant intervention',
  `impacted_equipment` json DEFAULT NULL COMMENT '[{"name":"...", "photo_path":"...", "comment":"..."}]',
  `materials_used` json DEFAULT NULL COMMENT '[{"name":"...", "qty":1, "ref":"...", "photo_path":"...", "comment":"..."}]',
  `general_comments` text COLLATE utf8mb4_unicode_ci,
  `satisfaction_service` enum('très_satisfait','satisfait','peu_satisfait','non_satisfait') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `satisfaction_delay` enum('très_satisfait','satisfait','peu_satisfait','non_satisfait') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `satisfaction_quality` enum('très_satisfait','satisfait','peu_satisfait','non_satisfait') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `satisfaction_behavior` enum('très_satisfait','satisfait','peu_satisfait','non_satisfait') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_name_onsite` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_remarks` text COLLATE utf8mb4_unicode_ci,
  `service_restored` tinyint(1) NOT NULL DEFAULT '0',
  `client_signature_path` varchar(350) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `agent_signature_path` varchar(350) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `submit_gps_lat` decimal(10,7) DEFAULT NULL,
  `submit_gps_lng` decimal(10,7) DEFAULT NULL,
  `status` enum('brouillon','soumis','validé','rejeté') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'brouillon',
  `submitted_at` datetime DEFAULT NULL,
  `validated_at` datetime DEFAULT NULL,
  `validated_by` int DEFAULT NULL,
  `rejection_reason` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ticket_id` (`ticket_id`),
  KEY `idx_ticket` (`ticket_id`),
  KEY `idx_tech` (`technician_id`),
  KEY `idx_status` (`status`),
  KEY `validated_by` (`validated_by`),
  CONSTRAINT `maintenance_ftth_reports_ibfk_1` FOREIGN KEY (`ticket_id`) REFERENCES `maintenance_ftth_tickets` (`id`) ON DELETE CASCADE,
  CONSTRAINT `maintenance_ftth_reports_ibfk_2` FOREIGN KEY (`technician_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  CONSTRAINT `maintenance_ftth_reports_ibfk_3` FOREIGN KEY (`validated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `maintenance_ftth_reports`

INSERT INTO `maintenance_ftth_reports` (`id`, `ticket_id`, `technician_id`, `operation_type`, `intervention_date`, `intervention_start`, `intervention_end`, `constat_comments`, `impacted_equipment`, `materials_used`, `general_comments`, `satisfaction_service`, `satisfaction_delay`, `satisfaction_quality`, `satisfaction_behavior`, `client_name_onsite`, `client_remarks`, `service_restored`, `client_signature_path`, `agent_signature_path`, `submit_gps_lat`, `submit_gps_lng`, `status`, `submitted_at`, `validated_at`, `validated_by`, `rejection_reason`, `created_at`, `updated_at`) VALUES ('1', '16', '7', 'maintenance', '2026-03-29', '10:30:00', NULL, 'TEST', '[{\"name\": \"ROUTEUR\", \"detail\": \"\"}, {\"name\": \"BOX\", \"detail\": \"\"}, {\"name\": \"Câbles\", \"detail\": \"\"}]', '[]', 'Testesfdik ivibiblblbobbobbob', 'très_satisfait', 'peu_satisfait', 'très_satisfait', 'satisfait', 'KOUASSI AFANOU HYPPOLITE', 'Ras', '1', 'sig_client_69c995f0579dc.png', 'sig_agent_69c995f057d69.png', NULL, NULL, 'validé', '2026-03-29 21:13:20', '2026-03-29 21:17:22', '1', NULL, '2026-03-29 14:19:31', '2026-03-29 21:17:22');
INSERT INTO `maintenance_ftth_reports` (`id`, `ticket_id`, `technician_id`, `operation_type`, `intervention_date`, `intervention_start`, `intervention_end`, `constat_comments`, `impacted_equipment`, `materials_used`, `general_comments`, `satisfaction_service`, `satisfaction_delay`, `satisfaction_quality`, `satisfaction_behavior`, `client_name_onsite`, `client_remarks`, `service_restored`, `client_signature_path`, `agent_signature_path`, `submit_gps_lat`, `submit_gps_lng`, `status`, `submitted_at`, `validated_at`, `validated_by`, `rejection_reason`, `created_at`, `updated_at`) VALUES ('2', '15', '7', 'maintenance', NULL, NULL, NULL, '', '[]', '[]', '', NULL, NULL, NULL, NULL, 'AYEKOUE BLAISE ARMAND YAKRO', '', '0', NULL, NULL, NULL, NULL, 'brouillon', NULL, NULL, NULL, NULL, '2026-03-29 21:48:07', '2026-03-29 21:48:07');

-- --------------------------------------------------------
-- Structure de la table `maintenance_ftth_tickets`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `maintenance_ftth_tickets`;
CREATE TABLE `maintenance_ftth_tickets` (
  `id` int NOT NULL AUTO_INCREMENT,
  `ref_code` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Référence ticket Excel',
  `fixed_line` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `client_code` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_phone` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_phone2` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_email` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `client_address` text COLLATE utf8mb4_unicode_ci,
  `client_lat` decimal(10,7) DEFAULT NULL,
  `client_lng` decimal(10,7) DEFAULT NULL,
  `sro_client` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `jdv_client` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `pco_client` varchar(120) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `company_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `site_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nature_intervention` varchar(300) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `avancement` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `equipes` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `date_cloture` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `cause_comment` text COLLATE utf8mb4_unicode_ci,
  `extra_fields` json DEFAULT NULL,
  `priority` enum('Basse','Moyenne','Haute','Urgent') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Moyenne',
  `status` enum('nouveau','assigné','en_cours','traité','validé','clôturé') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'nouveau',
  `imported_at` datetime DEFAULT NULL,
  `imported_by` int DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_ref_code` (`ref_code`),
  KEY `idx_status` (`status`),
  KEY `idx_client` (`client_name`),
  KEY `imported_by` (`imported_by`),
  CONSTRAINT `maintenance_ftth_tickets_ibfk_1` FOREIGN KEY (`imported_by`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `maintenance_ftth_tickets`

INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('1', NULL, NULL, 'AYEKOUE BLAISE ARMAND YAKRO', NULL, '0708657731', NULL, NULL, 'KOKRENOU HOPITAL PHYCHATRIQUE', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Le client est en mission pour un mois hors de YAMOUSSOUKRO et  nous contactera dès son retour du voyage.      Le client est indisponible ce 23/03/2026 en mission pour un mois .                                 24/03/2026 le client est toujours en mission et nous donne rendez-vous dans un mois                         25/03/2026 le client en voyage pour un mois de mission', NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('2', NULL, NULL, 'KOUASSI AFANOU HYPPOLITE', NULL, '707250750', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Le client est indisponible donc nous donne rendez-vous demain samedi 21/03/2026 pour la maintenance .  Le client est en déplacement  et nous donne rendez-vous le mardi 24/03/2026 pour la maintenance   Le client AFANOU HYPPOLITE nous fait savoir qu\'il a eu un appel d\'urgent et qu\'il ne pourra pas etre la pour sa maintenance main il nous contactera dès son retour à la maison                              Le client est toujours  indisponible ce jour 25/03/2026', NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('3', NULL, NULL, 'KOUASSI AMANI FRANCIS', NULL, '0574986109', NULL, NULL, 'KOKRENOU YAMOUSSOUKRO', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Le client est indisponible et qu\'il nous fera signe quand il sera disponible', NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('4', NULL, NULL, 'NIAGADO DADJI ITC YAKRO', NULL, '0143335758', NULL, NULL, 'YAMOUSSOUKRO', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Constat: Tout est normal sur la BOX        NB: Besoin de réactivation du client    NF: 2120805066           ID: 485754431A105AA', NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('5', NULL, NULL, 'KONE DJATOU YAKRO', NULL, '173402556', NULL, NULL, 'DIOULABOUGOU SANS FRONTIERE EN FACE DE L\'IMMEUBLE KONATE YAKRO', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'ACTION MENÉE : POSE DE BAGUETTE 130M \n\n PUISSANCE : OK \n\nNB : LA BOX DU CLIENT EST AUSSI ENDOMMAGÉ,IL DOIT SE RENDRE À L\'AGENCE POUR L\'ACHAT D\'UNE NOUVELLE BOX', NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('6', NULL, NULL, 'Mr KOULIBALY   BOX DU CLIENT A REMPLACE', NULL, '142685760', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'ACTION MENÉE: routeur remplacé ; ancien routeur:ND:2123801417,SN:48575443F7ADA8AB // Nouveau routeur :ND 2123801417, SN: 485754431A7687B4 Demande d\'activation de la ligne du client', NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('7', NULL, NULL, 'N\'DRI N\'GUESSAN TATIANA 02 YAKRO..', NULL, '101194500', NULL, NULL, 'KOKRENOU APSONIC 1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Le client est indisponible , il nous donne rendez-vous demain 29/03/2026 pou sa maintenance', NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('8', NULL, NULL, 'KOUADIO ADJOUA FRANGE TULIPE', NULL, '767921875', NULL, NULL, 'YAMOUSSOUKRO KOKRENOU THOMAS D\'ACQUIN', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('9', NULL, NULL, 'N\'GUESSAN DESTECKS FLORENT JUNIOR', NULL, '173791242', NULL, NULL, 'YAMOUSSOUKRO', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('10', NULL, NULL, 'MBENGUE SAFIATOU', NULL, '151162114', NULL, NULL, 'YAMOUSSOUKRO', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('11', NULL, NULL, 'OUATTARA DRISSA.', NULL, '506121082', NULL, NULL, 'YAMOUSSOUKRO DIOULABOUGOU QUARTIER GUERE', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('12', NULL, NULL, 'YAO KAN BONAVENTURE 02', NULL, '700000935', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('13', NULL, NULL, 'Mr. DINE AKEEM TAOFIK YAKRO', NULL, '758718048', NULL, NULL, 'résidant à YAMOUSSOUKRO', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('14', NULL, NULL, 'KONAN NGUESSAN FLORENTIN ROMARIC YAKRO SOPIM', NULL, '173262662', NULL, NULL, 'YAMOUSSOUKRO', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Moyenne', 'nouveau', '2026-03-29 13:26:50', '1', '2026-03-29 13:26:50', '2026-03-29 13:26:50');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('15', 'CAS-2588303-P9B1T9', NULL, 'AYEKOUE BLAISE ARMAND YAKRO', 'RAB0000000182720', '0708657731', '0778515317', NULL, 'KOKRENOU HOPITAL PHYCHATRIQUE', '6.7672020', '-5.2795810', NULL, NULL, NULL, NULL, NULL, NULL, 'client_indisponible', 'Ouattara', '', 'Le client est en mission pour un mois hors de YAMOUSSOUKRO et  nous contactera dès son retour du voyage.      Le client est indisponible ce 23/03/2026 en mission pour un mois .                                 24/03/2026 le client est toujours en mission et nous donne rendez-vous dans un mois                         25/03/2026 le client en voyage pour un mois de mission', NULL, '{\"GPS\": \"6.767202, -5.279581\", \"Statut\": \"EN DERANGEMENT\", \"equipes\": \"Ouattara\", \"Avancement\": \"client_indisponible\", \"JDV CLIENT\": \"3\", \"Ligne fixe\": \"2121802478\", \"PCO CLIENT\": \"YKN02_PCO78\", \"SRO CLIENT\": \"YKN02\", \"Commentaire\": \"Le client est en mission pour un mois hors de YAMOUSSOUKRO et  nous contactera dès son retour du voyage.      Le client est indisponible ce 23/03/2026 en mission pour un mois .                                 24/03/2026 le client est toujours en mission et nous donne rendez-vous dans un mois                         25/03/2026 le client en voyage pour un mois de mission\", \"LOCALISATION\": \"KOKRENOU HOPITAL PHYCHATRIQUE\", \"Nom du client\": \"AYEKOUE BLAISE ARMAND YAKRO\", \"CONTACT CLIENT 1\": \"0708657731\", \"CONTACT CLIENT 2\": \"0778515317\", \"Numéro Abonnement\": \"RAB0000000182720\", \"Numéro de Requête\": \"CAS-2588303-P9B1T9\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'assigné', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 21:24:29');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('16', 'CAS-2576424-V8Y4R4', NULL, 'KOUASSI AFANOU HYPPOLITE', 'RAB0000000290729', '707250750', '555947271', NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'client_indisponible', 'OUATTARA', '', 'Le client est indisponible donc nous donne rendez-vous demain samedi 21/03/2026 pour la maintenance .  Le client est en déplacement  et nous donne rendez-vous le mardi 24/03/2026 pour la maintenance   Le client AFANOU HYPPOLITE nous fait savoir qu\'il a eu un appel d\'urgent et qu\'il ne pourra pas etre la pour sa maintenance main il nous contactera dès son retour à la maison                              Le client est toujours  indisponible ce jour 25/03/2026', NULL, '{\"Statut\": \"EN DERANGEMENT\", \"equipes\": \"OUATTARA\", \"Avancement\": \"client_indisponible\", \"Ligne fixe\": \"2150000592\", \"Commentaire\": \"Le client est indisponible donc nous donne rendez-vous demain samedi 21/03/2026 pour la maintenance .  Le client est en déplacement  et nous donne rendez-vous le mardi 24/03/2026 pour la maintenance   Le client AFANOU HYPPOLITE nous fait savoir qu\'il a eu un appel d\'urgent et qu\'il ne pourra pas etre la pour sa maintenance main il nous contactera dès son retour à la maison                              Le client est toujours  indisponible ce jour 25/03/2026\", \"Nom du client\": \"KOUASSI AFANOU HYPPOLITE\", \"CONTACT CLIENT 1\": \"707250750\", \"CONTACT CLIENT 2\": \"555947271\", \"Numéro Abonnement\": \"RAB0000000290729\", \"Numéro de Requête\": \"CAS-2576424-V8Y4R4\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'validé', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 21:17:23');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('17', 'CAS-2593155-S2V7G4', NULL, 'KOUASSI AMANI FRANCIS', 'RAB0000000192341', '0574986109', '0777764288', NULL, 'KOKRENOU YAMOUSSOUKRO', '6.7859960', '-5.2661850', NULL, NULL, NULL, NULL, NULL, NULL, 'client_indisponible', 'OUATTARA', '', 'Le client est indisponible et qu\'il nous fera signe quand il sera disponible', NULL, '{\"GPS\": \"6.785996, -5.266185\", \"Statut\": \"EN DERANGEMENT\", \"equipes\": \"OUATTARA\", \"Avancement\": \"client_indisponible\", \"JDV CLIENT\": \"3\", \"Ligne fixe\": \"2150009119\", \"PCO CLIENT\": \"YKN01_PCO95\", \"SRO CLIENT\": \"YKN01\", \"Commentaire\": \"Le client est indisponible et qu\'il nous fera signe quand il sera disponible\", \"LOCALISATION\": \"KOKRENOU YAMOUSSOUKRO\", \"Nom du client\": \"KOUASSI AMANI FRANCIS\", \"CONTACT CLIENT 1\": \"0574986109\", \"CONTACT CLIENT 2\": \"0777764288\", \"Numéro Abonnement\": \"RAB0000000192341\", \"Numéro de Requête\": \"CAS-2593155-S2V7G4\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'assigné', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 21:19:23');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('21', 'CAS-2619330-X9Y2Q7', NULL, 'N\'DRI N\'GUESSAN TATIANA 02 YAKRO..', 'RAB0000000190784', '101194500', '787858745', NULL, 'KOKRENOU APSONIC 1', '6.7859320', '-5.2652640', NULL, NULL, NULL, NULL, NULL, NULL, 'client_indisponible', 'ouattara', '', 'Le client est indisponible , il nous donne rendez-vous demain 29/03/2026 pou sa maintenance', NULL, '{\"GPS\": \"6.785932, -5.265264\", \"Statut\": \"EN DERANGEMENT\", \"equipes\": \"ouattara\", \"Avancement\": \"client_indisponible\", \"JDV CLIENT\": \"2\", \"Ligne fixe\": \"2150008282\", \"PCO CLIENT\": \"YKN01_PCO53\", \"SRO CLIENT\": \"YKN01\", \"Commentaire\": \"Le client est indisponible , il nous donne rendez-vous demain 29/03/2026 pou sa maintenance\", \"LOCALISATION\": \"KOKRENOU APSONIC 1\", \"Nom du client\": \"N\'DRI N\'GUESSAN TATIANA 02 YAKRO..\", \"CONTACT CLIENT 1\": \"101194500\", \"CONTACT CLIENT 2\": \"787858745\", \"Numéro Abonnement\": \"RAB0000000190784\", \"Numéro de Requête\": \"CAS-2619330-X9Y2Q7\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('22', 'CAS-2621944-M6K6F6', NULL, 'KOUADIO ADJOUA FRANGE TULIPE', 'RAB0000000222113', '767921875', '767921875', NULL, 'YAMOUSSOUKRO KOKRENOU THOMAS D\'ACQUIN', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'intervention_planifiee', 'OUATTARA', '', '', NULL, '{\"GPS\": \"6.788585, ,-5.265817\", \"Statut\": \"EN DERANGEMENT\", \"equipes\": \"OUATTARA\", \"Avancement\": \"intervention_planifiee\", \"JDV CLIENT\": \"YKN03\", \"Ligne fixe\": \"2150040998\", \"PCO CLIENT\": \"YKN03_H3_PCO095\", \"SRO CLIENT\": \"HUB03\", \"LOCALISATION\": \"YAMOUSSOUKRO KOKRENOU THOMAS D\'ACQUIN\", \"Nom du client\": \"KOUADIO ADJOUA FRANGE TULIPE\", \"CONTACT CLIENT 1\": \"767921875\", \"CONTACT CLIENT 2\": \"767921875\", \"Numéro Abonnement\": \"RAB0000000222113\", \"Numéro de Requête\": \"CAS-2621944-M6K6F6\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('23', 'CAS-2608110-G2L9C6', NULL, 'N\'GUESSAN DESTECKS FLORENT JUNIOR', 'RAB0000000111680', '173791242', '707049340', NULL, 'YAMOUSSOUKRO', '6.7735100', '-5.2689600', NULL, NULL, NULL, NULL, NULL, NULL, 'intervention_planifiee', 'OUATTARA', '', '', NULL, '{\"GPS\": \"6.77351, -5.26896\", \"Statut\": \"EN DERANGEMENT\", \"equipes\": \"OUATTARA\", \"Avancement\": \"intervention_planifiee\", \"JDV CLIENT\": \"3\", \"Ligne fixe\": \"2122803871\", \"PCO CLIENT\": \"YKN01_PCO80\", \"SRO CLIENT\": \"YKN01\", \"LOCALISATION\": \"YAMOUSSOUKRO\", \"Nom du client\": \"N\'GUESSAN DESTECKS FLORENT JUNIOR\", \"CONTACT CLIENT 1\": \"173791242\", \"CONTACT CLIENT 2\": \"707049340\", \"Numéro Abonnement\": \"RAB0000000111680\", \"Numéro de Requête\": \"CAS-2608110-G2L9C6\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('24', 'CAS-2609352-P7D6S4', NULL, 'MBENGUE SAFIATOU', 'RAB0000000176673', '151162114', '150297440', NULL, 'YAMOUSSOUKRO', '6.8099100', '-5.2687200', NULL, NULL, NULL, NULL, NULL, NULL, 'intervention_planifiee', 'OUATTARA', '', '', NULL, '{\"GPS\": \"6.80991, -5.26872\", \"Statut\": \"EN DERANGEMENT\", \"equipes\": \"OUATTARA\", \"Avancement\": \"intervention_planifiee\", \"JDV CLIENT\": \"1\", \"Ligne fixe\": \"2122809183\", \"PCO CLIENT\": \"YDG03_PCO030\", \"SRO CLIENT\": \"YDG03\", \"LOCALISATION\": \"YAMOUSSOUKRO\", \"Nom du client\": \"MBENGUE SAFIATOU\", \"CONTACT CLIENT 1\": \"151162114\", \"CONTACT CLIENT 2\": \"150297440\", \"Numéro Abonnement\": \"RAB0000000176673\", \"Numéro de Requête\": \"CAS-2609352-P7D6S4\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('25', 'CAS-2611268-V1B3B6', NULL, 'OUATTARA DRISSA.', 'RAB0000000203323', '506121082', '140490649', NULL, 'YAMOUSSOUKRO DIOULABOUGOU QUARTIER GUERE', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'intervention_planifiee', 'ouattara', '', '', NULL, '{\"GPS\": \"6.807725, ,5.265643\", \"Statut\": \"EN DERANGEMENT\", \"equipes\": \"ouattara\", \"Avancement\": \"intervention_planifiee\", \"JDV CLIENT\": \"HUB01\", \"Ligne fixe\": \"2150019219\", \"PCO CLIENT\": \"nan\", \"SRO CLIENT\": \"YDG01\", \"LOCALISATION\": \"YAMOUSSOUKRO DIOULABOUGOU QUARTIER GUERE\", \"Nom du client\": \"OUATTARA DRISSA.\", \"CONTACT CLIENT 1\": \"506121082\", \"CONTACT CLIENT 2\": \"140490649\", \"Numéro Abonnement\": \"RAB0000000203323\", \"Numéro de Requête\": \"CAS-2611268-V1B3B6\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('26', 'CAS-2615237-L5F1J8', NULL, 'YAO KAN BONAVENTURE 02', 'RAB0000000290538', '700000935', '150000012', NULL, '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'intervention_planifiee', 'OUATTARA', '', '', NULL, '{\"Statut\": \"EN DERANGEMENT\", \"equipes\": \"OUATTARA\", \"Avancement\": \"intervention_planifiee\", \"Ligne fixe\": \"2150030521\", \"PCO CLIENT\": \"YRM01_PCO018\", \"SRO CLIENT\": \"YRM01\", \"Nom du client\": \"YAO KAN BONAVENTURE 02\", \"CONTACT CLIENT 1\": \"700000935\", \"CONTACT CLIENT 2\": \"150000012\", \"Numéro Abonnement\": \"RAB0000000290538\", \"Numéro de Requête\": \"CAS-2615237-L5F1J8\", \"Entreprise/porteur d\'action\": \"ITC\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('27', 'CAS-2610712-J9S2Z3', NULL, 'Mr. DINE AKEEM TAOFIK YAKRO', 'RAB0000000113828', '758718048', '103005388', NULL, 'résidant à YAMOUSSOUKRO', '5.3451000', '4.1110000', NULL, NULL, NULL, NULL, NULL, NULL, '', '', '', '', NULL, '{\"GPS\": \"5.3451, 4.111\", \"Statut\": \"EN DERANGEMENT\", \"Ligne fixe\": \"2120808780\", \"LOCALISATION\": \"résidant à YAMOUSSOUKRO\", \"Nom du client\": \"Mr. DINE AKEEM TAOFIK YAKRO\", \"CONTACT CLIENT 1\": \"758718048\", \"CONTACT CLIENT 2\": \"103005388\", \"Numéro Abonnement\": \"RAB0000000113828\", \"Numéro de Requête\": \"CAS-2610712-J9S2Z3\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');
INSERT INTO `maintenance_ftth_tickets` (`id`, `ref_code`, `fixed_line`, `client_name`, `client_code`, `client_phone`, `client_phone2`, `client_email`, `client_address`, `client_lat`, `client_lng`, `sro_client`, `jdv_client`, `pco_client`, `company_name`, `site_name`, `nature_intervention`, `avancement`, `equipes`, `date_cloture`, `description`, `cause_comment`, `extra_fields`, `priority`, `status`, `imported_at`, `imported_by`, `created_at`, `updated_at`) VALUES ('28', 'CAS-2584664-D5B6P4', NULL, 'KONAN NGUESSAN FLORENTIN ROMARIC YAKRO SOPIM', 'RAB0000000111159', '173262662', '748902269', NULL, 'YAMOUSSOUKRO', '6.7867000', '-5.2756000', NULL, NULL, NULL, NULL, NULL, NULL, '', '', '', '', NULL, '{\"GPS\": \"6.7867, -5.2756\", \"Statut\": \"EN DERANGEMENT\", \"JDV CLIENT\": \"1\", \"Ligne fixe\": \"2122805668\", \"PCO CLIENT\": \"YKN01_PCO1\", \"SRO CLIENT\": \"YKN01\", \"LOCALISATION\": \"YAMOUSSOUKRO\", \"Nom du client\": \"KONAN NGUESSAN FLORENTIN ROMARIC YAKRO SOPIM\", \"CONTACT CLIENT 1\": \"173262662\", \"CONTACT CLIENT 2\": \"748902269\", \"Numéro Abonnement\": \"RAB0000000111159\", \"Numéro de Requête\": \"CAS-2584664-D5B6P4\"}', 'Moyenne', 'nouveau', '2026-03-29 13:50:16', '1', '2026-03-29 13:50:16', '2026-03-29 13:50:16');

-- --------------------------------------------------------
-- Structure de la table `maintenance_types`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `maintenance_types`;
CREATE TABLE `maintenance_types` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `maintenance_types`

INSERT INTO `maintenance_types` (`id`, `name`, `active`, `created_at`, `updated_at`) VALUES ('1', 'Maintenance corrective', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `maintenance_types` (`id`, `name`, `active`, `created_at`, `updated_at`) VALUES ('2', 'Maintenance préventive', '1', '2025-12-17 10:59:32', NULL);

-- --------------------------------------------------------
-- Structure de la table `notifications`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `notifications`;
CREATE TABLE `notifications` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `title` varchar(200) NOT NULL,
  `body` text,
  `url` varchar(300) DEFAULT NULL,
  `is_read` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `notifications_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `notifications`

INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('1', '1', 'Prise en charge technicien', 'Admin s\'est mis en prise en charge à 12:00', 'http://localhost/Insuite_backbones/public/cartographie', '1', '2025-12-17 12:00:50');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('2', '1', 'Devis en attente de validation', 'Le devis DEV-251217-142403-188 pour MTN CI est en attente.Montant: 0,00 XOF', '/Insuite_backbones/public/quotes/show?id=1', '1', '2025-12-17 14:55:36');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('3', '1', 'Devis validé', 'Le devis DEV-251217-142403-188 pour MTN CI a été validé.Montant: 0,00 XOF', '/Insuite_backbones/public/quotes/show?id=1', '1', '2025-12-17 15:22:52');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('4', '1', 'TEST - Rapport final complété: INC-2025-001', 'Script de diagnostic : notification de test pour vérifier la réception par admin/superviseur.', 'http://localhost:8000/incidents/detail?id=1', '1', '2025-12-26 11:56:19');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('5', '2', 'TEST - Rapport final complété: INC-2025-001', 'Script de diagnostic : notification de test pour vérifier la réception par admin/superviseur.', 'http://localhost:8000/incidents/detail?id=1', '0', '2025-12-26 11:56:19');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('6', '3', 'TEST - Rapport final complété: INC-2025-001', 'Script de diagnostic : notification de test pour vérifier la réception par admin/superviseur.', 'http://localhost:8000/incidents/detail?id=1', '0', '2025-12-26 11:56:19');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('7', '1', 'TEST - Rapport final complété: INC-2025-003', 'Script de diagnostic : notification de test pour vérifier la réception par admin/superviseur.', 'http://localhost:8000/incidents/detail?id=3', '1', '2025-12-26 11:58:01');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('8', '2', 'TEST - Rapport final complété: INC-2025-003', 'Script de diagnostic : notification de test pour vérifier la réception par admin/superviseur.', 'http://localhost:8000/incidents/detail?id=3', '0', '2025-12-26 11:58:01');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('9', '3', 'TEST - Rapport final complété: INC-2025-003', 'Script de diagnostic : notification de test pour vérifier la réception par admin/superviseur.', 'http://localhost:8000/incidents/detail?id=3', '0', '2025-12-26 11:58:01');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('10', '2', 'Nouveau commentaire: MAINTFO-0116-001', 'admin a publié un commentaire.', 'http://localhost/Insuite_backbones/public/incidents/detail?id=4#pane-comments', '0', '2026-01-16 21:48:34');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('11', '2', 'Nouveau commentaire: MAINTFO-0327-001', 'admin a publié un commentaire.', 'http://localhost/Insuite_backbones/public/incidents/detail?id=5#pane-comments', '0', '2026-03-27 16:05:31');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('12', '4', 'Assignation d\'incident: MAINTFO-0327-001', 'Vous avez été assigné(e) à l\'incident MAINTFO-0327-001 — Coupure FO_AC002-TO-ET082 [MARC_ANADER vers ECG_BIETRY]', 'http://localhost/Insuite_backbones/public/incidents/treatment?id=5', '0', '2026-03-27 16:06:09');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('13', '1', 'Traitement soumis: MAINTFO-0327-001', 'admin a soumis un rapport de traitement pour l\'incident MAINTFO-0327-001.', 'http://localhost/Insuite_backbones/public/incidents/treatment?id=5&view=1', '1', '2026-03-27 16:19:39');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('14', '1', 'Traitement validé: MAINTFO-0327-001', 'admin a validé le rapport de traitement de l\'incident MAINTFO-0327-001. Un rapport final est à compléter.', 'http://localhost/Insuite_backbones/public/incidents/treatment?id=5&view=1', '1', '2026-03-27 16:23:07');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('15', '2', 'Traitement validé: MAINTFO-0327-001', 'admin a validé le rapport de traitement de l\'incident MAINTFO-0327-001. Un rapport final est à compléter.', 'http://localhost/Insuite_backbones/public/incidents/treatment?id=5&view=1', '0', '2026-03-27 16:23:07');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('16', '4', 'Traitement validé: MAINTFO-0327-001', 'admin a validé le rapport de traitement de l\'incident MAINTFO-0327-001. Un rapport final est à compléter.', 'http://localhost/Insuite_backbones/public/incidents/treatment?id=5&view=1', '0', '2026-03-27 16:23:07');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('17', '4', '[FTTH] Nouvelle intervention assignée', 'Vous avez été assigné à l\'intervention FTTH pour le client AYEKOUE BLAISE ARMAND YAKRO.', '/maintenance-ftth/detail?id=15', '0', '2026-03-29 14:00:29');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('18', '7', '[FTTH] Nouvelle intervention assignée', 'Vous avez été assigné à l\'intervention FTTH pour le client KOUASSI AFANOU HYPPOLITE.', '/maintenance-ftth/detail?id=16', '1', '2026-03-29 14:14:59');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('19', '1', '[FTTH] Rapport soumis', 'TEST a soumis le rapport pour le client KOUASSI AFANOU HYPPOLITE. En attente de validation.', '/maintenance-ftth/detail?id=16', '1', '2026-03-29 14:21:40');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('20', '7', '[FTTH] Rapport rejeté', 'Votre rapport a été rejeté. Motif : test', '/maintenance-ftth/detail?id=16', '1', '2026-03-29 15:08:39');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('21', '1', '[FTTH] Rapport soumis', 'TEST a soumis le rapport pour le client KOUASSI AFANOU HYPPOLITE. En attente de validation.', '/maintenance-ftth/16', '1', '2026-03-29 21:12:57');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('22', '1', '[FTTH] Rapport soumis', 'TEST a soumis le rapport pour le client KOUASSI AFANOU HYPPOLITE. En attente de validation.', '/maintenance-ftth/16', '1', '2026-03-29 21:12:58');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('23', '1', '[FTTH] Rapport soumis', 'TEST a soumis le rapport pour le client KOUASSI AFANOU HYPPOLITE. En attente de validation.', '/maintenance-ftth/16', '1', '2026-03-29 21:13:20');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('24', '7', '[FTTH] Intervention validée', 'Votre rapport d\'intervention a été validé.', '/maintenance-ftth/detail?id=16', '1', '2026-03-29 21:17:23');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('25', '7', '[FTTH] Nouvelle intervention assignée', 'Vous avez été assigné à l\'intervention FTTH pour le client KOUASSI AMANI FRANCIS.', '/maintenance-ftth/detail?id=17', '1', '2026-03-29 21:19:23');
INSERT INTO `notifications` (`id`, `user_id`, `title`, `body`, `url`, `is_read`, `created_at`) VALUES ('26', '7', '[FTTH] Nouvelle intervention assignée', 'Vous avez été assigné à l\'intervention FTTH pour le client AYEKOUE BLAISE ARMAND YAKRO.', '/maintenance-ftth/detail?id=15', '1', '2026-03-29 21:24:29');

-- --------------------------------------------------------
-- Structure de la table `planning_tasks`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `planning_tasks`;
CREATE TABLE `planning_tasks` (
  `id` int NOT NULL AUTO_INCREMENT,
  `title` varchar(200) NOT NULL,
  `type` enum('préventive','corrective') NOT NULL DEFAULT 'corrective',
  `start_datetime` datetime NOT NULL,
  `end_datetime` datetime DEFAULT NULL,
  `status` enum('Planifié','En cours','Terminé','Annulé') NOT NULL DEFAULT 'Planifié',
  `technician_id` int DEFAULT NULL,
  `incident_id` int DEFAULT NULL,
  `location_id` int DEFAULT NULL,
  `notes` text,
  `color` varchar(7) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `planning_tasks`

INSERT INTO `planning_tasks` (`id`, `title`, `type`, `start_datetime`, `end_datetime`, `status`, `technician_id`, `incident_id`, `location_id`, `notes`, `color`, `created_at`, `updated_at`) VALUES ('1', 'Maintenance', 'préventive', '2026-03-27 16:02:00', '2026-03-28 16:27:00', 'Planifié', '4', '5', '5', NULL, '#dd0808', '2026-03-27 16:27:54', '2026-03-27 16:27:54');

-- --------------------------------------------------------
-- Structure de la table `priority_levels`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `priority_levels`;
CREATE TABLE `priority_levels` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `sort_order` int DEFAULT '10',
  `color` varchar(7) DEFAULT '#6c757d',
  `description` text,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`),
  KEY `sort_order` (`sort_order`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `priority_levels`

INSERT INTO `priority_levels` (`id`, `name`, `sort_order`, `color`, `description`, `created_at`, `updated_at`) VALUES ('1', 'Critique', '1', '#dc3545', 'Incident critique n├®cessitant une intervention imm├®diate', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `priority_levels` (`id`, `name`, `sort_order`, `color`, `description`, `created_at`, `updated_at`) VALUES ('2', 'Haute', '2', '#fd7e14', 'Incident ├á haute priorit├®', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `priority_levels` (`id`, `name`, `sort_order`, `color`, `description`, `created_at`, `updated_at`) VALUES ('3', 'Normale', '3', '#ffc107', 'Incident ├á priorit├® normale', '2025-12-17 09:50:05', '2025-12-17 09:50:05');
INSERT INTO `priority_levels` (`id`, `name`, `sort_order`, `color`, `description`, `created_at`, `updated_at`) VALUES ('4', 'Basse', '4', '#28a745', 'Incident ├á basse priorit├®', '2025-12-17 09:50:05', '2025-12-17 09:50:05');

-- --------------------------------------------------------
-- Structure de la table `quote_history`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `quote_history`;
CREATE TABLE `quote_history` (
  `id` int NOT NULL AUTO_INCREMENT,
  `quote_id` int NOT NULL,
  `changed_by` int DEFAULT NULL,
  `from_status` varchar(64) DEFAULT NULL,
  `to_status` varchar(64) NOT NULL,
  `reason` text,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `quote_id` (`quote_id`),
  CONSTRAINT `quote_history_ibfk_1` FOREIGN KEY (`quote_id`) REFERENCES `quotes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `quote_history`

INSERT INTO `quote_history` (`id`, `quote_id`, `changed_by`, `from_status`, `to_status`, `reason`, `created_at`) VALUES ('1', '1', '1', 'Rejeté', 'Validé', NULL, '2025-12-17 15:22:52');

-- --------------------------------------------------------
-- Structure de la table `quote_items`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `quote_items`;
CREATE TABLE `quote_items` (
  `id` int NOT NULL AUTO_INCREMENT,
  `quote_id` int NOT NULL,
  `designation` varchar(255) NOT NULL,
  `unit` varchar(16) NOT NULL DEFAULT 'u',
  `quantity` decimal(12,2) NOT NULL DEFAULT '0.00',
  `unit_price` decimal(12,2) NOT NULL DEFAULT '0.00',
  `total_line` decimal(12,2) NOT NULL DEFAULT '0.00',
  PRIMARY KEY (`id`),
  KEY `quote_id` (`quote_id`),
  CONSTRAINT `quote_items_ibfk_1` FOREIGN KEY (`quote_id`) REFERENCES `quotes` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------
-- Structure de la table `quotes`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `quotes`;
CREATE TABLE `quotes` (
  `id` int NOT NULL AUTO_INCREMENT,
  `quote_no` varchar(64) NOT NULL,
  `client_name` varchar(255) NOT NULL,
  `related_type` varchar(64) DEFAULT NULL,
  `related_ref` varchar(128) DEFAULT NULL,
  `quote_date` date NOT NULL,
  `status` varchar(64) NOT NULL DEFAULT 'En attente',
  `total_ht` decimal(12,2) NOT NULL DEFAULT '0.00',
  `total_tva` decimal(12,2) NOT NULL DEFAULT '0.00',
  `total_ttc` decimal(12,2) NOT NULL DEFAULT '0.00',
  `currency` varchar(8) NOT NULL DEFAULT 'XOF',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `status_changed_at` datetime DEFAULT NULL,
  `reject_reason` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `quotes`

INSERT INTO `quotes` (`id`, `quote_no`, `client_name`, `related_type`, `related_ref`, `quote_date`, `status`, `total_ht`, `total_tva`, `total_ttc`, `currency`, `created_at`, `updated_at`, `status_changed_at`, `reject_reason`) VALUES ('1', 'DEV-251217-142403-188', 'MTN CI', 'incident', '', '2025-12-17', 'Validé', '0.00', '0.00', '0.00', 'XOF', '2025-12-17 14:24:03', '2025-12-17 15:22:52', '2025-12-17 15:22:52', NULL);

-- --------------------------------------------------------
-- Structure de la table `roles`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `roles`;
CREATE TABLE `roles` (
  `id` int NOT NULL AUTO_INCREMENT,
  `key_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `label` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `permissions` json DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `key_name` (`key_name`),
  UNIQUE KEY `idx_key` (`key_name`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `roles`

INSERT INTO `roles` (`id`, `key_name`, `label`, `description`, `permissions`, `active`) VALUES ('1', 'admin', 'Administrateur', 'Accès complet au système', NULL, '1');
INSERT INTO `roles` (`id`, `key_name`, `label`, `description`, `permissions`, `active`) VALUES ('2', 'manager', 'Manager', 'Gestion des équipes et incidents', NULL, '1');
INSERT INTO `roles` (`id`, `key_name`, `label`, `description`, `permissions`, `active`) VALUES ('3', 'superviseur', 'Superviseur', 'Supervision des interventions', NULL, '1');
INSERT INTO `roles` (`id`, `key_name`, `label`, `description`, `permissions`, `active`) VALUES ('4', 'agent', 'Agent Commercial', 'Gestion des clients et devis', NULL, '1');
INSERT INTO `roles` (`id`, `key_name`, `label`, `description`, `permissions`, `active`) VALUES ('5', 'technicien', 'Technicien', 'Intervention terrain', NULL, '1');

-- --------------------------------------------------------
-- Structure de la table `settings`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `settings`;
CREATE TABLE `settings` (
  `key` varchar(64) NOT NULL,
  `value` text,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `settings`

INSERT INTO `settings` (`key`, `value`) VALUES ('mobile_api_base', '');
INSERT INTO `settings` (`key`, `value`) VALUES ('mobile_icon', 'branding/mobile-icon.png');
INSERT INTO `settings` (`key`, `value`) VALUES ('mobile_login_bg', 'branding/mobile-login-bg.jpg');
INSERT INTO `settings` (`key`, `value`) VALUES ('mobile_logo', 'branding/mobile-logo.png');
INSERT INTO `settings` (`key`, `value`) VALUES ('mobile_splash', 'branding/mobile-splash.jpg');

-- --------------------------------------------------------
-- Structure de la table `settings_legacy_20260329214329`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `settings_legacy_20260329214329`;
CREATE TABLE `settings_legacy_20260329214329` (
  `id` int NOT NULL AUTO_INCREMENT,
  `key_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` text COLLATE utf8mb4_unicode_ci,
  `description` text COLLATE utf8mb4_unicode_ci,
  `type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'string',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `key_name` (`key_name`),
  UNIQUE KEY `idx_key` (`key_name`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `settings_legacy_20260329214329`

INSERT INTO `settings_legacy_20260329214329` (`id`, `key_name`, `value`, `description`, `type`, `created_at`, `updated_at`) VALUES ('1', 'app_name', 'NOVALINK', 'Nom de l\'application', 'string', '2025-12-15 12:15:23', NULL);
INSERT INTO `settings_legacy_20260329214329` (`id`, `key_name`, `value`, `description`, `type`, `created_at`, `updated_at`) VALUES ('2', 'timezone', 'Africa/Abidjan', 'Fuseau horaire par défaut', 'string', '2025-12-15 12:15:23', NULL);
INSERT INTO `settings_legacy_20260329214329` (`id`, `key_name`, `value`, `description`, `type`, `created_at`, `updated_at`) VALUES ('3', 'locale', 'fr_FR', 'Langue par défaut', 'string', '2025-12-15 12:15:23', NULL);
INSERT INTO `settings_legacy_20260329214329` (`id`, `key_name`, `value`, `description`, `type`, `created_at`, `updated_at`) VALUES ('4', 'currency', 'XOF', 'Devise par défaut', 'string', '2025-12-15 12:15:23', NULL);
INSERT INTO `settings_legacy_20260329214329` (`id`, `key_name`, `value`, `description`, `type`, `created_at`, `updated_at`) VALUES ('5', 'company_name', 'NOVALINK SARL', 'Nom de l\'entreprise', 'string', '2025-12-15 12:15:23', NULL);

-- --------------------------------------------------------
-- Structure de la table `sites`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `sites`;
CREATE TABLE `sites` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `description` text,
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------
-- Structure de la table `sla_policies`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `sla_policies`;
CREATE TABLE `sla_policies` (
  `id` int NOT NULL AUTO_INCREMENT,
  `maintenance_type_id` int NOT NULL,
  `priority` enum('Basse','Moyenne','Haute','Urgent') COLLATE utf8mb4_unicode_ci NOT NULL,
  `response_minutes` int NOT NULL,
  `resolution_minutes` int NOT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_sla` (`maintenance_type_id`,`priority`),
  CONSTRAINT `fk_sla_mt` FOREIGN KEY (`maintenance_type_id`) REFERENCES `maintenance_types` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `sla_policies`

INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('1', '1', 'Basse', '120', '1440', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('2', '1', 'Moyenne', '60', '480', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('3', '1', 'Haute', '30', '240', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('4', '1', 'Urgent', '15', '120', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('5', '2', 'Basse', '240', '2880', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('6', '2', 'Moyenne', '120', '1440', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('7', '2', 'Haute', '60', '720', '1', '2025-12-17 10:59:32', NULL);
INSERT INTO `sla_policies` (`id`, `maintenance_type_id`, `priority`, `response_minutes`, `resolution_minutes`, `active`, `created_at`, `updated_at`) VALUES ('8', '2', 'Urgent', '30', '480', '1', '2025-12-17 10:59:32', NULL);

-- --------------------------------------------------------
-- Structure de la table `technician_location_history`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `technician_location_history`;
CREATE TABLE `technician_location_history` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `latitude` decimal(10,8) NOT NULL,
  `longitude` decimal(11,8) NOT NULL,
  `accuracy` float DEFAULT NULL,
  `heading` float DEFAULT NULL,
  `speed` float DEFAULT NULL,
  `recorded_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user_time` (`user_id`,`recorded_at`),
  KEY `idx_recorded_at` (`recorded_at`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `technician_location_history`

INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('1', '1', '5.36836590', '-3.99022660', '15.843', NULL, NULL, '2025-12-15 12:35:20');
INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('2', '1', '5.35101440', '-4.01735680', '213527', NULL, NULL, '2025-12-15 12:35:45');
INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('3', '1', '5.36803498', '-3.99014161', '95', NULL, NULL, '2025-12-17 11:26:29');
INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('4', '1', '5.36812934', '-3.99008183', '88', NULL, NULL, '2025-12-17 19:30:00');
INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('5', '1', '5.36820661', '-3.98999443', '73', NULL, NULL, '2025-12-17 19:30:12');
INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('6', '1', '5.32356224', '-4.06519482', '224', NULL, NULL, '2026-01-16 20:42:10');
INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('7', '1', '5.32322250', '-4.06613550', '500', NULL, NULL, '2026-01-16 20:44:25');
INSERT INTO `technician_location_history` (`id`, `user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `recorded_at`) VALUES ('8', '1', '5.36829000', '-3.98990400', '130', NULL, NULL, '2026-01-16 22:11:19');

-- --------------------------------------------------------
-- Structure de la table `technician_locations`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `technician_locations`;
CREATE TABLE `technician_locations` (
  `user_id` int NOT NULL,
  `latitude` decimal(10,8) NOT NULL,
  `longitude` decimal(11,8) NOT NULL,
  `accuracy` float DEFAULT NULL,
  `heading` float DEFAULT NULL,
  `speed` float DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `technician_locations`

INSERT INTO `technician_locations` (`user_id`, `latitude`, `longitude`, `accuracy`, `heading`, `speed`, `updated_at`) VALUES ('1', '5.36829000', '-3.98990400', '130', NULL, NULL, '2026-01-16 22:11:19');

-- --------------------------------------------------------
-- Structure de la table `user_devices`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `user_devices`;
CREATE TABLE `user_devices` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `platform` varchar(20) DEFAULT NULL,
  `device_id` varchar(120) DEFAULT NULL,
  `fcm_token` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `last_seen_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_user_token` (`user_id`,`fcm_token`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- --------------------------------------------------------
-- Structure de la table `user_takeover_events`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `user_takeover_events`;
CREATE TABLE `user_takeover_events` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `taken_at` datetime NOT NULL,
  `ip_address` varchar(64) DEFAULT NULL,
  `user_agent` text,
  `lat` decimal(10,7) DEFAULT NULL,
  `lng` decimal(10,7) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

-- Données de la table `user_takeover_events`

INSERT INTO `user_takeover_events` (`id`, `user_id`, `taken_at`, `ip_address`, `user_agent`, `lat`, `lng`) VALUES ('1', '1', '2025-12-17 12:00:50', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36', '5.3680089', '-3.9901466');

-- --------------------------------------------------------
-- Structure de la table `users`
-- --------------------------------------------------------

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int NOT NULL AUTO_INCREMENT,
  `username` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `role_key` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'agent',
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `full_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `role` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'technicien',
  `active` tinyint(1) DEFAULT '1',
  `last_login` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'Utilisateur',
  `phone` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `takeover_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`),
  UNIQUE KEY `email` (`email`),
  KEY `idx_username` (`username`),
  KEY `idx_email` (`email`),
  KEY `idx_role` (`role`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Données de la table `users`

INSERT INTO `users` (`id`, `username`, `email`, `role_key`, `password`, `full_name`, `role`, `active`, `last_login`, `created_at`, `updated_at`, `name`, `phone`, `takeover_at`) VALUES ('1', 'admin', 'admin@novalink.ci', 'admin', '$2y$10$0tGwuJjeXM/GzPQizBgUY.ZkkPBRcxWoGQ92loj9l/mJ9SfWjbn7e', 'Administrateur Système', 'admin', '1', NULL, '2025-12-15 12:15:23', '2026-03-27 15:53:12', 'admin', NULL, '2025-12-17 12:00:50');
INSERT INTO `users` (`id`, `username`, `email`, `role_key`, `password`, `full_name`, `role`, `active`, `last_login`, `created_at`, `updated_at`, `name`, `phone`, `takeover_at`) VALUES ('2', 'agent1', 'agent@novalink.ci', 'agent', '$2y$10$ae/tLIidfceRCDygCr3PdO5Jq0MXHVEkJpouwFa71DB5XFNNrxYgO', 'Agent Commercial', 'agent', '1', NULL, '2025-12-15 12:15:23', '2025-12-17 09:54:24', 'agent', NULL, NULL);
INSERT INTO `users` (`id`, `username`, `email`, `role_key`, `password`, `full_name`, `role`, `active`, `last_login`, `created_at`, `updated_at`, `name`, `phone`, `takeover_at`) VALUES ('3', 'technicien1', 'tech@novalink.ci', 'technicien', '$2y$10$ae/tLIidfceRCDygCr3PdO5Jq0MXHVEkJpouwFa71DB5XFNNrxYgO', 'Technicien Terrain', 'technicien', '1', NULL, '2025-12-15 12:15:23', '2026-03-29 14:11:37', 'TECH_TEST_140829', NULL, NULL);
INSERT INTO `users` (`id`, `username`, `email`, `role_key`, `password`, `full_name`, `role`, `active`, `last_login`, `created_at`, `updated_at`, `name`, `phone`, `takeover_at`) VALUES ('4', 'wil.zahui', 'wil.zahui@gmail.com', 'technicien', '$2y$10$qKT8DCgjJg5zs5aQZXzYVOha7Mo9xV0hwDOBl7fP/TgvQTe8u3QnS', 'Wil Zahui', 'technicien', '1', NULL, '2026-01-01 16:03:27', '2026-03-29 14:05:42', 'Wil Zahui', NULL, NULL);
INSERT INTO `users` (`id`, `username`, `email`, `role_key`, `password`, `full_name`, `role`, `active`, `last_login`, `created_at`, `updated_at`, `name`, `phone`, `takeover_at`) VALUES ('7', 'wzahui', 'wzahui@gmail.com', 'technicien', '$2y$10$KzBaR7xAkCQNySac4Jn/wO1XiULxOjubpdyg4cYwiTwPDnYyfVhyC', NULL, 'technicien', '1', NULL, '2026-03-29 14:11:43', NULL, 'TEST', NULL, NULL);

SET FOREIGN_KEY_CHECKS=1;
