-- https://www.phpmyadmin.net/
--
-- Servidor: localhost:3306
-- Tiempo de generación: 29-06-2026 a las 05:23:07
-- Versión del servidor: 8.0.46
-- Versión de PHP: 8.4.22

START TRANSACTION;



--
-- Base de datos: `evolucionamos_ana`
--
CREATE DATABASE IF NOT EXISTS `evolucionamos_ana` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `evolucionamos_ana`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `attachments`
--

CREATE TABLE `attachments` (
  `id` bigint UNSIGNED NOT NULL,
  `ticket_id` bigint UNSIGNED NOT NULL,
  `comment_id` bigint UNSIGNED DEFAULT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `path` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `original_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `mime_type` varchar(120) COLLATE utf8mb4_unicode_ci NOT NULL,
  `size_bytes` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `attachments`
--

INSERT INTO `attachments` (`id`, `ticket_id`, `comment_id`, `user_id`, `path`, `original_name`, `mime_type`, `size_bytes`, `created_at`, `updated_at`) VALUES
(1, 1, NULL, 5, 'attachments/tickets/1/5435829511741950e6202f9080f4d8ee529cf4b5b32b0e0e92ca321badf1363b.png', 'CR-002-soporte-1-soporte-1--comportamiento-actual-del-archivado-chat-aparece-.png', 'image/png', 177013, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(2, 1, NULL, 5, 'attachments/tickets/1/853450a0af9dfd8bcf76a8fb444682579dbb7ac8ace92c29f5db82655e803f7e.png', 'CR-002-soporte-2-soporte-2--evidencia-del-chat-archivado-que-permanece-visibl.png', 'image/png', 181906, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(3, 2, NULL, 5, 'attachments/tickets/2/361a23b6ad5ddb3307187eb22e97ebafbaa634dfb56dadb0951be773ac3571c0.png', 'CR-005-soporte-1-soporte-1--creación-exitosa-de-respuestas-rápidas-desde-el.png', 'image/png', 145379, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(4, 2, NULL, 5, 'attachments/tickets/2/dfdb50c0a64530ad8670f55ed2158a9a30721ef87d8d677b614e0ec5aaa3c502.png', 'CR-005-soporte-2-soporte-2--usuario-marcela-sin-acceso-a-las-respuestas-rápi.png', 'image/png', 241158, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(5, 3, NULL, 5, 'attachments/tickets/3/93d91b2c5870904a5e4737cf7cb68a73e693f5f82f12914a864ba2a521fae3aa.png', 'CR-017-soporte-1-soporte-1--caso-de-chat-disponible-con-más-de-24-horas-sin-.png', 'image/png', 212842, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(6, 3, NULL, 5, 'attachments/tickets/3/82b775939aefc0066fa1135cc626b083b16beadce8aab0bee814884d273060ff.png', 'CR-017-soporte-2-soporte-2--chat-archivado-permite-escribir-mensaje-aun-con-v.png', 'image/png', 225926, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(7, 3, NULL, 5, 'attachments/tickets/3/5ff24dc7c054ccdbdd51ef3c78b45f509c949b425a7603477af327d0ad0cc205.png', 'CR-017-soporte-3-soporte-3--evidencia-adicional-de-mensaje-escrito-el-11-de-a.png', 'image/png', 277039, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(8, 6, NULL, 5, 'attachments/tickets/6/383292cec9a042b45b01b71db2d54fef2228f0db5f5138787f2744323ec15777.png', 'CR-021-soporte-1-soporte--evidencia-de-que-el-botón-de-cierre-de-sesión-no-.png', 'image/png', 58834, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(9, 7, NULL, 5, 'attachments/tickets/7/82c0db9387324806c445fd81cdcaab34e1b4b120ee7e76d1dda77b52779d081a.png', 'CR-022-soporte-1-soporte--evidencia-del-chat-sin-asesor-asignado-tras-error-e.png', 'image/png', 153369, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(10, 8, NULL, 5, 'attachments/tickets/8/217f29155721efec09ebccd1b70f83f5c83e44194a65e7f5b1191b7cfd59bd19.jpg', 'CR-023-soporte-1-soporte--historial-descargado-mostrando-desfase-de-4-horas-e.jpg', 'image/jpg', 167205, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(11, 9, NULL, 5, 'attachments/tickets/9/1e0d646aef0c7ad19652963428c6c4ad7485b6ab341960494b51d85a2c8c2199.png', 'CR-024-soporte-1-soporte-1--chat-tomado-por-asesor-tras-salir-del-flujo-norma.png', 'image/png', 233761, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(12, 9, NULL, 5, 'attachments/tickets/9/97a4c96571b9200e9119ad996c5f26dd9c54ddea361db54651184e5a4fdae6a7.png', 'CR-024-soporte-2-soporte-2--reactivación-del-flujo-en-el-punto-anterior-tras.png', 'image/png', 220759, '2026-04-21 15:21:51', '2026-04-21 15:21:51'),
(13, 10, NULL, 5, 'attachments/tickets/10/08def620c30148bde3811ab64d1a65ebe4abb50004f77aefeeae02816106f49a.png', 'CR-025-soporte-1-soporte-1--asociado-saluda-y-el-flujo-no-lo-entiende-obs-adi.png', 'image/png', 159073, '2026-04-21 15:21:52', '2026-04-21 15:21:52'),
(14, 10, NULL, 5, 'attachments/tickets/10/d2d3035cf775a957ca5c122afb9f1f38a9bfb617a4822757c0a7a37885ed9543.png', 'CR-025-soporte-2-soporte-2--errores-comunes-al-saludar-que-deberían-ser-reco.png', 'image/png', 25825, '2026-04-21 15:21:52', '2026-04-21 15:21:52'),
(15, 10, NULL, 5, 'attachments/tickets/10/9cc371750f53bba3ba84218c611671801d2b9db8bcc78485f1bcf6ed3d6973d7.png', 'CR-025-soporte-3-soporte-3--buenas-tardes-en-proceso-reabierto-no-detectado-o.png', 'image/png', 348717, '2026-04-21 15:21:52', '2026-04-21 15:21:52'),
(16, 22, NULL, 5, 'attachments/tickets/22/108ad6f10e034c46cf7e772d1cb7aa2438b9ffe61bf465a33521618d2a193b7b.png', 'CR-026-soporte-1-soporte-1--mensaje-no-configurado-tras-envío-del-soporte-de.png', 'image/png', 201034, '2026-04-21 15:21:52', '2026-04-21 15:21:52'),
(17, 22, NULL, 5, 'attachments/tickets/22/63fac8ba427c5c34ddf8786509894425e76290029fe259fbabc194e241293cf3.png', 'CR-026-soporte-2-soporte-2--pantallazo-del-flujo-con-el-usuario-al-que-debió.png', 'image/png', 113208, '2026-04-21 15:21:52', '2026-04-21 15:21:52'),
(18, 23, NULL, 5, 'attachments/tickets/23/01d629bc78050a1b46eaf3634bfe0fd85b00c548dd516cac796143e1f3854a95.png', 'CR-029-soporte-1-soporte--mensaje-automático-prometiendo-contacto-en-día-si.png', 'image/png', 161819, '2026-04-21 15:21:52', '2026-04-21 15:21:52'),
(19, 28, NULL, 8, 'attachments/tickets/28/db7a2d161eba84400d153f44d857508f05818fe1.png', 'CR-034-soporte-1-ventana-24h-expirada.png', 'image/png', 265157, '2026-04-26 02:10:17', '2026-04-26 02:10:17'),
(20, 28, NULL, 8, 'attachments/tickets/28/b4d3836550102d098a1548db29a28f6f6982add3.png', 'CR-034-soporte-2-caja-escritura-habilitada.png', 'image/png', 351753, '2026-04-26 02:10:17', '2026-04-26 02:10:17'),
(21, 29, NULL, 8, 'attachments/tickets/29/e9c9af4a30a03f007eb5257d7c98aa562fcd9270.png', 'CR-035-soporte-consumo-plan-incorrecto.png', 'image/png', 59463, '2026-04-26 02:10:17', '2026-04-26 02:10:17'),
(22, 41, NULL, 5, 'attachments/tickets/41/2f18de225e369db257e41988cf1135373d90bd693c2677c54c86344d73a0cfcb.png', 'Captura de pantalla 2026-04-27 131456.png', 'image/png', 288567, '2026-04-27 13:16:47', '2026-04-27 13:16:47'),
(23, 42, NULL, 5, 'attachments/tickets/42/fd62e9f36c2e2fa7731437975e1cd8c9c04beacfcafd54460c05c91a47b86519.jpeg', 'WhatsApp Image 2026-04-28 at 4.30.31 PM.jpeg', 'image/jpeg', 192752, '2026-04-28 16:32:54', '2026-04-28 16:32:54'),
(24, 42, NULL, 5, 'attachments/tickets/42/059be713fc5c302dac144f14408bc2ec2ea9ae6d394772c9a914bc594ca1fa31.jpeg', 'WhatsApp Image 2026-04-28 at 4.31.26 PM.jpeg', 'image/jpeg', 165335, '2026-04-28 16:32:54', '2026-04-28 16:32:54'),
(25, 43, NULL, 5, 'attachments/tickets/43/faed9e4021c171d460e23819ca701da9431982478b7db35a28324bea9a76b08c.png', 'Captura de pantalla 2026-04-28 163608.png', 'image/png', 420388, '2026-04-28 16:39:09', '2026-04-28 16:39:09'),
(26, 44, NULL, 5, 'attachments/tickets/44/2226d27b51d2174581da5f0466ac5eaca196cd2d793adf64053ad70a32c8f5ce.png', 'Captura de pantalla 2026-04-28 164012.png', 'image/png', 350158, '2026-04-28 16:41:39', '2026-04-28 16:41:39'),
(27, 45, NULL, 5, 'attachments/tickets/45/0b4c4f5694261973eb9d4eb7f277c24fd898a9db61d9bfd28e3bb591aa775f8e.png', '24 horas.png', 'image/png', 324333, '2026-04-29 16:14:47', '2026-04-29 16:14:47'),
(28, 46, NULL, 5, 'attachments/tickets/46/e06870a8754af2c91722be42e1d77f44a6775be325cc13afa95a86d9caf69293.png', 'Captura de pantalla 2026-05-22 162513.png', 'image/png', 334895, '2026-05-22 16:30:42', '2026-05-22 16:30:42');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache`
--

CREATE TABLE `cache` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache_locks`
--

CREATE TABLE `cache_locks` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `owner` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `comments`
--

CREATE TABLE `comments` (
  `id` bigint UNSIGNED NOT NULL,
  `ticket_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `cuerpo` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `es_evidencia` tinyint(1) NOT NULL DEFAULT '0',
  `estado_anterior` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `estado_nuevo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `interno` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `comments`
--

INSERT INTO `comments` (`id`, `ticket_id`, `user_id`, `cuerpo`, `es_evidencia`, `estado_anterior`, `estado_nuevo`, `interno`, `created_at`, `updated_at`) VALUES
(1, 15, 6, 'Asignación actualizada — Desarrollador: Desarrollador', 0, NULL, NULL, 1, '2026-04-21 15:27:54', '2026-04-21 15:27:54'),
(2, 22, 6, 'Asignación actualizada — Desarrollador: Desarrollador', 0, NULL, NULL, 1, '2026-04-21 15:36:02', '2026-04-21 15:36:02'),
(3, 1, 6, 'Admin Ana Vega envió a QA\n\nReporte del desarrollador:\nSe ajustó la lógica de archivado: el chat se archiva automáticamente al cerrarlo y deja de aparecer en el listado de chats activos. El desarchivado automático al recibir nuevo mensaje del asociado se mantiene.', 0, 'reabierto', 'pruebas_qa', 1, '2026-04-21 15:36:31', '2026-04-21 15:36:31'),
(4, 1, 6, 'El equipo resolvió y validó este ticket. Por favor pruebe y confirme.', 0, 'pruebas_qa', 'pruebas_cliente', 0, '2026-04-21 15:36:47', '2026-04-21 15:36:47'),
(5, 20, 6, 'Asignación actualizada — Desarrollador: Desarrollador', 0, NULL, NULL, 1, '2026-04-21 15:37:00', '2026-04-21 15:37:00'),
(6, 23, 6, 'Admin Ana Vega envió a QA', 0, 'abierto', 'pruebas_qa', 1, '2026-04-21 15:37:47', '2026-04-21 15:37:47'),
(7, 23, 6, 'El equipo resolvió y validó este ticket. Por favor pruebe y confirme.', 0, 'pruebas_qa', 'pruebas_cliente', 0, '2026-04-21 15:37:50', '2026-04-21 15:37:50'),
(8, 18, 6, 'Admin Ana Vega envió a QA', 0, 'abierto', 'pruebas_qa', 1, '2026-04-21 15:38:39', '2026-04-21 15:38:39'),
(9, 18, 6, 'El equipo resolvió y validó este ticket. Por favor pruebe y confirme.', 0, 'pruebas_qa', 'pruebas_cliente', 0, '2026-04-21 15:38:41', '2026-04-21 15:38:41'),
(10, 17, 6, 'Asignación actualizada — Desarrollador: Desarrollador', 0, NULL, NULL, 1, '2026-04-21 15:39:02', '2026-04-21 15:39:02'),
(11, 16, 6, 'Asignación actualizada — Desarrollador: Desarrollador', 0, NULL, NULL, 1, '2026-04-21 15:39:40', '2026-04-21 15:39:40'),
(12, 21, 6, 'Asignación actualizada — Desarrollador: Desarrollador', 0, NULL, NULL, 1, '2026-04-21 15:39:51', '2026-04-21 15:39:51'),
(13, 7, 5, 'Cliente reporta que aún no funciona.\n\nEsta sigue causando el error', 0, 'pruebas_cliente', 'en_progreso', 0, '2026-04-21 15:47:00', '2026-04-21 15:47:00'),
(14, 11, 5, 'Cliente confirmó la resolución\n\nCaso incorrecto NO FUNCIONA', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-21 16:19:14', '2026-04-21 16:19:14'),
(15, 23, 5, 'Cliente reporta que aún no funciona.\n\nESTE ESTÁ PENDIENTE', 0, 'pruebas_cliente', 'en_progreso', 0, '2026-04-21 16:25:00', '2026-04-21 16:25:00'),
(16, 5, 5, 'Cliente confirmó la resolución', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-21 16:27:34', '2026-04-21 16:27:34'),
(17, 6, 5, 'Cliente confirmó la resolución', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-21 16:35:21', '2026-04-21 16:35:21'),
(18, 18, 5, 'Cliente confirmó la resolución', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-21 16:35:58', '2026-04-21 16:35:58'),
(19, 2, 5, 'Cliente confirmó la resolución', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-21 16:36:16', '2026-04-21 16:36:16'),
(20, 8, 5, 'Cliente confirmó la resolución', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-21 16:39:14', '2026-04-21 16:39:14'),
(21, 24, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(22, 25, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(23, 26, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(24, 27, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(25, 28, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(26, 29, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(27, 30, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(28, 31, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(29, 32, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(30, 33, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(31, 34, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(32, 35, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(33, 36, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(34, 37, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(35, 38, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(36, 39, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(37, 40, 8, 'Ticket asignado a Desarrollador y enviado a desarrollo.', 0, 'abierto', 'en_progreso', 1, '2026-04-26 02:21:17', '2026-04-26 02:21:17'),
(38, 1, 5, 'Cliente confirmó la resolución\n\nFunciona muy bien, se recomienda eliminar el botón de \"Archivar\", ya que no se ve su funcionalidad', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-27 09:08:15', '2026-04-27 09:08:15'),
(39, 3, 5, 'Cliente confirmó la resolución\n\nEste fin de semana se estuvieron revisando los tiempos nuevamente', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-27 09:39:13', '2026-04-27 09:39:13'),
(40, 9, 5, 'Cliente confirmó la resolución\n\ncorregido', 0, 'pruebas_cliente', 'cerrado', 0, '2026-04-27 13:22:10', '2026-04-27 13:22:10'),
(41, 10, 5, 'Cliente reporta que aún no funciona.\n\nse intentó con Beunas, como error de buenas pero no fue posible', 0, 'pruebas_cliente', 'en_progreso', 0, '2026-04-27 13:23:20', '2026-04-27 13:23:20');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `migrations`
--

CREATE TABLE `migrations` (
  `id` int UNSIGNED NOT NULL,
  `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '2024_01_01_000000_create_users_table', 1),
(2, '2024_01_01_000001_create_tickets_table', 1),
(3, '2024_01_01_000002_create_comments_table', 1),
(4, '2024_01_01_000003_create_auxiliary_tables', 1),
(5, '2024_01_01_000004_create_attachments_table', 2),
(6, '2024_01_01_000005_add_privacy_to_tickets', 3);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `sessions`
--

CREATE TABLE `sessions` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` text COLLATE utf8mb4_unicode_ci,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `last_activity` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tickets`
--

CREATE TABLE `tickets` (
  `id` bigint UNSIGNED NOT NULL,
  `codigo` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `cliente_id` bigint UNSIGNED DEFAULT NULL,
  `desarrollador_id` bigint UNSIGNED DEFAULT NULL,
  `qa_id` bigint UNSIGNED DEFAULT NULL,
  `titulo` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `descripcion` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `prioridad` enum('baja','media','alta','urgente') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'media',
  `estado` enum('abierto','en_progreso','pruebas_qa','pruebas_cliente','cerrado','reabierto') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'abierto',
  `interno` tinyint(1) NOT NULL DEFAULT '0',
  `creado_por_id` bigint UNSIGNED DEFAULT NULL,
  `reporte_desarrollador` text COLLATE utf8mb4_unicode_ci,
  `reporte_qa` text COLLATE utf8mb4_unicode_ci,
  `qa_aprobado` tinyint(1) DEFAULT NULL,
  `enviado_qa_en` timestamp NULL DEFAULT NULL,
  `aprobado_qa_en` timestamp NULL DEFAULT NULL,
  `enviado_cliente_en` timestamp NULL DEFAULT NULL,
  `cerrado_en` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `tickets`
--

INSERT INTO `tickets` (`id`, `codigo`, `cliente_id`, `desarrollador_id`, `qa_id`, `titulo`, `descripcion`, `prioridad`, `estado`, `interno`, `creado_por_id`, `reporte_desarrollador`, `reporte_qa`, `qa_aprobado`, `enviado_qa_en`, `aprobado_qa_en`, `enviado_cliente_en`, `cerrado_en`, `created_at`, `updated_at`) VALUES
(1, 'TKT-00001', 5, NULL, 6, 'Archivar chats y desarchivado automático', 'Módulo: Gestión de Chats\nTipo: Nueva función\n\nObservación del cliente:\nEl archivado solo se puede hacer con chats abiertos, no se pueden archivar chats cerrados. La idea es que el chat se archive de manera automática al momento de cerrarlo. Efectivamente queda archivado pero se mantiene activo y al mismo tiempo aparece en el listado de chats activos pero como cerrado.Se espera del archivado de chats que se genere de manera automática al momento de cerrar el chat, es decir, el usuario cierra el chat e inmediatamente se archiva y ya no aparece en chats activos.Si el chat está archivado y el asociado habla, el chat se desarchiva automáticamente y esto sí está funcionando. Si el chat se encuentra archivado y se cierra, el chat se desarchiva automáticamente.\n\nValidación solicitada:\nCerrar un chat y confirmar que desaparece de activos; enviar mensaje desde un asociado archivado y confirmar el desarchivado.\n', 'alta', 'cerrado', 0, 6, 'Se ajustó la lógica de archivado: el chat se archiva automáticamente al cerrarlo y deja de aparecer en el listado de chats activos. El desarchivado automático al recibir nuevo mensaje del asociado se mantiene.', NULL, 1, '2026-04-21 15:36:31', '2026-04-21 15:36:47', '2026-04-21 15:36:47', '2026-04-27 09:08:15', '2026-04-21 15:21:51', '2026-04-27 09:08:15'),
(2, 'TKT-00002', 5, NULL, NULL, 'Respuestas rápidas personalizadas por usuario dentro del chat', 'Módulo: Respuestas Rápidas\nTipo: Nueva función\n\nObservación del cliente:\nSe crearon las respuestas rápidas de manera exitosa desde el usuario de Catherin, sin embargo, estas respuestas no permiten ser usadas desde otros usuarios. Desde el usuario Marcela no se pueden usar las respuestas rápidas.\n\nValidación solicitada:\nProbar con dos usuarios según el caso reportado (Catherin y Marcela).\n', 'media', 'cerrado', 0, 6, 'Se corrigió el acceso multi-usuario: las respuestas rápidas creadas ahora están disponibles para todos los usuarios, no solo para quien las creó.', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', '2026-04-13 15:21:51', '2026-04-21 16:36:16', '2026-04-21 15:21:51', '2026-04-21 16:36:16'),
(3, 'TKT-00003', 5, NULL, NULL, 'Chats abiertos con más de 24 horas (ventana Meta)', 'Módulo: Interfaz Chat\nTipo: Corrección\n\nObservación del cliente:\nSe realizó la prueba de la ventana de 24 horas. Se muestra una alerta, sin embargo el tiempo no es muy exacto y puede tardar incluso más de 24 horas; durante el fin de semana se detectaron chats disponibles con más de 24 horas desde la última interacción.También se detectó que el chat con alerta de 24h, cuando se archiva, permite escribir un mensaje, sin embargo el mensaje no llega (por haber superado el tiempo). Se dejan pruebas de algunos casos que escribieron el 11 de abril.\n\nValidación solicitada:\nRevisar la precisión del temporizador (ver Observación Adicional 11, donde se reportaron ventanas con desfase mayor a 24 h).\n', 'media', 'cerrado', 0, 6, 'Se corrigió el cierre del chat al vencer la ventana de 24 horas de Meta, impidiendo el envío de mensajes fuera de plazo.', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', '2026-04-13 15:21:51', '2026-04-27 09:39:13', '2026-04-21 15:21:51', '2026-04-27 09:39:13'),
(4, 'TKT-00004', 5, NULL, NULL, 'Plantillas de mensajes de Meta (Message Templates)', 'Módulo: Plantillas Meta\nTipo: Nueva función\n\nObservación del cliente:\nHabilitar creación y envío de plantillas de mensajes de Meta (Message Templates) para comunicación fuera de la ventana de 24 horas.\n\nValidación solicitada:\nFlujo completo de creación, aprobación y envío de al menos una plantilla.\n', 'media', 'pruebas_cliente', 0, 6, 'Se habilitó la creación y envío de plantillas de mensajes de Meta (Message Templates) para comunicación fuera de la ventana de 24 horas.', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', '2026-04-13 15:21:51', NULL, '2026-04-21 15:21:51', '2026-04-21 15:30:49'),
(5, 'TKT-00005', 5, NULL, NULL, 'Horarios — bloqueo de mensajes después de las 4:00 p.m.', 'Módulo: Horarios\nTipo: Corrección\n\nObservación del cliente:\nSiguen llegando mensajes después de las 4 de la tarde. (Ver Adicionales 5).\n\nValidación solicitada:\nEnviar mensajes de prueba en horarios límite (antes y después de las 4:00 p.m.).\n', 'media', 'cerrado', 0, 6, 'Se ajustaron los horarios del bot/flujo para que no reciba mensajes después de las 4:00 p.m.', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', '2026-04-13 15:21:51', '2026-04-21 16:27:34', '2026-04-21 15:21:51', '2026-04-21 16:27:34'),
(6, 'TKT-00006', 5, NULL, NULL, 'Botón para cerrar sesión', 'Módulo: Sesión / Interfaz\nTipo: Corrección\n\nObservación del cliente:\nNo hay botón para cerrar sesión.\n\nValidación solicitada:\nUbicación visible y cierre efectivo de la sesión (debe aparecer con un zoom menor al 100%).\n', 'media', 'cerrado', 0, 6, 'Se restauró el botón de cierre de sesión en la interfaz.', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', '2026-04-13 15:21:51', '2026-04-21 16:35:21', '2026-04-21 15:21:51', '2026-04-21 16:35:21'),
(7, 'TKT-00007', 5, NULL, NULL, 'Asignación automática de asesor ante errores del flujo', 'Módulo: Asignación\nTipo: Corrección\n\nObservación del cliente:\nAl detectar errores en el flujo y cuando se envía el siguiente mensaje no se asigna ningún asesor y el chat queda sin identificar.\n\nValidación solicitada:\nProvocar un error en el flujo y confirmar que el chat conserva asignación.\n', 'media', 'en_progreso', 0, 6, 'Se corrigió la lógica de asignación ante errores en el flujo: el chat ya no queda sin identificar y se asigna correctamente a un asesor.', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', NULL, NULL, '2026-04-21 15:21:51', '2026-04-21 15:47:00'),
(8, 'TKT-00008', 5, NULL, NULL, 'Desfase horario en historial de chats descargados', 'Módulo: Historial / Exportación\nTipo: Corrección\n\nObservación del cliente:\nLas horas de los mensajes en el historial de chats descargados no coinciden con las horas reales. En el momento de esos mensajes eran las 2:32 — la hora se desfasa por 4 horas.\n\nValidación solicitada:\nDescargar historial y comparar timestamps contra los de chats activos.\n', 'media', 'cerrado', 0, 6, 'Se corrigió el desfase de 4 horas en la exportación del historial. Las horas ahora coinciden con la zona horaria real (Colombia).', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', '2026-04-13 15:21:51', '2026-04-21 16:39:14', '2026-04-21 15:21:51', '2026-04-21 16:39:14'),
(9, 'TKT-00009', 5, NULL, NULL, 'BOT retoma flujo anterior tras reactivación', 'Módulo: BOT / Flujo\nTipo: Corrección\n\nObservación del cliente:\nSe toma un chat del flujo, se cierra y al reactivarse el flujo continúa en el punto que iba. La persona está en el flujo normal, deja de responder, el asesor toma el caso y la atiende personalmente; se finaliza la atención y se cierra el chat por instrucción. Pero cuando la asociada vuelve a hablar se activa el flujo donde iba inicialmente.\n\nValidación solicitada:\nReproducir el escenario de cierre manual → nuevo mensaje del asociado.\n', 'media', 'cerrado', 0, 6, 'Se corrigió el comportamiento del flujo tras reactivación: cuando el asesor cierra un chat atendido manualmente y el asociado vuelve a escribir, el flujo ya no retoma el punto anterior.', NULL, 1, '2026-04-11 15:21:51', '2026-04-13 15:21:51', '2026-04-13 15:21:51', '2026-04-27 13:22:10', '2026-04-21 15:21:51', '2026-04-27 13:22:10'),
(10, 'TKT-00010', 5, NULL, NULL, 'BOT no detecta saludos del asociado', 'Módulo: BOT / Saludos\nTipo: Corrección\n\nObservación del cliente:\nEl asociado saluda pero el chat no detecta el saludo. Se han visto casos de asociados que se comunican y el flujo no los entiende, incluso cuando solamente están saludando. También: \"buenas tardes\" no detecta la conversación en proceso reabierto. Sería ideal que errores comunes al saludar (mayúsculas, tildes, variaciones) se agreguen al reconocimiento.\n\nValidación solicitada:\nProbar con variaciones de saludo (mayúsculas/minúsculas, con/sin tilde, \"buenas tardes\", \"buenos días\", etc.) según casos reportados en Observaciones Adicionales 7, 10 y 12.\n', 'media', 'en_progreso', 0, 6, 'Se ampliaron los patrones de reconocimiento de saludos del bot.', NULL, 1, '2026-04-11 15:21:52', '2026-04-13 15:21:52', NULL, NULL, '2026-04-21 15:21:51', '2026-04-27 13:23:20'),
(11, 'TKT-00011', 5, NULL, NULL, 'Modo supervisión tras asignación de asesor', 'Módulo: Asignación / Modo supervisión\nTipo: Corrección\n\nObservación del cliente:\nAl asignar un asesor al chat, el sistema muestra \"Modo supervisión: Atendido por [nombre del asesor]\" pero no actualiza la interfaz para que el asesor pueda escribir directamente al asociado. El asesor queda asignado correctamente, sin embargo la plataforma permanece en modo supervisión y no permite la interacción directa con el cliente. Caso evidenciado: asociado CUADRADO CAMACHO NESTOR JULIAN (573202977990) — asesora Yessica Gonzalez asignada sin poder responder.\n\nValidación solicitada:\nReproducir el caso del adjunto 9.\n', 'media', 'cerrado', 0, 6, 'Se corrigió la actualización de la interfaz tras asignar un asesor: la plataforma sale de \"Modo supervisión\" y habilita el campo de escritura para respuesta directa.', NULL, 1, '2026-04-11 15:21:52', '2026-04-13 15:21:52', '2026-04-13 15:21:52', '2026-04-21 16:19:14', '2026-04-21 15:21:52', '2026-04-21 16:19:14'),
(12, 'TKT-00012', 5, NULL, NULL, 'Filtros por asignación de chat (Usuario / BOT)', 'Módulo: Filtros de Chat\nTipo: Nueva función\n\nDescripción:\nImplementación de filtros para visualizar chats según su asignación (Usuario humano o BOT).\n\nSolución implementada:\nSe desarrollaron los filtros por asignación de chat, permitiendo distinguir entre chats atendidos por BOT y por usuarios humanos.', 'baja', 'cerrado', 0, 6, NULL, NULL, 1, '2026-04-11 15:21:52', '2026-04-13 15:21:52', '2026-04-13 15:21:52', '2026-04-16 15:21:52', '2026-04-21 15:21:52', '2026-04-21 15:35:02'),
(13, 'TKT-00013', 5, NULL, NULL, 'Soporte para salto de línea (punto y aparte) en el campo de mensaje', 'Módulo: Editor Mensajes\nTipo: Mejora\n\nDescripción:\nHabilitar el uso de salto de línea (punto y aparte) en el editor de mensajes del chat.\n\nSolución implementada:\nSe habilitó el soporte de salto de línea para redactar mensajes con formato multilínea.', 'baja', 'cerrado', 0, 6, NULL, NULL, 1, '2026-04-11 15:21:52', '2026-04-13 15:21:52', '2026-04-13 15:21:52', '2026-04-16 15:21:52', '2026-04-21 15:21:52', '2026-04-21 15:35:02'),
(14, 'TKT-00014', 5, NULL, NULL, 'Descarga de historial de conversaciones (Backup)', 'Módulo: Historial / Exportación\nTipo: Corrección\n\nDescripción:\nLa funcionalidad de descarga del historial de conversaciones (Backup) no estaba operativa.\n\nSolución implementada:\nSe corrigió el módulo de descarga y ahora el backup del historial funciona correctamente.', 'baja', 'cerrado', 0, 6, NULL, NULL, 1, '2026-04-11 15:21:52', '2026-04-13 15:21:52', '2026-04-13 15:21:52', '2026-04-16 15:21:52', '2026-04-21 15:21:52', '2026-04-21 15:35:02'),
(15, 'TKT-00015', 5, 7, NULL, 'Mensaje de recordatorio con temporizador cuando no hay respuesta', 'Módulo: Flujos / BOT\nTipo: Nueva función\n\nDescripción:\nImplementar mensaje de recordatorio automático con temporizador cuando no se obtiene respuesta del asociado.', 'alta', 'en_progreso', 0, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 15:35:02'),
(16, 'TKT-00016', 5, 7, NULL, 'Opción para editar chats (validar con Meta)', 'Módulo: Chats\nTipo: Mejora\n\nDescripción:\nHabilitar la edición de chats tras validación con Meta respecto a las políticas aplicables.', 'media', 'en_progreso', 0, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 15:39:40'),
(17, 'TKT-00017', 5, 7, NULL, 'Sistema de etiquetas para clasificar chats', 'Módulo: Etiquetas\nTipo: Nueva función\n\nDescripción:\nSistema de etiquetas (similar a WhatsApp Business) para clasificar y organizar chats.', 'media', 'en_progreso', 0, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 15:39:02'),
(18, 'TKT-00018', 5, NULL, 6, 'Visualización de stickers enviados por los asociados', 'Módulo: Visor Mensajes\nTipo: Corrección\n\nDescripción:\nActualmente los stickers enviados por asociados no se visualizan correctamente en el chat.', 'media', 'cerrado', 0, 6, NULL, NULL, 1, '2026-04-21 15:38:39', '2026-04-21 15:38:41', '2026-04-21 15:38:41', '2026-04-21 16:35:58', '2026-04-21 15:21:52', '2026-04-21 16:35:58'),
(19, 'TKT-00019', 5, NULL, NULL, 'Capacitación del administrador de la plataforma', 'Módulo: Capacitación\nTipo: Mejora\n\nDescripción:\nEntrega de capacitación al administrador de la plataforma sobre funcionalidades y gestión del sistema.', 'baja', 'abierto', 0, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 15:35:02'),
(20, 'TKT-00020', 5, 7, NULL, 'Reasignación incorrecta al recibir múltiples imágenes', 'Módulo: Flujos / BOT\nTipo: Corrección\n\nDescripción:\nCuando un chat ya asignado recibe múltiples imágenes, se produce una reasignación incorrecta.', 'alta', 'en_progreso', 0, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 15:37:00'),
(21, 'TKT-00021', 5, 7, NULL, 'Visualización de contactos enviados por mensaje', 'Módulo: Visor contactos\nTipo: Corrección\n\nDescripción:\nPermitir la visualización correcta de los contactos cuando son enviados como mensaje por los asociados.', 'baja', 'en_progreso', 0, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 15:39:51'),
(22, 'TKT-00022', 5, 7, NULL, 'Mensaje no configurado en el envío de soporte de pago', 'Módulo: Flujo\nTipo: Corrección\n\nDescripción:\nEl asociado sigue correctamente todas las instrucciones hasta el punto del envío del soporte del pago, sin embargo aparece un mensaje que no está configurado. Se asignó al usuario de contingencia del bot y debió ser asignado manualmente.', 'alta', 'en_progreso', 0, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 15:36:02'),
(23, 'TKT-00023', 5, NULL, 6, 'Mensaje automático con fecha \"AYER\" en día sin atención', 'Módulo: Mensaje automático\nTipo: Mejora\n\nDescripción:\nLa fecha que se ve en pantalla como \"AYER\" corresponde al 12 de abril de 2026 (domingo). Ese día no se tiene atención pero por la automatización del mensaje se promete que un asesor se contactará pronto. Evaluar cómo evitar que esto ocurra en días sin atención.', 'media', 'en_progreso', 0, 6, NULL, NULL, 1, '2026-04-21 15:37:47', '2026-04-21 15:37:50', NULL, NULL, '2026-04-21 15:21:52', '2026-04-21 16:25:00'),
(24, 'INT-00024', NULL, 7, NULL, 'Mensaje de error en login se oculta antes de leerse y rate-limit escala desproporcionadamente', 'Módulo: Login / Seguridad\nTipo: Corrección\n\nEl mensaje \"Credenciales inválidas\" aparece menos de un segundo, lo que impide leerlo correctamente. Posteriormente se muestra una alerta de \"Su sesión ha expirado. Vuelva a iniciar sesión\" sin haberse iniciado sesión previamente. Tras seis intentos fallidos, el sistema indica \"La solicitud ha sido limitada. Se espera que esté disponible en X segundos\"; el tiempo de espera inicial es de 2 segundos pero escala a más de 2000 segundos tras un intento adicional, lo cual es desproporcionado.', 'alta', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(25, 'INT-00025', NULL, 7, NULL, 'No permite enviar el mismo archivo dos veces consecutivas', 'Módulo: Editor Mensajes / Adjuntos\nTipo: Corrección\n\nEl asesor no puede enviar el mismo archivo (imagen, PDF o documento Office) dos veces seguidas en un mismo chat. Para reenviarlo es necesario adjuntar previamente un archivo distinto como intermediario. El segundo envío consecutivo del mismo archivo falla.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(26, 'INT-00026', NULL, 7, NULL, 'El asesor no visualiza sus propios mensajes enviados en la pantalla de chat', 'Módulo: Interfaz Chat\nTipo: Corrección\n\nLos mensajes enviados por el asesor no se muestran en su propia ventana de chat, aunque sí los recibe correctamente el asociado por WhatsApp y aparecen registrados en el archivo de backup descargado. El problema afecta solo la visualización del lado del asesor.', 'alta', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(27, 'INT-00027', NULL, 7, NULL, 'El chat no se cierra automáticamente en la ventana del asesor tras finalizar el flujo', 'Módulo: Interfaz Chat / Sesión\nTipo: Corrección\n\nAl seguir el flujo correctamente y emitirse el mensaje de despedida con la instrucción de cierre, el chat no se cierra automáticamente en la ventana del asesor. Para que se refleje el cierre, el asesor debe recargar manualmente la página.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(28, 'INT-00028', NULL, 7, NULL, 'Inconsistencia de permisos en Plantillas Meta entre administrador y agente tras vencer ventana de 24 h', 'Módulo: Plantillas Meta / Roles\nTipo: Corrección\n\nPara un mismo contacto de WhatsApp con la ventana de 24 horas vencida, el perfil administrador muestra correctamente \"ventana agotada\", pero el perfil agente muestra la caja de escritura habilitada. Si se transfiere o asigna el chat a un agente, este puede escribir mensajes aunque la ventana ya haya expirado, saltándose la restricción de Meta.', 'alta', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(29, 'INT-00029', NULL, 7, NULL, 'Pestaña Plan y Saldo muestra cantidad de usuarios incorrecta', 'Módulo: Plan y Saldo / Consumo\nTipo: Corrección\n\nLa pestaña Plan y Saldo informa 14 usuarios cuando en el tenant solo hay 1 usuario activo. Las demás cuentas reportadas tienen su tiempo expirado y no deberían contabilizarse como consumo vigente.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(30, 'INT-00030', NULL, 7, NULL, 'No se aplica HTTP 429 al superar el límite de agentes del tenant', 'Módulo: Tenants / Límites\nTipo: Corrección\n\nEl sistema permite crear y guardar usuarios sin tope, sin devolver el código HTTP 429 esperado al superar el límite definido para el tenant. La validación del límite no se está aplicando.', 'alta', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(31, 'INT-00031', NULL, 7, NULL, 'No se aplica límite al crear flujos del tenant', 'Módulo: Flujos / Límites\nTipo: Corrección\n\nEl sistema permite crear flujos sin tope para el tenant, sin emitir el error esperado al superar el límite. Mismo patrón que CR-036, pero aplicado al recurso flujos en lugar de agentes.', 'alta', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(32, 'INT-00032', NULL, 7, NULL, 'Función de recarga de saldo de tenant desde admin-tenants no operativa', 'Módulo: Admin-Tenants / Saldo\nTipo: Corrección\n\nLa opción para que el superadmin recargue saldo a un tenant desde la sección admin-tenants no está activa.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(33, 'INT-00033', NULL, 7, NULL, 'Validación de recarga con monto 0 o negativo no operativa', 'Módulo: Admin-Tenants / Saldo\nTipo: Corrección\n\nLa validación que rechaza recargas con monto cero o negativo no está activa, lo que impide blindar el formulario contra valores inválidos.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(34, 'INT-00034', NULL, 7, NULL, 'Botón \"Consumo\" en admin-tenants no operativo', 'Módulo: Admin-Tenants / Consumo\nTipo: Corrección\n\nEl botón Consumo, que debe mostrar los datos del tenant desde el panel admin-tenants, no se encuentra activo.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(35, 'INT-00035', NULL, 7, NULL, 'Búsqueda en Historial de Conversaciones solo filtra por cliente', 'Módulo: Historial / Búsqueda\nTipo: Mejora\n\nLa búsqueda server-side dentro del Historial solo permite filtrar por cliente. No funciona la búsqueda por agente ni por estado de la conversación, lo que limita el análisis sobre el total de conversaciones.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(36, 'INT-00036', NULL, 7, NULL, 'Falta filtro \"esperando_agente\" en lista de chats', 'Módulo: Filtros de Chat\nTipo: Mejora\n\nEn la lista de chats no existe el filtro esperando_agente. Solo están disponibles los filtros humano, bot, usuarios creados, archivados y activos. Únicamente \"solo humano\" y \"solo bot\" funcionan correctamente.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(37, 'INT-00037', NULL, 7, NULL, 'Asignar un caso con ventana 24 h vencida rehabilita la caja de escritura', 'Módulo: BOT / Ventana 24 h\nTipo: Corrección\n\nEl proceso check_24h_conversations marca correctamente las conversaciones vencidas, pero al asignarse un caso ya vencido a un agente, la caja de escritura se habilita nuevamente y permite escribir, en lugar de mantenerse en estado de ventana expirada (caja deshabilitada y obligación de Plantilla Meta).', 'alta', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(38, 'INT-00038', NULL, 7, NULL, 'Validación de Redis como caché de Django', 'Módulo: Infraestructura\nTipo: Tarea técnica\n\nBloqueo: requiere SSH al servidor de desarrollo. No corresponde a requerimiento del cliente; se registra para trazabilidad.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(39, 'INT-00039', NULL, 7, NULL, 'Validación de Celery worker y tasks registradas', 'Módulo: Infraestructura\nTipo: Tarea técnica\n\nBloqueo: requiere SSH y docker exec. No corresponde a requerimiento del cliente; se registra para trazabilidad.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(40, 'INT-00040', NULL, 7, NULL, 'Verificación en BD de la persistencia de recarga superadmin', 'Módulo: Infraestructura / BD\nTipo: Tarea técnica\n\nBloqueo: requiere acceso a base de datos. No corresponde a requerimiento del cliente; se registra para trazabilidad.', 'media', 'en_progreso', 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-26 01:53:52', '2026-04-26 02:55:08'),
(41, 'TKT-00041', 5, NULL, NULL, 'Error al agregar Trigger', 'Se presenta el error adjunto al intentar agregar un trigger nuevo', 'baja', 'abierto', 0, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-27 13:16:47', '2026-04-27 13:16:47'),
(42, 'TKT-00042', 5, NULL, NULL, 'Error en el flujo', 'En este caso específico se puede ver como la asociada SALAZAR CALLEJAS BEATRIZ ELENA, sigue el flujo con normalidad, sin embargo el chat fue asignado a Yessica si se verifica el flujo este debió ser asignado a Luisa', 'media', 'abierto', 0, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-28 16:32:54', '2026-04-28 16:32:54'),
(43, 'TKT-00043', 5, NULL, NULL, 'Error al saludar', 'se presenta caso en el que el asociado saluda inicialmente en la conversación pero no es tomado el saludo y lo dirige a un asesor de rescate. No se activa el flujo', 'media', 'abierto', 0, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-28 16:39:09', '2026-04-28 16:39:09'),
(44, 'TKT-00044', 5, NULL, NULL, 'Retoma de flujo', 'se detecta nuevamente chat en donde se cierra la conversación, pero al hacer contacto nuevamente se activa el flujo donde había quedado y no abre un flujo nuevo', 'media', 'abierto', 0, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-28 16:41:04', '2026-04-28 16:41:04'),
(45, 'TKT-00045', 5, NULL, NULL, 'Conversación de 24 no abre si hablan', 'La conversación se cerró por superar las 24 horas sin respuesta por parte de la asociada, el día de hoy vuelve a escribir pero la conversación no se abre nuevamente.', 'media', 'abierto', 0, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-29 16:14:47', '2026-04-29 16:14:47'),
(46, 'TKT-00046', 5, NULL, NULL, 'Cierre de 24hr el mismo día', 'Con este caso específico se pudo ver que la ventana se cerró, sin embargo el asociado escribió ese mismo días', 'urgente', 'abierto', 0, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-22 16:30:41', '2026-05-22 16:30:41');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `users`
--

CREATE TABLE `users` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `role` enum('cliente','desarrollador','qa','admin') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'cliente',
  `empresa` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `telefono` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `password`, `role`, `empresa`, `telefono`, `remember_token`, `created_at`, `updated_at`) VALUES
(5, 'Cliente CEOCAL', 'cliente@ceocal.com', '$2y$12$1NWDA8MMnxU/lwNznDkbNOypDo5s7hXCDg9LKm3lt9VKjTNTWxmOK', 'cliente', 'CEOCAL', NULL, 'WuHxWQTZaqWui3Ifbss9jj2WkyDm6J9fMT44LhYM4HkDmGOtDLyy4YN9ikpz', '2026-04-21 12:36:33', '2026-04-21 12:36:33'),
(6, 'Ana Vega', 'admin@fycls.com', '$2y$12$DzNlWGoVNY0vavJwCxmnh.4288VpUXKeiWUTR2wcuaKnNSVVv5ZJC', 'admin', 'Fycls', NULL, NULL, '2026-04-21 12:38:48', '2026-04-21 12:38:48'),
(7, 'Desarrollador', 'desarrollador@fycls.com', '$2y$12$GPXWXswZFk6FDq6IV.gCQedtplkxOHsu.Yo5qQWMpRESUvjgS6ri.', 'desarrollador', 'Fycls', NULL, NULL, '2026-04-21 15:27:31', '2026-04-21 15:27:31'),
(8, 'Pruebas', 'pruebas@fycls.com', '$2y$12$4.JFBAHy43jDR5a2hK1IYuZpm6DzEbh0W7ZU51gzpdYvE1ZKOt6ea', 'qa', NULL, NULL, NULL, '2026-04-26 01:45:53', '2026-04-26 01:45:53');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `attachments`
--
ALTER TABLE `attachments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `attachments_user_id_foreign` (`user_id`),
  ADD KEY `attachments_ticket_id_index` (`ticket_id`),
  ADD KEY `attachments_comment_id_index` (`comment_id`);

--
-- Indices de la tabla `cache`
--
ALTER TABLE `cache`
  ADD PRIMARY KEY (`key`);

--
-- Indices de la tabla `cache_locks`
--
ALTER TABLE `cache_locks`
  ADD PRIMARY KEY (`key`);

--
-- Indices de la tabla `comments`
--
ALTER TABLE `comments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `comments_user_id_foreign` (`user_id`),
  ADD KEY `comments_ticket_id_index` (`ticket_id`);

--
-- Indices de la tabla `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Indices de la tabla `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Indices de la tabla `tickets`
--
ALTER TABLE `tickets`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `tickets_codigo_unique` (`codigo`),
  ADD KEY `tickets_cliente_id_foreign` (`cliente_id`),
  ADD KEY `tickets_desarrollador_id_foreign` (`desarrollador_id`),
  ADD KEY `tickets_qa_id_foreign` (`qa_id`),
  ADD KEY `tickets_estado_desarrollador_id_index` (`estado`,`desarrollador_id`),
  ADD KEY `tickets_estado_qa_id_index` (`estado`,`qa_id`),
  ADD KEY `tickets_creado_por_id_foreign` (`creado_por_id`);

--
-- Indices de la tabla `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `users_email_unique` (`email`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `attachments`
--
ALTER TABLE `attachments`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=29;

--
-- AUTO_INCREMENT de la tabla `comments`
--
ALTER TABLE `comments`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=42;

--
-- AUTO_INCREMENT de la tabla `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de la tabla `tickets`
--
ALTER TABLE `tickets`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=47;

--
-- AUTO_INCREMENT de la tabla `users`
--
ALTER TABLE `users`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `attachments`
--
ALTER TABLE `attachments`
  ADD CONSTRAINT `attachments_comment_id_foreign` FOREIGN KEY (`comment_id`) REFERENCES `comments` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `attachments_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `attachments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `comments`
--
ALTER TABLE `comments`
  ADD CONSTRAINT `comments_ticket_id_foreign` FOREIGN KEY (`ticket_id`) REFERENCES `tickets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `comments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tickets`
--
ALTER TABLE `tickets`
  ADD CONSTRAINT `tickets_cliente_id_foreign` FOREIGN KEY (`cliente_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tickets_creado_por_id_foreign` FOREIGN KEY (`creado_por_id`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `tickets_desarrollador_id_foreign` FOREIGN KEY (`desarrollador_id`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `tickets_qa_id_foreign` FOREIGN KEY (`qa_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;
--
-- Base de datos: `evolucionamos_andros`
--
CREATE DATABASE IF NOT EXISTS `evolucionamos_andros` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `evolucionamos_andros`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache`
--

CREATE TABLE `cache` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` bigint NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache_locks`
--

CREATE TABLE `cache_locks` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `owner` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` bigint NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `configuraciones`
--

CREATE TABLE `configuraciones` (
  `id` bigint UNSIGNED NOT NULL,
  `clave` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  `valor` text COLLATE utf8mb4_unicode_ci,
  `tipo` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'text',
  `grupo` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'general',
  `etiqueta` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `descripcion` text COLLATE utf8mb4_unicode_ci,
  `orden` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `configuraciones`
--

INSERT INTO `configuraciones` (`id`, `clave`, `valor`, `tipo`, `grupo`, `etiqueta`, `descripcion`, `orden`, `created_at`, `updated_at`) VALUES
(1, 'login.titulo', 'Sorteos FEL', 'text', 'login', 'Título principal', NULL, 1, '2026-04-13 17:01:35', '2026-04-13 17:01:35'),
(2, 'login.subtitulo', 'Plataforma de gestión de sorteos del Fondo de Empleados Lafayette.', 'text', 'login', 'Subtítulo', NULL, 2, '2026-04-13 17:01:35', '2026-04-13 17:01:35'),
(4, 'login.welcome_titulo', 'Bienvenido', 'text', 'login', 'Título formulario', NULL, 4, '2026-04-13 17:01:35', '2026-04-13 17:01:35'),
(5, 'login.welcome_sub', 'Ingrese sus credenciales para acceder a la plataforma.', 'text', 'login', 'Subtítulo formulario', NULL, 5, '2026-04-13 17:01:35', '2026-04-13 17:01:35'),
(6, 'login.fondo_desktop', 'img/config/600755d0-751c-4fb3-98a0-562c73fab8a5.jpg', 'image', 'login', 'Fondo del login (1300×914 px)', NULL, 6, '2026-04-13 17:01:35', '2026-04-13 21:28:58'),
(8, 'login.logo_cliente', 'img/config/3f51116b-dd5f-4472-ad24-a4e2ff7af191.png', 'image', 'marca', 'Logo cliente (fondo blanco)', NULL, 1, '2026-04-13 17:01:35', '2026-04-13 17:53:56'),
(9, 'marca.empresa', 'Fondo de Empleados Lafayette', 'text', 'marca', 'Nombre empresa', NULL, 2, '2026-04-13 17:01:35', '2026-04-13 17:01:35'),
(10, 'sistema.email_soporte', 'soporte@evolucionamos.com', 'text', 'sistema', 'Email soporte', NULL, 1, '2026-04-13 17:01:35', '2026-04-13 17:01:35'),
(11, 'login.powered_by', 'Powered by <strong>Singularidad IA</strong>', 'text', 'login', 'Powered by (debajo del form)', NULL, 8, '2026-04-13 17:46:26', '2026-04-13 17:46:26'),
(12, 'marca.color_primario', '#1D3D8E', 'color', 'marca', 'Color primario (sidebar, botones, headings)', NULL, 10, '2026-04-13 19:04:16', '2026-04-13 19:04:16'),
(13, 'marca.color_secundario', '#8BBF2B', 'color', 'marca', 'Color secundario (acentos, éxito, activo)', NULL, 11, '2026-04-13 19:04:16', '2026-04-13 19:04:16');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `eventos`
--

CREATE TABLE `eventos` (
  `id` bigint UNSIGNED NOT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `tipo` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'general',
  `fecha` date NOT NULL,
  `descripcion` text COLLATE utf8mb4_unicode_ci,
  `segundos_cuenta_regresiva` int NOT NULL DEFAULT '10',
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `estado` enum('borrador','activo','cerrado') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'borrador',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `ganadores`
--

CREATE TABLE `ganadores` (
  `id` bigint UNSIGNED NOT NULL,
  `sorteo_id` bigint UNSIGNED NOT NULL,
  `participante_id` bigint UNSIGNED NOT NULL,
  `lugar` int NOT NULL DEFAULT '1',
  `estado` enum('ganador','anulado','al_agua') COLLATE utf8mb4_unicode_ci DEFAULT 'ganador',
  `motivo_anulacion` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `anulado_por` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `queue` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `attempts` tinyint UNSIGNED NOT NULL,
  `reserved_at` int UNSIGNED DEFAULT NULL,
  `available_at` int UNSIGNED NOT NULL,
  `created_at` int UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `total_jobs` int NOT NULL,
  `pending_jobs` int NOT NULL,
  `failed_jobs` int NOT NULL,
  `failed_job_ids` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `options` mediumtext COLLATE utf8mb4_unicode_ci,
  `cancelled_at` int DEFAULT NULL,
  `created_at` int NOT NULL,
  `finished_at` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `migrations`
--

CREATE TABLE `migrations` (
  `id` int UNSIGNED NOT NULL,
  `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '0001_01_01_000000_create_users_table', 1),
(2, '0001_01_01_000001_create_cache_table', 1),
(3, '0001_01_01_000002_create_jobs_table', 1),
(4, '2026_04_08_205443_create_usuarios_table', 2),
(5, '2026_04_08_205519_create_eventos_table', 2),
(6, '2026_04_08_205533_create_participantes_table', 2),
(7, '2026_04_08_205551_create_premios_table', 2),
(8, '2026_04_08_205639_create_sorteos_table', 2),
(9, '2026_04_08_205657_create_ganadores_table', 2),
(10, '2026_04_08_205953_create_reacciones_table', 2),
(11, '2026_04_09_035305_add_email_to_participantes_table', 3),
(12, '2026_04_09_202842_add_agua_fields_to_premios_table', 4),
(13, '2026_04_09_203944_update_estado_ganadores_table', 5),
(14, '2026_04_10_024532_add_en_curso_to_sorteos_table', 6),
(15, '20260413_010346_add_usuario_to_usuarios_table', 7),
(16, '20260413_010617_add_audit_fields_to_sorteos', 8),
(17, '20260413_010704_add_baneado_zona_to_participantes', 9),
(18, '2026_04_13_030547_add_performance_indexes_to_participantes_table', 10),
(19, '20260413_220134_create_configuraciones_table', 11),
(20, '2026_04_13_184619_drop_users_table_laravel_base', 11),
(21, '2026_04_13_220134_add_operador_role_to_usuarios', 11),
(22, '2026_04_13_220135_create_password_reset_tokens', 11),
(23, '20260414_022855_add_estado_to_eventos', 12),
(24, '20260414_033552_rename_zona_to_segmento_participantes', 13),
(25, '20260414_033552_fix_tipo_sorteo_premios', 14);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `participantes`
--

CREATE TABLE `participantes` (
  `id` bigint UNSIGNED NOT NULL,
  `evento_id` bigint UNSIGNED NOT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `documento` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `segmento` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `boleta` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `baneado` tinyint(1) NOT NULL DEFAULT '0',
  `baneado_zona` tinyint(1) NOT NULL DEFAULT '0',
  `motivo_baneo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `premios`
--

CREATE TABLE `premios` (
  `id` bigint UNSIGNED NOT NULL,
  `evento_id` bigint UNSIGNED NOT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `emoji` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 0xF09F8E81,
  `imagen_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cantidad_ganadores` int NOT NULL DEFAULT '1',
  `cantidad_al_agua` int NOT NULL DEFAULT '3',
  `cantidad_ganadores_finales` int NOT NULL DEFAULT '1',
  `segmento` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tipo_sorteo` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'normal',
  `orden` int NOT NULL DEFAULT '0',
  `estado` enum('pendiente','ejecutado','cancelado') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pendiente',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `reacciones`
--

CREATE TABLE `reacciones` (
  `id` bigint UNSIGNED NOT NULL,
  `sorteo_id` bigint UNSIGNED NOT NULL,
  `emoji` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `ip` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `sessions`
--

CREATE TABLE `sessions` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` text COLLATE utf8mb4_unicode_ci,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `last_activity` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `sessions`
--

INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES
('0NpMjx4i35znslfZdZgD6RfoZAcwXdEA0YuFzmcD', NULL, '45.148.10.217', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15', 'eyJfdG9rZW4iOiJWQ3pPZFJMdHJrYlNFRE9iTGpuNnV1VVl5QmloWXRKdnV6bjZsV1lRIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782435794),
('2uw5USqh2ZuAeoii7Pvo2wJZ0h48v79zgQ4A2rc3', NULL, '159.203.44.207', 'Mozilla/5.0 (X11; Linux x86_64; rv:142.0) Gecko/20100101 Firefox/142.0', 'eyJfdG9rZW4iOiJHeXR5VEJ1ZmkyTklMWjBJSzFhZnVDZnZqc1J0TmR5WkVHM3N6aUxOIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782700051),
('3XzWW5ELkb3G4g621m7CzRhuaA07gfJ0UlmK1kSP', NULL, '3.18.186.238', 'visionheight.com/scan Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJyNEs5eGdCMGY0djg4WTA2ZXhQS3ZpajRuR0NIMEhWRXdOUldvT0ZJIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782665795),
('43e3MdCAIlMKbd5fBQ92eprbTGmNPiVRF7bJ1STL', NULL, '104.252.191.8', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJWSkpyVFh5ODB1UjJObGtnZEtVRDNjRUlCbWtsNEllYURpdXV4WHc2IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782359378),
('4LfO21kHpJzkMtNUDU2EhnWt4w9P6Ef8RJnPhoiK', NULL, '18.231.140.32', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJTUks5R0Z0S3pKNnlVUHhmazRTVmdsbjdBRElwQkhRV3FBSzhob0xHIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782566327),
('5SET8N6eoqzfMbPp7FiWdKBCtdFpttTNNOEcybRT', NULL, '35.186.151.98', 'Mozilla/5.0 (Linux; Android 12) Chrome/111.0 Mobile Safari/537.36', 'eyJfdG9rZW4iOiJnYzFNYzQ0TUgzNHp4bXpVd2NiVGgwVFplMUVLV3F0WDh1YkdaZUFEIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782363737),
('5uYrp6ExOg0LfzeXPe543AIr3mkQ7kiI8j9kj7r4', NULL, '45.156.87.177', 'Mozilla/5.0 (compatible; CT-WP-Scanner/1.0; +https://example.com/bot)', 'eyJfdG9rZW4iOiJ4NGRoYnVpc2RtTTEyM1RDd291SjJhTWRraW82TzFOMHBmYlI1RmZSIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782436927),
('6IHEpRyPBXaGelXNJhl849Tdzf3zDPeuoIkHGh5D', NULL, '198.235.24.43', 'Hello from Palo Alto Networks, find out more about our scans in https://docs-cortex.paloaltonetworks.com/r/1/Cortex-Xpanse/Scanning-activity', 'eyJfdG9rZW4iOiJTNnFQNFNXWUxPTXZ3akVRNUEwbm82ZTNINTRFeHBJYzNBZWNpNEZjIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782566826),
('6VBHqWJoi5b1bhF1IoCYZcAKhZBrmfbr7WFjWslu', NULL, '3.18.186.238', 'visionheight.com/scan Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJGZGJJcUFoQVozV1RtSTFjY1h1clNuWVVVZDY0Y1Z5WDZNSFUzMVFZIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782665796),
('6vg4wmAvSMlbGCndVqvYqFl2NiPwisJcxFZhpH2u', NULL, '103.196.9.7', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJiZWsyeVppa1l0aGd4eFB3UVlmRzRoYW01b0dEczN0OUh2UHVUYlhCIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782357954),
('7jUjsOKiDCnyJQpzbUjSbFX3jXbPkHtzBcpPExXd', NULL, '91.231.89.39', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0', 'eyJfdG9rZW4iOiJGak82OWE5allSMjJMa0h1Smhoa2FPQzRHeGdJNFlRaUtKdmFVbGVhIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782359993),
('Ab76j8wzGU7JtJvmC7LQndmrfPZFQazi9o4JUbRK', NULL, '205.169.39.44', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.5938.132 Safari/537.36', 'eyJfdG9rZW4iOiJ4UXdKM0Q4cGxPVmpycmF0QU5XTUNoN2dvZldlbVlyRXlvUkZTQ3hnIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782393863),
('AOAIvRxcGwXkMppXQ763NSp1seo0ADZpg1sNR34B', NULL, '74.7.241.37', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)', 'eyJfdG9rZW4iOiJyQTNCNjhDdUFPQ1hjQ1MyTkloR3BRRWxDVlJvMXozNDVqdkI1SVd5IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782411616),
('BJCZe6RZJpXbAX7HLAkRCL5MBBZ6TGmEf3ANoAOd', NULL, '104.164.173.82', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiI5YmRJRVRDVFNnZjBKczhickF5NGlhb0JVZ2ttQkl1Y2VWYkhTcUZ2IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782357954),
('BWoEuoYCYY6yIizdnwN4NqENE03LHS4CvOaA0T3v', NULL, '45.148.10.217', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJPZm93dU9VTnM2amtmZWtYQ3FhWFdYQ1R5d2g5QlZPVlNIOU9XaVNuIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782534387),
('c76e77yQKBPJKM3swC2nfV8HaYd2x9ynsQYtvmPq', NULL, '92.119.19.252', 'Go-http-client/1.1', 'eyJfdG9rZW4iOiJnZXY0Qjh2emJzdUFiMlFZckd5elVGbXNPMXg5NFo0UTd3UU9YcWxxIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782564449),
('caRdUjd6ajn9KjFYMudFtAAq48rX2AXw4bUOhrlv', NULL, '34.7.23.194', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', 'eyJfdG9rZW4iOiJHcXYzUWxlVmJ5UUxLaDlDdVM5VW00WVc5TUdvc0EzT3M3Y29JM0J4IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782487073),
('DNuj90tachpJH70cSC9kLDDSOddI1fVYLTA9Kxge', NULL, '148.113.206.127', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'eyJfdG9rZW4iOiJRSmVLMm00aHVLaUI0clpDOGlVbUY2WXJDU3N1ZVoyNllacGtIaUdTIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782658097),
('Dym7Hf4ag3ymxSpvAlehjYUMyWiHiT1ypPdhdWVu', NULL, '45.148.10.217', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiI3TjJMNkVsT2FQWkdDalJRTzBIM1gyeTh1blZDaVpWN0VHSmZEdGdFIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782534387),
('EB8mwvLIvjwCRjdH3fyTMru6AHKXukOPgoCRkHQ3', NULL, '104.252.191.8', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiI5OUxCVEg4c3pYdnZTclNJTUdUWEpZYWR0UmUxWDNndTdOMFlYZ3ZzIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782359387),
('fHC58e77gVJqJk87UFBHzGLRIrc3ZZpck0Qa0oDg', NULL, '176.65.139.233', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJNbU1NQU56dXlUTTdDQzBkMmt2OEZGd1VMYTh3QVh3U0JwMTBjdW93IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782419040),
('fNueZE8oJksD5kpfYiwvDXNoHwM6U84GtinDZVK3', NULL, '106.63.26.132', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0', 'eyJfdG9rZW4iOiJGNmVVeUk3UE5xMFRoNDYyRXdUeFhjOVg4aVViV244SmVtemFlaUlnIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782619551),
('FspcZzqxEb1njYxfLX5Mae7MiLfkEvWppKq34b8B', NULL, '66.132.172.131', 'Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)', 'eyJfdG9rZW4iOiJGWjdaYnp0aEFGZGs4SVZCV3NnWFE2eFlwWlpPd2EyZlI4eWlmOGUzIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782470473),
('GDqPBkpoee1NIBOu5ob1qEJ6dnrADirz65DDEOU7', NULL, '148.113.206.127', 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', 'eyJfdG9rZW4iOiJYWUdiQ3ZieWdjbHZ1aHA0VTZGYk5SZFVqTWJCbVhyeGpqWmRzeXZtIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782658286),
('GlPBNH2bpcSQtA8QCm2E1I4j2DfDTXkJypcFWAG8', NULL, '198.235.24.43', 'Hello from Palo Alto Networks, find out more about our scans in https://docs-cortex.paloaltonetworks.com/r/1/Cortex-Xpanse/Scanning-activity', 'eyJfdG9rZW4iOiI4b2NoUE9ucFZOVnM4UVdRUFFrRlZRbmxBeTVVd3FuWWtVeEo5RFhiIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782566826),
('heYWUs1tC9xvmCYpMPprrEofuUZPmSI1wpzEwpIR', NULL, '3.151.194.164', 'visionheight.com/scan Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJsUWtJTmZ6NXV4WnhsU1Bwd1BQMFJXdkhtbElEQ09VYmRNbjNRa1F0IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782521521),
('HpAmqmQNJf8T9ytcLtrffkZgDrMU1T4gp4gak25i', NULL, '45.156.87.177', 'Mozilla/5.0 (compatible; CT-WP-Scanner/1.0; +https://example.com/bot)', 'eyJfdG9rZW4iOiJHNnJNeGNlazBmU3huVGg2Q0RRQlp5d3hpS3hmT1hNMXljYUpXazJ5IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782436928),
('I3ADOWA5SVYoR2ocV9CYN8eBzPQsUBd5YG6BFIEl', NULL, '43.133.66.51', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'eyJfdG9rZW4iOiJFaFJxTkZmWXlDVXZaRVpOQ3pwRkk3aHAzV3FySzlMd1lvY2h0bEpCIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL3d3dy5ldm9sdWNpb25hbW9zLmNvbVwvYW5kcm9zXC9zb3J0ZW9zXC9wdWJsaWMifSwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC93d3cuZXZvbHVjaW9uYW1vcy5jb21cL2FuZHJvc1wvc29ydGVvc1wvcHVibGljIiwicm91dGUiOiJpbmljaW8ifSwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1782544433),
('I92gCCADti6Ez5GDnvT4JIVYO5XWI8QtKbjy0b4u', NULL, '205.210.31.183', 'Hello from Palo Alto Networks, find out more about our scans in https://docs-cortex.paloaltonetworks.com/r/1/Cortex-Xpanse/Scanning-activity', 'eyJfdG9rZW4iOiJpV0pBRk00QXJWbjBjSjh3RGtJYnNhY091Z09hSWtCQ0plUng0WU5RIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782567466),
('ipjbefE6V8JEEn2wu0eEiLLkwbx3FRn4zY2E6Ddj', NULL, '103.4.251.120', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiIxNzc1UDJMZ3ZrYkZESG1NVERRaDFZWlJxTjFUdDlEZG9sM0xnYXpOIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782362259),
('IPZao9RpETDOaMUAse765AvOvlLl09OcwkLBYNTP', NULL, '176.65.148.30', 'Mozilla/5.0 (compatible; CT-WP-Scanner/1.0; +https://example.com/bot)', 'eyJfdG9rZW4iOiJEa1pFcE84UTZCZ01xcGRLOFRzcVNiQ1Jha2xXU2xCVEhlaTRjQmZMIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782357880),
('iRJfoYlVDrIskfcxuGs1oI1d5S4PFIowGC4nn6hK', NULL, '103.4.251.120', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJnd056RXlDRWxhRER5S2UxZnV0S2FXZTF6cUVUSnpzUEYzakV1RnFzIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782362267),
('J5sqXdAQr9oAKSkEyd6MRS0TU6SHuyMuyo1LNc0r', NULL, '35.252.94.148', 'Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)', 'eyJfdG9rZW4iOiJFRXhVd3djTGtXcGZ1cWE5QWVmVTFYQmFKdURuOXFhdXIzUngxOW52IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782648057),
('jbAv4JZ7GDFVnlCpGwm9Qjt6kht6aGPR79NQBODo', NULL, '104.197.77.108', 'Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)', 'eyJfdG9rZW4iOiJqSlhiUGUxbW5KcjdFTVhGVzJlRXhmSGNZZ2dQODA5OWxza29rVm41IiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782645767),
('JjWTBJwXaiH0ceaDVJZ06gCvwHE1Hojt6uS0UhI1', NULL, '80.225.206.1', 'python-requests/2.31.0', 'eyJfdG9rZW4iOiI2bnFQekVtVTJXd3VzWWlMNW5BNzllaURETnA0UDl6d0g5YUlrRmgzIiwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1782624958),
('JZLsicUIZy3IcEZ1cc2d6P67sfdJhaupaITpz7nx', NULL, '104.164.173.82', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiI2YVBYa0lOdkttUmgzRElLYm45R0g1OXF0dTViMzFqdlVVMGhoNDlFIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782357963),
('KplqxTa5pFuAn4hLqaBbJG15yRikY5sCyEP4bihU', NULL, '143.244.47.86', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3', 'eyJfdG9rZW4iOiJzOVI5aEV1ZW5XWWt1VFVhRkpqaGZ2ZnFpWU9iUjhoMHM1SUFRd0ZhIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782358218),
('KrQ38sF7uPWbUfZTxtPPjMRyHM3K86whQ28u142C', NULL, '92.119.19.252', 'Go-http-client/1.1', 'eyJfdG9rZW4iOiJmUDVqUXBzT2lMdVlBeUtxSmxyaEdOaWFNQm1CeTBGOVJaclhpeGRIIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782564448),
('kYheanteOgvxjTw8sQVyRieyZoH7qdAeQgmhOMXA', NULL, '91.196.152.68', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0', 'eyJfdG9rZW4iOiJKODZ1N0lWaVRDbTlIT1RuWWhLNEdHVExWQmw1VWpiRnh3VzJrTTNvIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782360024),
('LBK60ATgNcrrhTTcmm5cwBEAaSdkfFx643sQUZac', NULL, '66.132.172.131', 'Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)', 'eyJfdG9rZW4iOiI3RE4zY1pzZDlLSElCT3AwSjFYNm9hR3dVNkc4YjlSRjVuckVqZkUzIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782470474),
('LhuzFnGwL56r8cDUPwwNxDZMim51K8GFdBnxe6TY', NULL, '145.241.230.205', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJkRmNoSHp5NFE5S283RVpZSEdGd1NxSUQ5TDdpR2NUQmhTWTBJUlNpIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782374237),
('lW0PGHI0y0qVxG8JVxzhyvsqP2ebZhRiPjMuhkGE', NULL, '104.252.191.220', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJ2VG9LWGJvbmVha0VSRjdjc3pUOXRQZTJSbkI0WkphQldJbm1WNlpYIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782360634),
('lZtsa5TkpQQjIxWH3gbba6jNUdk0MaEvnTLDrE7f', NULL, '35.238.112.51', 'Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)', 'eyJfdG9rZW4iOiJzclhLSGdBams4cTBKSlVvblBiNVV3ZDhld2N4alBMdkNUdEcwdWVhIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782479965),
('MxWWmuJHpw1OIglx1wVDTCgurnkuklatSSKqFpjQ', NULL, '80.225.206.1', 'python-requests/2.31.0', 'eyJfdG9rZW4iOiJ4NFZCWHNQelJBQWxKMHVJYUg0MXFEVWJiaDNWbGVUTk9vNmFRTG9YIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782624954),
('n3jsA66Ltrmglc9rCBqrLvrYQ0sEelrTvFzMcZPR', NULL, '176.65.148.30', 'Mozilla/5.0 (compatible; CT-WP-Scanner/1.0; +https://example.com/bot)', 'eyJfdG9rZW4iOiJGbDE1Tm54eEZsTktLT3loQ24wS2plb1dSRW80TGR0NzNHMTQ5OTJ0IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782357880),
('nDmgUkF8krXXtJrKPFLzEJ4cIslqltFHbd33FVC6', NULL, '3.151.194.164', 'visionheight.com/scan Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Chrome/126.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiIzbUdQbHcydmx4UFE0M1I5MlpOVDRHa2h4YXVSRzdGcUxoamozV2pnIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782521521),
('nMiHFK3K9ltQcDMgkJb7oUnM8w6SqI7Dn9pMFvR4', NULL, '35.252.94.148', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', 'eyJfdG9rZW4iOiJ3UlppcVVxdVFOZTAzZmpmTXFQaGJIVzNSOVJZUzAwQ3ZBdEYxN1U1IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782649357),
('NsV9hBarl3qSCUNMxvDFDLQmsKKzT5iFXnwajvWQ', NULL, '35.252.94.148', 'Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)', 'eyJfdG9rZW4iOiJwUXpmN2hqRWlPTUdvNzI4TTdKb05RdHR4akJkOTF4YUtmbGx2WnEzIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782648057),
('O6jLlrmqRIuNv6E5rh8b6d50hScRt1GlSjoZV0CD', NULL, '176.65.139.229', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJkcDRralU3Y1FzOTVVc243TEQxRXZnRXUySkNWT2pBNVBKV2V6RXFxIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782419039),
('pbVcG0pj30gvF8tobKrPo33KXtLHvQ7TJBUJmG8w', NULL, '80.225.206.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0', 'eyJfdG9rZW4iOiJGUDdrcDNyUUQycUZUTk5XclFWRVo4eUR5dXdwRXVNY1FQR0drWFRZIiwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1782624962),
('qao6aqqYR4MV7QEEJQl8IQD9SIeWyMzEZUTWH8Ts', NULL, '103.196.9.25', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJLemd4enhrVGcxTDZrd25UN3U2UDZ1akQzcEU0VDU4bVRwZnVMNTRNIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782362256),
('ReSXlXGLdiZsi97rvTNAaxqFvuY4dXBJQ9foWDP2', NULL, '195.164.49.144', 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'eyJfdG9rZW4iOiJTWktRV3F4NDc3TTBRbUp0dkxON0RqZmJlZEViQnFpZ1NndzZ5Vm5tIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782368797),
('RtdLAU6U93uxxZb9F27ikxjl8MoUURiADPw2botC', NULL, '35.186.151.98', 'Mozilla/5.0 (Linux; Android 12) Chrome/111.0 Mobile Safari/537.36', 'eyJfdG9rZW4iOiJPSW5tb0NQWW5ENVhnbUgydHlVbU9udzBzQXA5QkJIMWJ6OTVJWXVBIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782363736),
('S1uMJx3TioAgaxvOBm0y5ciTNw1f72jBbt2QCPA1', NULL, '205.169.39.200', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36', 'eyJfdG9rZW4iOiJlZUFZclBZZmc5UHdlQm5kb1diaU5HWHB2WlN5NWxjNjlhbjJDS0xpIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782391257),
('SAj1gTMPjeVRJnlB26zgB0cKbTJJvO9xfApn40PO', NULL, '104.197.77.108', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', 'eyJfdG9rZW4iOiI4NlhQRXFNMzlTVUZOVGo4VHlURVJRbGU5a25CYTFlNDRydFJDd1lNIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782649009),
('SeyRQEMROU234BTy5wBjGkxCzcGdFzMWecnn4xGq', NULL, '159.203.4.123', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJuelVsOUpHZmtZVmxSREtxTVFISEVPdjMzanZmTnJnRDJiaUh3dWx6IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782521291),
('sW8aJC3XtLi8T0FV0RWucU8sb5JI76gRYKXPOhgj', NULL, '205.169.39.200', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36', 'eyJfdG9rZW4iOiJsNkVFTWtxVkpuZThPTXptcHJVZHVkWG5uc1F3aUFEeEVSVnZTQWh4IiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782391260),
('TNUD9ty01XmSJZ5mCupvFe9HBHjCAkSvWwN2fbWI', NULL, '43.133.66.51', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'eyJfdG9rZW4iOiJ5R1VrWGVwMHRhbXEybjduZXRCZWlyVlNEdE8yd2tNYTF2WkVLZWFoIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC93d3cuZXZvbHVjaW9uYW1vcy5jb21cL2FuZHJvc1wvc29ydGVvc1wvcHVibGljXC9sb2dpbiIsInJvdXRlIjoibG9naW4ifSwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1782544445),
('ttnkXoXzdfNAC8EncJFDlujutst1F0j9UomUK2u6', NULL, '104.197.77.108', 'Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)', 'eyJfdG9rZW4iOiI2UFg4Rm1CMkIxb2k1OEl6Vmg2Nm1WZnlVbzJxYWxXdFlIN2lVSkJjIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782645767),
('UshuokFScSnB9iPC9Ifpq8aJPTMtzNhWOtWmDihT', NULL, '45.148.10.217', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15', 'eyJfdG9rZW4iOiJEckFFa1lEdzgyOTZZNXdNWENHdEJyMm5raDJObUlNY0h1d2JNbkRwIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782435794),
('utSui77VwEeWiuuBTZKMXFT2iXCBlckPfja378Cy', NULL, '34.72.176.129', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiI1dUtrV1NpSDVWa3dzVlR2N3Y1b1JnNGdBcUFhMFZ6b0hmaUdCRExQIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782357935),
('uvvjqZo2ek6l5Ou9G0RfD5mNboomX8cOnpK9xffU', NULL, '35.238.112.51', 'Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)', 'eyJfdG9rZW4iOiJZNEp6MHZpVWZxSXVTbUV0THRjMVNXNk9id0FtemZ6dmpVejV3UVJYIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782479965),
('uW4oIw6DiCqc6JGVbmjGfqYXya7rjwcgnh7pr9wf', NULL, '64.23.253.89', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJpZnBRaWtwZUtnMzNHRDNKNGl3RTR4SU1oVmVZamQ4TllKajhoMGFnIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782639525),
('vff4UZltnSh4DiVZn2B1vrFtaYQopbjUKcovWn5R', NULL, '148.113.206.127', 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)', 'eyJfdG9rZW4iOiJYTFhQaEROVVFuY3Q2cW1LZUNsS0djYUxXTVdnOWhZVU1BNW1ORVpyIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782658286),
('VqUGftxP21pFZ6uqE5S7nOtsPcJhSS8rgv4zSb8l', NULL, '91.231.89.99', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0', 'eyJfdG9rZW4iOiJsOHpaYTc2akNrUFJyNUNCOEE3T1NzS295QUphR3owNExuck0zcmpsIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782360473),
('Vsrulvv0ysPSD1PgMjGjEy93sVSyc8RIAHv0RYAm', NULL, '154.28.229.121', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJpQW0xcWkxb1dGYnNxMVhUZ3dYRkdDa3JudHpYRnExVFNZTDlxa2psIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782359372),
('W1SMnJXThdxGT9adMKLBdgcDMMSx5HsKnuErSpzJ', NULL, '202.78.167.117', 'Mozilla/5.0', 'eyJfdG9rZW4iOiJBQ1FrNUQyMndhRHlma25scFp5VnpDeU9tdEV4VGpMRkNBOUg4d3FTIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782357942),
('WAHERHJolPkHwA9YAJILSnjLGQHMQnwjsR86dglB', NULL, '103.196.9.30', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiIzTnBIYmJjSkJROGFveGlBMFpOejV5UjB3dUo2SVZqZ2xzUmtud3AyIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782360632),
('wLsCNdQ0APQgnjZDMyQorTGgQYn4cKw7jgHeklMm', NULL, '103.196.9.30', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJTR3VxcXZrRlJNbzdjQWlsWGtSUnNZVWZTSndCem14WktnRGNjT3NmIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782360615),
('Wxjb2qiPP3dmRSvsmKUw1bm58cC7AgaSKF8xNOK6', NULL, '148.113.206.127', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'eyJfdG9rZW4iOiJXaDFpUVVESnZUM0RUZ0lvcWV3VVE5NTNaZ1N1UncyNlBmNmlWejhGIiwiX2ZsYXNoIjp7Im9sZCI6W10sIm5ldyI6W119fQ==', 1782658097),
('WztIRg5Bh6Fh5rlLWcPIrS2wlZ3URBSiVddxSiPG', NULL, '185.220.101.63', 'Mozilla/5.0 (iPhone; CPU iPhone OS 26_5_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/149.0.7827.137 Mobile/15E148 Safari/604.1', 'eyJfdG9rZW4iOiJZNUJnQVY1eU5Qc2dLblRGYXg0UzZKRUZPZndkeE56ekZuMzFBNDJMIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782372877),
('XAdbUZ3OUr6rpwUrxD4i35cNq7UChLSO3fkHgbZB', NULL, '35.238.112.51', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', 'eyJfdG9rZW4iOiI2UGFCdlU3N1ZYbTk4alZCQjJ6Nm5PWWlhN295NVJ0Z21hUnJJcElPIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbVwvbG9naW4iLCJyb3V0ZSI6ImxvZ2luIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782483246),
('XKRZJ0caBktbhNxHspzld96t6abuMaJCABXccZbH', NULL, '106.63.26.14', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0', 'eyJfdG9rZW4iOiJYeTM2cUE5dU5Gb2ZDNk1NYTZ0NXM1ZGFwNEc5Z2JURUhpRDhqZ21pIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782619549),
('xsQLEYzWGMfEBJBfEOMJssboUhgMv4vu2hzHwdS4', NULL, '80.94.92.7', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiJJRlcwRVhrcnY2YlN5ZnB0NmQ4bHc2aW43SmlkVnpZaHNkVHJNQ3JPIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782399763),
('YyYB6inomhac3vaMl758j6iS0bZ4jtgULnTKioJR', NULL, '205.210.31.183', 'Hello from Palo Alto Networks, find out more about our scans in https://docs-cortex.paloaltonetworks.com/r/1/Cortex-Xpanse/Scanning-activity', 'eyJfdG9rZW4iOiJJVjRkOUlYaFFJZGw2R3pBVTFDRTF4N0VmNmJWUWpCa1NhbjNGcEJpIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782567467),
('z1IpxZwgCPDMmk9PgpyEGup5ULPiwMb5MV2ZrNPl', NULL, '80.94.92.7', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', 'eyJfdG9rZW4iOiIyQlBZNWxYRFlvMFRaNldSdGd1ZUc2MEJCY2E3Wkw0V05yYTQyaUZBIiwidXJsIjp7ImludGVuZGVkIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSJ9LCJfcHJldmlvdXMiOnsidXJsIjoiaHR0cHM6XC9cL2FuZHJvcy5ldm9sdWNpb25hbW9zLmNvbSIsInJvdXRlIjoiaW5pY2lvIn0sIl9mbGFzaCI6eyJvbGQiOltdLCJuZXciOltdfX0=', 1782399763),
('ZwRzqOcgSgFoT9hZjpHl71NzjGwmqubAWauVA81m', NULL, '91.196.152.163', 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:134.0) Gecko/20100101 Firefox/134.0', 'eyJfdG9rZW4iOiJYTUJWN29qc0tvWmE4SGxzS1hHaVJuMjk5ekZJYmRSYXM5aUxQV3pVIiwiX3ByZXZpb3VzIjp7InVybCI6Imh0dHBzOlwvXC9hbmRyb3MuZXZvbHVjaW9uYW1vcy5jb21cL2xvZ2luIiwicm91dGUiOiJsb2dpbiJ9LCJfZmxhc2giOnsib2xkIjpbXSwibmV3IjpbXX19', 1782360159);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `sorteos`
--

CREATE TABLE `sorteos` (
  `id` bigint UNSIGNED NOT NULL,
  `premio_id` bigint UNSIGNED NOT NULL,
  `ejecutado_por` bigint UNSIGNED NOT NULL,
  `estado` enum('pendiente','ejecutado','cancelado') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pendiente',
  `hora_desde` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `hora_hasta` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `publicado` tinyint(1) NOT NULL DEFAULT '0',
  `en_curso` tinyint(1) NOT NULL DEFAULT '0',
  `segundos_restantes` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ejecutado_en` timestamp NULL DEFAULT NULL,
  `ejecutado_ip` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ejecutado_ua` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `usuarios`
--

CREATE TABLE `usuarios` (
  `id` bigint UNSIGNED NOT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `usuario` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `rol` enum('admin','observador','operador') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'observador',
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `usuarios`
--

INSERT INTO `usuarios` (`id`, `nombre`, `usuario`, `email`, `password`, `rol`, `activo`, `remember_token`, `created_at`, `updated_at`) VALUES
(1, 'Liliana Rodriguez', 'lrodriguez', 'lrodriguez@lafayette.com', '$2y$12$FZ9uH9kEVfijJznIrcLNf.y/PMclp8wn5fZTyRt6BU8n2Ql.Zcx/W', 'admin', 1, NULL, '2026-04-15 22:57:56', '2026-04-15 22:57:56'),
(2, 'Tobías Cruz', 'tcruz', 'tcruz@lafayette.com', '$2y$12$9rSQfguFgkBjWOoUjd9The/e43OAgKiMT3tKcxHdeGFtsuis1IlSO', 'operador', 1, NULL, '2026-04-15 23:15:36', '2026-04-15 23:15:36'),
(3, 'Diana Alarcon', 'anafondouno', 'anafondouno@lafayette.com', '$2y$12$y0aw8OUuNhj.TOplND52p.ZKYwA5HiikwagKQnu/tcMYKpQdeFK0S', 'operador', 1, NULL, '2026-04-15 23:16:16', '2026-04-15 23:16:16'),
(7, 'Fabian Gonzáles', 'comercial', 'comercial@fycls.com', '$2y$12$yTVrJ0jh6glz1Er9/Z.k.uvC7Lk42f0k1ro8bv7UvU/89Snaw610u', 'admin', 1, NULL, '2026-04-16 15:54:49', '2026-04-16 15:54:49');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `cache`
--
ALTER TABLE `cache`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_expiration_index` (`expiration`);

--
-- Indices de la tabla `cache_locks`
--
ALTER TABLE `cache_locks`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_locks_expiration_index` (`expiration`);

--
-- Indices de la tabla `configuraciones`
--
ALTER TABLE `configuraciones`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `configuraciones_clave_unique` (`clave`),
  ADD KEY `configuraciones_grupo_orden_index` (`grupo`,`orden`);

--
-- Indices de la tabla `eventos`
--
ALTER TABLE `eventos`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Indices de la tabla `ganadores`
--
ALTER TABLE `ganadores`
  ADD PRIMARY KEY (`id`),
  ADD KEY `ganadores_sorteo_id_foreign` (`sorteo_id`),
  ADD KEY `ganadores_participante_id_foreign` (`participante_id`),
  ADD KEY `ganadores_anulado_por_foreign` (`anulado_por`);

--
-- Indices de la tabla `jobs`
--
ALTER TABLE `jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `jobs_queue_index` (`queue`);

--
-- Indices de la tabla `job_batches`
--
ALTER TABLE `job_batches`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `participantes`
--
ALTER TABLE `participantes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_participantes_evento_baneado` (`evento_id`,`baneado`),
  ADD KEY `idx_participantes_documento` (`documento`),
  ADD KEY `idx_participantes_zona` (`evento_id`,`segmento`);

--
-- Indices de la tabla `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Indices de la tabla `premios`
--
ALTER TABLE `premios`
  ADD PRIMARY KEY (`id`),
  ADD KEY `premios_evento_id_foreign` (`evento_id`);

--
-- Indices de la tabla `reacciones`
--
ALTER TABLE `reacciones`
  ADD PRIMARY KEY (`id`),
  ADD KEY `reacciones_sorteo_id_foreign` (`sorteo_id`);

--
-- Indices de la tabla `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Indices de la tabla `sorteos`
--
ALTER TABLE `sorteos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sorteos_premio_id_foreign` (`premio_id`),
  ADD KEY `sorteos_ejecutado_por_foreign` (`ejecutado_por`);

--
-- Indices de la tabla `usuarios`
--
ALTER TABLE `usuarios`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `usuarios_email_unique` (`email`),
  ADD UNIQUE KEY `usuarios_usuario_unique` (`usuario`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `configuraciones`
--
ALTER TABLE `configuraciones`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;

--
-- AUTO_INCREMENT de la tabla `eventos`
--
ALTER TABLE `eventos`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `ganadores`
--
ALTER TABLE `ganadores`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `jobs`
--
ALTER TABLE `jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26;

--
-- AUTO_INCREMENT de la tabla `participantes`
--
ALTER TABLE `participantes`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `premios`
--
ALTER TABLE `premios`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `reacciones`
--
ALTER TABLE `reacciones`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `sorteos`
--
ALTER TABLE `sorteos`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `usuarios`
--
ALTER TABLE `usuarios`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `ganadores`
--
ALTER TABLE `ganadores`
  ADD CONSTRAINT `ganadores_anulado_por_foreign` FOREIGN KEY (`anulado_por`) REFERENCES `usuarios` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `ganadores_participante_id_foreign` FOREIGN KEY (`participante_id`) REFERENCES `participantes` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `ganadores_sorteo_id_foreign` FOREIGN KEY (`sorteo_id`) REFERENCES `sorteos` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `participantes`
--
ALTER TABLE `participantes`
  ADD CONSTRAINT `participantes_evento_id_foreign` FOREIGN KEY (`evento_id`) REFERENCES `eventos` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `premios`
--
ALTER TABLE `premios`
  ADD CONSTRAINT `premios_evento_id_foreign` FOREIGN KEY (`evento_id`) REFERENCES `eventos` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `reacciones`
--
ALTER TABLE `reacciones`
  ADD CONSTRAINT `reacciones_sorteo_id_foreign` FOREIGN KEY (`sorteo_id`) REFERENCES `sorteos` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `sorteos`
--
ALTER TABLE `sorteos`
  ADD CONSTRAINT `sorteos_ejecutado_por_foreign` FOREIGN KEY (`ejecutado_por`) REFERENCES `usuarios` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `sorteos_premio_id_foreign` FOREIGN KEY (`premio_id`) REFERENCES `premios` (`id`) ON DELETE CASCADE;
--
-- Base de datos: `evolucionamos_crecimiento`
--
CREATE DATABASE IF NOT EXISTS `evolucionamos_crecimiento` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `evolucionamos_crecimiento`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `certificates`
--

CREATE TABLE `certificates` (
  `id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `program_id` bigint UNSIGNED NOT NULL,
  `enrollment_id` bigint UNSIGNED NOT NULL,
  `certificate_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `verification_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `issue_date` date NOT NULL,
  `expiry_date` date DEFAULT NULL,
  `template_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default',
  `metadata` json DEFAULT NULL,
  `pdf_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `qr_code_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` enum('active','revoked','expired') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active',
  `notes` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `courses`
--

CREATE TABLE `courses` (
  `id` bigint UNSIGNED NOT NULL,
  `program_id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `subtitle` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `estimated_minutes` int DEFAULT NULL COMMENT 'Duración estimada del curso en minutos',
  `difficulty_level` enum('beginner','intermediate','advanced') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'beginner' COMMENT 'Nivel de dificultad del curso',
  `thumbnail` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `order_index` int NOT NULL DEFAULT '0',
  `status` enum('active','inactive','draft') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `courses`
--

INSERT INTO `courses` (`id`, `program_id`, `name`, `subtitle`, `description`, `estimated_minutes`, `difficulty_level`, `thumbnail`, `order_index`, `status`, `created_at`, `updated_at`) VALUES
(1, 1, '1. GROWTH: Empezando', NULL, 'Bienvenida al curso', 5, 'beginner', NULL, 1, 'active', '2026-06-22 18:49:53', '2026-06-22 19:35:17'),
(2, 1, '2. GROWTH: Growth es todo', NULL, 'Los tiempos cambiaron', 64, 'beginner', NULL, 2, 'active', '2026-06-22 18:58:19', '2026-06-22 19:34:51');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `enrollments`
--

CREATE TABLE `enrollments` (
  `id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `program_id` bigint UNSIGNED NOT NULL,
  `enrolled_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `completed_at` datetime DEFAULT NULL,
  `progress_percentage` decimal(5,2) NOT NULL DEFAULT '0.00',
  `status` enum('active','completed','suspended') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active',
  `certificate_issued` tinyint(1) NOT NULL DEFAULT '0',
  `last_accessed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `migrations`
--

CREATE TABLE `migrations` (
  `id` int UNSIGNED NOT NULL,
  `migration` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '2014_10_12_000000_create_users_table', 1),
(2, '2014_10_12_100000_create_password_reset_tokens_table', 1),
(3, '2019_08_19_000000_create_failed_jobs_table', 1),
(4, '2019_12_14_000001_create_personal_access_tokens_table', 1),
(5, '2025_08_17_064833_create_programs_table', 2),
(6, '2025_08_17_064853_create_courses_table', 2),
(7, '2025_08_17_064859_create_videos_table', 2),
(8, '2025_08_17_064909_create_enrollments_table', 2),
(9, '2025_08_17_064921_create_video_progress_table', 2),
(10, '2025_08_17_072042_add_fields_to_users_table', 3),
(11, '2025_08_18_025909_create_program_admins_table', 4),
(12, '2025_08_18_033917_add_is_active_to_users_table', 5),
(13, '2025_08_18_173224_create_certificates_table', 6),
(14, '2025_08_18_221635_add_certificate_issued_to_enrollments_table', 7),
(15, '2025_08_19_025254_create_notifications_table', 8),
(16, '2024_10_19_add_coordinator_role', 9),
(17, '2025_10_19_add_missing_fields_to_courses_table', 10),
(18, '2025_10_19_add_external_video_fields_to_videos_table', 11),
(19, '2025_10_20_add_last_accessed_at_to_enrollments', 12),
(20, '2024_10_20_000001_add_materials_to_videos_table', 13),
(21, '2025_10_27_082503_add_login_backgrounds_to_settings_table', 14);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `notifications`
--

CREATE TABLE `notifications` (
  `id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `data` json DEFAULT NULL,
  `is_read` tinyint(1) NOT NULL DEFAULT '0',
  `read_at` timestamp NULL DEFAULT NULL,
  `action_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `priority` enum('low','normal','high') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'normal',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `personal_access_tokens`
--

CREATE TABLE `personal_access_tokens` (
  `id` bigint UNSIGNED NOT NULL,
  `tokenable_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `tokenable_id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `abilities` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `programs`
--

CREATE TABLE `programs` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `cover_image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `duration_hours` int DEFAULT NULL,
  `status` enum('active','inactive','draft') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active',
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `programs`
--

INSERT INTO `programs` (`id`, `name`, `description`, `cover_image`, `duration_hours`, `status`, `created_by`, `created_at`, `updated_at`) VALUES
(1, 'GROWTH', 'GROWTH y Estrategia', 'programs/80b7875c-0f49-44bd-8bc8-ba12ba562001.jpg', 8, 'active', 5, '2026-06-22 18:48:10', '2026-06-22 19:32:29');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `program_admins`
--

CREATE TABLE `program_admins` (
  `id` bigint UNSIGNED NOT NULL,
  `program_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `role` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'program_admin',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `settings`
--

CREATE TABLE `settings` (
  `id` bigint UNSIGNED NOT NULL,
  `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'text',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `settings`
--

INSERT INTO `settings` (`id`, `key`, `value`, `type`, `created_at`, `updated_at`) VALUES
(1, 'login_background_desktop', 'backgrounds/login_desktop_cb2bb69a-e5b7-4684-98a7-997fdbcde43a.jpg', 'image', '2025-10-27 08:25:29', '2026-06-23 05:36:12'),
(2, 'login_background_mobile', 'backgrounds/login_mobile_ac2fb2ea-7097-4556-9b15-5ccd20b16203.jpg', 'image', '2025-10-27 08:25:29', '2026-06-22 18:16:05'),
(3, 'platform_name', 'EVOLUCIONAMOS', 'text', '2025-10-27 08:25:29', '2026-06-23 05:36:12'),
(4, 'platform_logo', 'backgrounds/logo_26cdd763-a2dc-4e6f-abd6-f4e8825227f5.png', 'image', '2025-10-27 08:25:29', '2026-06-22 17:51:28');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `users`
--

CREATE TABLE `users` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `avatar_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `bio` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `company` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `position` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `country` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `role` enum('student','admin','coordinator','super_admin') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'student',
  `is_active` tinyint(1) NOT NULL DEFAULT '1',
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `remember_token` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `phone`, `avatar_url`, `bio`, `company`, `position`, `country`, `city`, `role`, `is_active`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`) VALUES
(5, 'John Freddy Moreno', 'john.moreno@fyclsingenieria.com', '3123181759', NULL, 'CEO Grupo', 'FYCLS INGENIERIA', NULL, 'Colombia', 'BOGOTA', 'super_admin', 1, NULL, '$2y$12$u.PFy196LwuV/ElnCmfkK.1z5SpxqkpBPkH6ULSjymCXFIIG6iM.6', 'GsTbfnGrfaSftDLTXjNcSMAeQszy1eydHayOtaf5LBgxoPg4bSJ6Tq5BxnUy', '2025-10-19 18:07:14', '2025-10-27 16:04:27');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `videos`
--

CREATE TABLE `videos` (
  `id` bigint UNSIGNED NOT NULL,
  `course_id` bigint UNSIGNED NOT NULL,
  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  `subtitle` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `description` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `video_source` enum('local','mab','youtube','vimeo','dropbox','other') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'local' COMMENT 'Fuente del video',
  `video_filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Nombre original del archivo',
  `is_external` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Si el video es externo o local',
  `external_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Código o ID del video externo',
  `file_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `file_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `thumbnail_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `thumbnail_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `duration_seconds` int DEFAULT NULL,
  `order_index` int NOT NULL DEFAULT '0',
  `is_preview` tinyint(1) DEFAULT '0',
  `material_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `material_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `material_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `material_size` int DEFAULT NULL,
  `status` enum('active','inactive','processing') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `resolution_options` json DEFAULT NULL,
  `transcription` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
  `subtitles_path` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `chapters` json DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `videos`
--

INSERT INTO `videos` (`id`, `course_id`, `title`, `subtitle`, `description`, `video_source`, `video_filename`, `is_external`, `external_code`, `file_url`, `file_path`, `thumbnail_url`, `thumbnail_path`, `duration_seconds`, `order_index`, `is_preview`, `material_path`, `material_name`, `material_type`, `material_size`, `status`, `created_at`, `updated_at`, `resolution_options`, `transcription`, `subtitles_path`, `chapters`) VALUES
(1, 1, '1. Prepararnos para absorver Growth', 'C1. Bienvenida', 'Bienvenida al curso', 'local', '01.01_Growth Empezando - 1. Prepararnos para absorver Growth - C1. Bienvenida.mp4', 0, NULL, NULL, 'videos/1/f15e04cf-13e5-43e3-9af8-7f40afcfcc8e.mp4', NULL, 'thumbnails/1/9e367c50-d657-4be2-bb92-38ef2e761872.jpg', 180, 1, 0, NULL, NULL, NULL, NULL, 'active', '2026-06-22 18:52:20', '2026-06-22 20:46:37', '\"[\\\"720p\\\",\\\"480p\\\"]\"', NULL, NULL, '\"[]\"'),
(2, 1, '1. Prepararnos para absorver Growth', 'C2. Obtener el maximo del curso', 'Sacar el máximo provecho al curso', 'local', '01.02_Growth Empezando - 1. Prepararnos para absorver Growth - C2. Obtener el maximo del curso.mp4', 0, NULL, NULL, 'videos/1/f5209e50-c938-4da6-8b47-3ed847cb0e64.mp4', NULL, 'thumbnails/1/258df3c7-3549-4dd5-9cf3-ab157911b237.jpg', 94, 2, 0, NULL, NULL, NULL, NULL, 'active', '2026-06-22 18:56:08', '2026-06-22 20:47:04', '\"[\\\"720p\\\",\\\"480p\\\"]\"', NULL, NULL, '\"[]\"'),
(3, 2, '1. Los tiempos cambian', 'C2. Los tiempos cambiaron', 'Los tiempos han cambiado', 'local', '02.01_Growth Growth es todo -  1. Los tiempos cambian - C2. Los tiempos cambiaron.mp4', 0, NULL, NULL, 'videos/2/0458310d-f952-45ed-bb28-1fff5bb26742.mp4', NULL, 'thumbnails/2/500d3ce6-ab7a-464a-973a-9e6dfdd2f018.jpg', 460, 1, 0, NULL, NULL, NULL, NULL, 'active', '2026-06-22 19:12:27', '2026-06-22 20:47:34', '\"[\\\"720p\\\",\\\"480p\\\"]\"', NULL, NULL, '\"[]\"'),
(4, 2, '2. Construyendo un sistema', 'C1. Sostenible, repetible y predecible', 'Construyendo un sistema sostenible, repetible y predecible', 'local', '02.02_Growth Growth es todo -  2. Construyendo un sistema - C1. Sostenible, repetible y predecible.mp4', 0, NULL, NULL, 'videos/2/286194db-8ead-4e45-bb9b-0e4a0614b8d2.mp4', NULL, 'thumbnails/2/1b7c8260-7511-4930-b4bd-2c9ad3cb3f19.jpg', 180, 2, 0, NULL, NULL, NULL, NULL, 'active', '2026-06-22 20:16:40', '2026-06-22 20:48:00', '\"[\\\"720p\\\",\\\"480p\\\"]\"', NULL, NULL, '\"[]\"');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `video_progress`
--

CREATE TABLE `video_progress` (
  `id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `video_id` bigint UNSIGNED NOT NULL,
  `watched_seconds` int NOT NULL DEFAULT '0',
  `total_seconds` int DEFAULT NULL,
  `completed` tinyint(1) NOT NULL DEFAULT '0',
  `last_position` int NOT NULL DEFAULT '0',
  `percentage_watched` decimal(5,2) NOT NULL DEFAULT '0.00',
  `last_watched_at` datetime DEFAULT NULL,
  `total_views` int NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `video_progress`
--

INSERT INTO `video_progress` (`id`, `user_id`, `video_id`, `watched_seconds`, `total_seconds`, `completed`, `last_position`, `percentage_watched`, `last_watched_at`, `total_views`, `created_at`, `updated_at`) VALUES
(1, 5, 3, 0, 460, 0, 0, 0.00, NULL, 1, '2026-06-22 20:41:36', '2026-06-22 20:41:36');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `certificates`
--
ALTER TABLE `certificates`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `certificates_certificate_number_unique` (`certificate_number`),
  ADD UNIQUE KEY `certificates_verification_code_unique` (`verification_code`),
  ADD KEY `certificates_program_id_foreign` (`program_id`),
  ADD KEY `certificates_enrollment_id_foreign` (`enrollment_id`),
  ADD KEY `certificates_user_id_program_id_index` (`user_id`,`program_id`),
  ADD KEY `certificates_certificate_number_index` (`certificate_number`),
  ADD KEY `certificates_verification_code_index` (`verification_code`);

--
-- Indices de la tabla `courses`
--
ALTER TABLE `courses`
  ADD PRIMARY KEY (`id`),
  ADD KEY `courses_program_id_foreign` (`program_id`);

--
-- Indices de la tabla `enrollments`
--
ALTER TABLE `enrollments`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `enrollments_user_id_program_id_unique` (`user_id`,`program_id`),
  ADD KEY `enrollments_program_id_foreign` (`program_id`);

--
-- Indices de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Indices de la tabla `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `notifications`
--
ALTER TABLE `notifications`
  ADD PRIMARY KEY (`id`),
  ADD KEY `notifications_user_id_is_read_index` (`user_id`,`is_read`),
  ADD KEY `notifications_user_id_created_at_index` (`user_id`,`created_at`),
  ADD KEY `notifications_type_index` (`type`);

--
-- Indices de la tabla `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Indices de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  ADD KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`);

--
-- Indices de la tabla `programs`
--
ALTER TABLE `programs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `programs_created_by_foreign` (`created_by`);

--
-- Indices de la tabla `program_admins`
--
ALTER TABLE `program_admins`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `program_admins_program_id_user_id_unique` (`program_id`,`user_id`),
  ADD KEY `program_admins_user_id_foreign` (`user_id`);

--
-- Indices de la tabla `settings`
--
ALTER TABLE `settings`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `settings_key_unique` (`key`);

--
-- Indices de la tabla `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `users_email_unique` (`email`);

--
-- Indices de la tabla `videos`
--
ALTER TABLE `videos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `videos_course_id_foreign` (`course_id`);

--
-- Indices de la tabla `video_progress`
--
ALTER TABLE `video_progress`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `video_progress_user_id_video_id_unique` (`user_id`,`video_id`),
  ADD KEY `video_progress_video_id_foreign` (`video_id`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `certificates`
--
ALTER TABLE `certificates`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `courses`
--
ALTER TABLE `courses`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `enrollments`
--
ALTER TABLE `enrollments`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=22;

--
-- AUTO_INCREMENT de la tabla `notifications`
--
ALTER TABLE `notifications`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `programs`
--
ALTER TABLE `programs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `program_admins`
--
ALTER TABLE `program_admins`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `settings`
--
ALTER TABLE `settings`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de la tabla `users`
--
ALTER TABLE `users`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=171;

--
-- AUTO_INCREMENT de la tabla `videos`
--
ALTER TABLE `videos`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de la tabla `video_progress`
--
ALTER TABLE `video_progress`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `certificates`
--
ALTER TABLE `certificates`
  ADD CONSTRAINT `certificates_enrollment_id_foreign` FOREIGN KEY (`enrollment_id`) REFERENCES `enrollments` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `certificates_program_id_foreign` FOREIGN KEY (`program_id`) REFERENCES `programs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `certificates_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `courses`
--
ALTER TABLE `courses`
  ADD CONSTRAINT `courses_program_id_foreign` FOREIGN KEY (`program_id`) REFERENCES `programs` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `enrollments`
--
ALTER TABLE `enrollments`
  ADD CONSTRAINT `enrollments_program_id_foreign` FOREIGN KEY (`program_id`) REFERENCES `programs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `enrollments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `notifications`
--
ALTER TABLE `notifications`
  ADD CONSTRAINT `notifications_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `programs`
--
ALTER TABLE `programs`
  ADD CONSTRAINT `programs_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `program_admins`
--
ALTER TABLE `program_admins`
  ADD CONSTRAINT `program_admins_program_id_foreign` FOREIGN KEY (`program_id`) REFERENCES `programs` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `program_admins_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `videos`
--
ALTER TABLE `videos`
  ADD CONSTRAINT `videos_course_id_foreign` FOREIGN KEY (`course_id`) REFERENCES `courses` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `video_progress`
--
ALTER TABLE `video_progress`
  ADD CONSTRAINT `video_progress_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `video_progress_video_id_foreign` FOREIGN KEY (`video_id`) REFERENCES `videos` (`id`) ON DELETE CASCADE;
--
-- Base de datos: `evolucionamos_csemillafpha`
--
CREATE DATABASE IF NOT EXISTS `evolucionamos_csemillafpha` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `evolucionamos_csemillafpha`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `actividades_periodo_gracia`
--

CREATE TABLE `actividades_periodo_gracia` (
  `id` bigint UNSIGNED NOT NULL,
  `solicitud_id` bigint UNSIGNED NOT NULL,
  `actividad` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `descripcion` text COLLATE utf8mb4_unicode_ci,
  `fecha_inicio` date NOT NULL,
  `fecha_fin` date NOT NULL,
  `costo_estimado` decimal(14,2) NOT NULL DEFAULT '0.00',
  `mes_ejecucion` tinyint NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache`
--

CREATE TABLE `cache` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache_locks`
--

CREATE TABLE `cache_locks` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `owner` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `desembolsos`
--

CREATE TABLE `desembolsos` (
  `id` bigint UNSIGNED NOT NULL,
  `solicitud_id` bigint UNSIGNED NOT NULL,
  `monto` decimal(14,2) NOT NULL,
  `fecha_desembolso` date NOT NULL,
  `numero_comprobante` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `medio_pago` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'transferencia',
  `observaciones` text COLLATE utf8mb4_unicode_ci,
  `registrado_por` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `documentos_adjuntos`
--

CREATE TABLE `documentos_adjuntos` (
  `id` bigint UNSIGNED NOT NULL,
  `solicitud_id` bigint UNSIGNED NOT NULL,
  `tipo_documento` enum('cedula_asociado','certificado_asociado','rut','camara_comercio','estados_financieros','cotizaciones','plan_negocio','foto_establecimiento','extractos_bancarios','declaracion_renta','informe_mensual','otro') COLLATE utf8mb4_unicode_ci NOT NULL,
  `nombre_original` varchar(300) COLLATE utf8mb4_unicode_ci NOT NULL,
  `ruta_archivo` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL,
  `mime_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `tamano` bigint DEFAULT NULL,
  `numero_informe` tinyint DEFAULT NULL,
  `descripcion` text COLLATE utf8mb4_unicode_ci,
  `subido_por` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `evaluaciones`
--

CREATE TABLE `evaluaciones` (
  `id` bigint UNSIGNED NOT NULL,
  `solicitud_id` bigint UNSIGNED NOT NULL,
  `evaluador_id` bigint UNSIGNED NOT NULL,
  `puntaje_viabilidad_tecnica` tinyint UNSIGNED DEFAULT NULL,
  `puntaje_viabilidad_financiera` tinyint UNSIGNED DEFAULT NULL,
  `puntaje_capacidad_endeudamiento` tinyint UNSIGNED DEFAULT NULL,
  `puntaje_plan_inversion` tinyint UNSIGNED DEFAULT NULL,
  `puntaje_perfil_asociado` tinyint UNSIGNED DEFAULT NULL,
  `puntaje_total` tinyint UNSIGNED DEFAULT NULL,
  `resultado` enum('aprobado','rechazado','pendiente') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pendiente',
  `concepto_tecnico` text COLLATE utf8mb4_unicode_ci,
  `recomendaciones` text COLLATE utf8mb4_unicode_ci,
  `fecha_evaluacion` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `historial_estados`
--

CREATE TABLE `historial_estados` (
  `id` bigint UNSIGNED NOT NULL,
  `solicitud_id` bigint UNSIGNED NOT NULL,
  `estado_anterior` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `estado_nuevo` varchar(60) COLLATE utf8mb4_unicode_ci NOT NULL,
  `observacion` text COLLATE utf8mb4_unicode_ci,
  `cambiado_por` bigint UNSIGNED NOT NULL,
  `fecha_cambio` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `informes_mensuales`
--

CREATE TABLE `informes_mensuales` (
  `id` bigint UNSIGNED NOT NULL,
  `solicitud_id` bigint UNSIGNED NOT NULL,
  `numero_informe` tinyint UNSIGNED NOT NULL,
  `periodo_inicio` date DEFAULT NULL,
  `periodo_fin` date DEFAULT NULL,
  `actividades_realizadas` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `logros_avances` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `dificultades` text COLLATE utf8mb4_unicode_ci,
  `ventas_periodo` decimal(14,2) NOT NULL DEFAULT '0.00',
  `gastos_periodo` decimal(14,2) NOT NULL DEFAULT '0.00',
  `inversion_ejecutada` decimal(14,2) NOT NULL DEFAULT '0.00',
  `estado` enum('pendiente','enviado','aprobado','devuelto') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pendiente',
  `observaciones_evaluador` text COLLATE utf8mb4_unicode_ci,
  `revisado_por` bigint UNSIGNED DEFAULT NULL,
  `fecha_envio` datetime DEFAULT NULL,
  `fecha_revision` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `queue` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `attempts` tinyint UNSIGNED NOT NULL,
  `reserved_at` int UNSIGNED DEFAULT NULL,
  `available_at` int UNSIGNED NOT NULL,
  `created_at` int UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `total_jobs` int NOT NULL,
  `pending_jobs` int NOT NULL,
  `failed_jobs` int NOT NULL,
  `failed_job_ids` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `options` mediumtext COLLATE utf8mb4_unicode_ci,
  `cancelled_at` int DEFAULT NULL,
  `created_at` int NOT NULL,
  `finished_at` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `migrations`
--

CREATE TABLE `migrations` (
  `id` int UNSIGNED NOT NULL,
  `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '0001_01_01_000000_create_users_table', 1),
(2, '0001_01_01_000001_create_cache_table', 1),
(3, '0001_01_01_000002_create_jobs_table', 1),
(4, '2025_01_01_000001_create_fempha_tables', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `model_has_permissions`
--

CREATE TABLE `model_has_permissions` (
  `permission_id` bigint UNSIGNED NOT NULL,
  `model_type` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_id` bigint UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `model_has_roles`
--

CREATE TABLE `model_has_roles` (
  `role_id` bigint UNSIGNED NOT NULL,
  `model_type` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_id` bigint UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `model_has_roles`
--

INSERT INTO `model_has_roles` (`role_id`, `model_type`, `model_id`) VALUES
(4, 'App\\Models\\User', 1);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `permissions`
--

CREATE TABLE `permissions` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `permissions`
--

INSERT INTO `permissions` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'solicitud.crear', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(2, 'solicitud.ver', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(3, 'solicitud.evaluar', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(4, 'solicitud.cambiar-estado', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(5, 'solicitud.desembolsar', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(6, 'solicitud.ver-todos', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(7, 'informe.enviar', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(8, 'informe.revisar', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(9, 'documento.subir', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(10, 'documento.descargar', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(11, 'admin.dashboard', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `personal_access_tokens`
--

CREATE TABLE `personal_access_tokens` (
  `id` bigint UNSIGNED NOT NULL,
  `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `tokenable_id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `abilities` text COLLATE utf8mb4_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `plan_inversion_items`
--

CREATE TABLE `plan_inversion_items` (
  `id` bigint UNSIGNED NOT NULL,
  `solicitud_id` bigint UNSIGNED NOT NULL,
  `rubro` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL,
  `descripcion` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `valor` decimal(14,2) NOT NULL,
  `proveedor` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `categoria` enum('gastos_legalizacion','insumos_materia_prima','equipos_maquinaria','software','mercadeo_comercializacion','otro') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'equipos_maquinaria',
  `orden` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `roles`
--

CREATE TABLE `roles` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `roles`
--

INSERT INTO `roles` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'asociado', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(2, 'evaluador', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(3, 'junta', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33'),
(4, 'admin', 'web', '2026-04-08 00:14:33', '2026-04-08 00:14:33');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `role_has_permissions`
--

CREATE TABLE `role_has_permissions` (
  `permission_id` bigint UNSIGNED NOT NULL,
  `role_id` bigint UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `role_has_permissions`
--

INSERT INTO `role_has_permissions` (`permission_id`, `role_id`) VALUES
(1, 1),
(2, 1),
(7, 1),
(9, 1),
(2, 2),
(3, 2),
(6, 2),
(8, 2),
(10, 2),
(4, 3),
(6, 3),
(1, 4),
(2, 4),
(3, 4),
(4, 4),
(5, 4),
(6, 4),
(7, 4),
(8, 4),
(9, 4),
(10, 4),
(11, 4);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `sessions`
--

CREATE TABLE `sessions` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` text COLLATE utf8mb4_unicode_ci,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `last_activity` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `solicitudes_capital_semilla`
--

CREATE TABLE `solicitudes_capital_semilla` (
  `id` bigint UNSIGNED NOT NULL,
  `radicado` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `tipo_emprendimiento` enum('creacion','fortalecimiento') COLLATE utf8mb4_unicode_ci NOT NULL,
  `nombre_empresa` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `nit` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `descripcion_negocio` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `descripcion_proyecto` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `monto_solicitado` decimal(14,2) NOT NULL,
  `plazo_meses` int NOT NULL DEFAULT '36',
  `tasa_interes` decimal(5,2) DEFAULT NULL,
  `fecha_inicio_gracia` date DEFAULT NULL,
  `fecha_fin_gracia` date DEFAULT NULL,
  `estado` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'borrador',
  `observaciones_evaluador` text COLLATE utf8mb4_unicode_ci,
  `observaciones_junta` text COLLATE utf8mb4_unicode_ci,
  `fecha_radicacion` datetime DEFAULT NULL,
  `fecha_aprobacion` datetime DEFAULT NULL,
  `fecha_rechazo` datetime DEFAULT NULL,
  `evaluador_id` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `users`
--

CREATE TABLE `users` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `numero_asociado` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `cedula` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `telefono` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `estado` enum('activo','inactivo') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'activo',
  `cargo` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `area` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `fecha_ingreso` date DEFAULT NULL,
  `activo` tinyint(1) NOT NULL DEFAULT '1',
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `two_factor_secret` text COLLATE utf8mb4_unicode_ci,
  `two_factor_recovery_codes` text COLLATE utf8mb4_unicode_ci,
  `two_factor_confirmed_at` timestamp NULL DEFAULT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `profile_photo_path` varchar(2048) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `current_team_id` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `numero_asociado`, `cedula`, `telefono`, `estado`, `cargo`, `area`, `fecha_ingreso`, `activo`, `email_verified_at`, `password`, `two_factor_secret`, `two_factor_recovery_codes`, `two_factor_confirmed_at`, `remember_token`, `profile_photo_path`, `current_team_id`, `created_at`, `updated_at`) VALUES
(1, 'Administrador FEMPHA', 'admin@fempha.com.co', 'ADM-001', NULL, NULL, 'activo', NULL, NULL, NULL, 1, '2026-04-08 00:14:33', 'G3niusF13**Hf', NULL, NULL, NULL, NULL, NULL, NULL, '2026-04-08 00:14:33', '2026-04-08 00:14:33');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `actividades_periodo_gracia`
--
ALTER TABLE `actividades_periodo_gracia`
  ADD PRIMARY KEY (`id`),
  ADD KEY `actividades_solicitud_idx` (`solicitud_id`);

--
-- Indices de la tabla `cache`
--
ALTER TABLE `cache`
  ADD PRIMARY KEY (`key`);

--
-- Indices de la tabla `cache_locks`
--
ALTER TABLE `cache_locks`
  ADD PRIMARY KEY (`key`);

--
-- Indices de la tabla `desembolsos`
--
ALTER TABLE `desembolsos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `desembolsos_solicitud_idx` (`solicitud_id`),
  ADD KEY `desembolsos_registrado_idx` (`registrado_por`);

--
-- Indices de la tabla `documentos_adjuntos`
--
ALTER TABLE `documentos_adjuntos`
  ADD PRIMARY KEY (`id`),
  ADD KEY `docs_solicitud_idx` (`solicitud_id`),
  ADD KEY `docs_subido_por_idx` (`subido_por`);

--
-- Indices de la tabla `evaluaciones`
--
ALTER TABLE `evaluaciones`
  ADD PRIMARY KEY (`id`),
  ADD KEY `eval_solicitud_idx` (`solicitud_id`),
  ADD KEY `eval_evaluador_idx` (`evaluador_id`);

--
-- Indices de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Indices de la tabla `historial_estados`
--
ALTER TABLE `historial_estados`
  ADD PRIMARY KEY (`id`),
  ADD KEY `historial_solicitud_idx` (`solicitud_id`),
  ADD KEY `historial_usuario_idx` (`cambiado_por`);

--
-- Indices de la tabla `informes_mensuales`
--
ALTER TABLE `informes_mensuales`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `informes_solicitud_numero_unique` (`solicitud_id`,`numero_informe`),
  ADD KEY `informes_solicitud_idx` (`solicitud_id`),
  ADD KEY `informes_revisado_idx` (`revisado_por`);

--
-- Indices de la tabla `jobs`
--
ALTER TABLE `jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `jobs_queue_index` (`queue`);

--
-- Indices de la tabla `job_batches`
--
ALTER TABLE `job_batches`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  ADD KEY `model_has_permissions_model_idx` (`model_id`,`model_type`);

--
-- Indices de la tabla `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  ADD KEY `model_has_roles_model_idx` (`model_id`,`model_type`);

--
-- Indices de la tabla `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Indices de la tabla `permissions`
--
ALTER TABLE `permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `permissions_name_guard_unique` (`name`,`guard_name`);

--
-- Indices de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  ADD KEY `personal_access_tokens_tokenable_idx` (`tokenable_type`,`tokenable_id`);

--
-- Indices de la tabla `plan_inversion_items`
--
ALTER TABLE `plan_inversion_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `plan_items_solicitud_idx` (`solicitud_id`);

--
-- Indices de la tabla `roles`
--
ALTER TABLE `roles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `roles_name_guard_unique` (`name`,`guard_name`);

--
-- Indices de la tabla `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`role_id`),
  ADD KEY `fk_rhp_role` (`role_id`);

--
-- Indices de la tabla `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Indices de la tabla `solicitudes_capital_semilla`
--
ALTER TABLE `solicitudes_capital_semilla`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `solicitudes_radicado_unique` (`radicado`),
  ADD KEY `solicitudes_user_id_idx` (`user_id`),
  ADD KEY `solicitudes_evaluador_id_idx` (`evaluador_id`),
  ADD KEY `solicitudes_estado_idx` (`estado`);

--
-- Indices de la tabla `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `users_email_unique` (`email`),
  ADD UNIQUE KEY `users_numero_asociado_unique` (`numero_asociado`),
  ADD UNIQUE KEY `users_cedula_unique` (`cedula`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `actividades_periodo_gracia`
--
ALTER TABLE `actividades_periodo_gracia`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `desembolsos`
--
ALTER TABLE `desembolsos`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `documentos_adjuntos`
--
ALTER TABLE `documentos_adjuntos`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `evaluaciones`
--
ALTER TABLE `evaluaciones`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `historial_estados`
--
ALTER TABLE `historial_estados`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `informes_mensuales`
--
ALTER TABLE `informes_mensuales`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `jobs`
--
ALTER TABLE `jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de la tabla `permissions`
--
ALTER TABLE `permissions`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;

--
-- AUTO_INCREMENT de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `plan_inversion_items`
--
ALTER TABLE `plan_inversion_items`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `roles`
--
ALTER TABLE `roles`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de la tabla `solicitudes_capital_semilla`
--
ALTER TABLE `solicitudes_capital_semilla`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `users`
--
ALTER TABLE `users`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `actividades_periodo_gracia`
--
ALTER TABLE `actividades_periodo_gracia`
  ADD CONSTRAINT `fk_actividades_solicitud` FOREIGN KEY (`solicitud_id`) REFERENCES `solicitudes_capital_semilla` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `desembolsos`
--
ALTER TABLE `desembolsos`
  ADD CONSTRAINT `fk_desembolsos_solicitud` FOREIGN KEY (`solicitud_id`) REFERENCES `solicitudes_capital_semilla` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_desembolsos_usuario` FOREIGN KEY (`registrado_por`) REFERENCES `users` (`id`);

--
-- Filtros para la tabla `documentos_adjuntos`
--
ALTER TABLE `documentos_adjuntos`
  ADD CONSTRAINT `fk_docs_solicitud` FOREIGN KEY (`solicitud_id`) REFERENCES `solicitudes_capital_semilla` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_docs_usuario` FOREIGN KEY (`subido_por`) REFERENCES `users` (`id`);

--
-- Filtros para la tabla `evaluaciones`
--
ALTER TABLE `evaluaciones`
  ADD CONSTRAINT `fk_eval_evaluador` FOREIGN KEY (`evaluador_id`) REFERENCES `users` (`id`),
  ADD CONSTRAINT `fk_eval_solicitud` FOREIGN KEY (`solicitud_id`) REFERENCES `solicitudes_capital_semilla` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `historial_estados`
--
ALTER TABLE `historial_estados`
  ADD CONSTRAINT `fk_historial_solicitud` FOREIGN KEY (`solicitud_id`) REFERENCES `solicitudes_capital_semilla` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_historial_usuario` FOREIGN KEY (`cambiado_por`) REFERENCES `users` (`id`);

--
-- Filtros para la tabla `informes_mensuales`
--
ALTER TABLE `informes_mensuales`
  ADD CONSTRAINT `fk_informes_revisor` FOREIGN KEY (`revisado_por`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `fk_informes_solicitud` FOREIGN KEY (`solicitud_id`) REFERENCES `solicitudes_capital_semilla` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD CONSTRAINT `fk_mhp_permission` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD CONSTRAINT `fk_mhr_role` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `plan_inversion_items`
--
ALTER TABLE `plan_inversion_items`
  ADD CONSTRAINT `fk_plan_items_solicitud` FOREIGN KEY (`solicitud_id`) REFERENCES `solicitudes_capital_semilla` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD CONSTRAINT `fk_rhp_permission` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_rhp_role` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `solicitudes_capital_semilla`
--
ALTER TABLE `solicitudes_capital_semilla`
  ADD CONSTRAINT `fk_solicitudes_evaluador` FOREIGN KEY (`evaluador_id`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `fk_solicitudes_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;
--
-- Base de datos: `evolucionamos_david`
--
CREATE DATABASE IF NOT EXISTS `evolucionamos_david` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `evolucionamos_david`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `migrations`
--

CREATE TABLE `migrations` (
  `id` int UNSIGNED NOT NULL,
  `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '2014_10_12_000000_create_users_table', 1),
(2, '2014_10_12_100000_create_password_reset_tokens_table', 1),
(3, '2019_08_19_000000_create_failed_jobs_table', 1),
(4, '2019_12_14_000001_create_personal_access_tokens_table', 1),
(5, '2026_04_08_184827_create_monthly_reports_table', 1),
(6, '2026_04_10_040029_add_entrepreneur_fields_to_users_table', 2);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `monthly_reports`
--

CREATE TABLE `monthly_reports` (
  `id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `monthly_sales` int NOT NULL DEFAULT '0',
  `new_clients` int NOT NULL DEFAULT '0',
  `investment_made` decimal(15,2) NOT NULL DEFAULT '0.00',
  `challenges_learnings` text COLLATE utf8mb4_unicode_ci,
  `evidence_files` json DEFAULT NULL,
  `report_month_year` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `status` enum('active','paused') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'active',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `monthly_reports`
--

INSERT INTO `monthly_reports` (`id`, `user_id`, `monthly_sales`, `new_clients`, `investment_made`, `challenges_learnings`, `evidence_files`, `report_month_year`, `status`, `created_at`, `updated_at`) VALUES
(1, 1, 15, 5, 500000.00, 'Sol', '[\"evidencias/T04ekeQc5yqf4S9SXvtfWFIAKsFEGq2OCWACCWIP.png\"]', '2026-04', 'active', '2026-04-09 03:42:38', '2026-04-09 03:42:38'),
(2, 1, 10, 2, 100000.00, 'sa', '[\"evidencias/sPVH9AP9AIMjlaVNclUnyEAqLnRVC7PoNlmDhz6A.png\"]', '2026-01', 'active', '2026-04-09 04:04:43', '2026-04-09 04:04:43'),
(3, 2, 50, 10, 200000.00, 'Mayor', '[\"evidencias/FMVyoYu7jwiygyMU6RS6PJVtqdWMq4phAAKaNQpR.png\"]', '2026-03', 'active', '2026-04-10 02:09:10', '2026-04-10 02:09:10'),
(4, 4, 20, 5, 100000.00, 'mon', '[\"evidencias/l5F7xggh3SjINLuuS3ra7ztldHr5vytgc9BcEvXS.png\"]', '2026-04', 'active', '2026-04-10 15:58:06', '2026-04-10 15:58:06');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `personal_access_tokens`
--

CREATE TABLE `personal_access_tokens` (
  `id` bigint UNSIGNED NOT NULL,
  `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `tokenable_id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `abilities` text COLLATE utf8mb4_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `users`
--

CREATE TABLE `users` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `business_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `sector` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `city` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `phone` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`, `business_name`, `sector`, `city`, `phone`) VALUES
(1, 'Administrador FEMPHA', 'admin@fempha.com.co', NULL, '$2y$12$H5GPB36L6GlHVEIDbORdXOc7AHmiD9LmMyxYkuS4dpuZEp5xOrjDi', NULL, '2026-04-09 03:17:14', '2026-04-09 03:17:14', NULL, NULL, NULL, NULL),
(2, 'Estrella Perez', 'estrella@prueba.com', NULL, '$2y$12$WqPMCseJhS4CZSdCuvYF2uO2qmARUeZmI8uUTTbt8bTPlHSuISGou', NULL, '2026-04-10 02:06:42', '2026-04-10 05:05:25', 'Surtidora la 22', 'Alimentos', 'Bogota', '3125124143'),
(3, 'Jose Reyes', 'js@prueba.com.co', NULL, '$2y$12$lbc57E9rTDDe7l0/d7fcLex2cIOp4s4fRTLn/umg/nF483agsYx9C', NULL, '2026-04-10 04:19:53', '2026-04-10 05:06:37', 'Interdigital', 'Comercio', 'Bogota', '3123123213'),
(4, 'David Bello', 'db@prueba.com.co', NULL, '$2y$12$JQtmuw672OTLS/HLW.Ao2.KKfAS0KXRAb9w0dzCH4Ut5rb/ckTwhi', NULL, '2026-04-10 15:56:17', '2026-04-10 15:56:17', NULL, NULL, NULL, NULL);

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Indices de la tabla `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `monthly_reports`
--
ALTER TABLE `monthly_reports`
  ADD PRIMARY KEY (`id`),
  ADD KEY `monthly_reports_user_id_foreign` (`user_id`);

--
-- Indices de la tabla `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Indices de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  ADD KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`);

--
-- Indices de la tabla `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `users_email_unique` (`email`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de la tabla `monthly_reports`
--
ALTER TABLE `monthly_reports`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `users`
--
ALTER TABLE `users`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `monthly_reports`
--
ALTER TABLE `monthly_reports`
  ADD CONSTRAINT `monthly_reports_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;
--
-- Base de datos: `evolucionamos_estrategia`
--
CREATE DATABASE IF NOT EXISTS `evolucionamos_estrategia` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `evolucionamos_estrategia`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `ai_messages`
--

CREATE TABLE `ai_messages` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED DEFAULT NULL,
  `live_session_id` bigint UNSIGNED DEFAULT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `module` enum('dofa','bet','kr_validation','synthesis','chat','monthly','quarterly','board','voice') COLLATE utf8mb4_unicode_ci NOT NULL,
  `context` json DEFAULT NULL,
  `prompt` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `response` longtext COLLATE utf8mb4_unicode_ci,
  `model` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'claude-sonnet-4-20250514',
  `tokens_used` int NOT NULL DEFAULT '0',
  `trigger` enum('proactive','consultive') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'consultive',
  `voiced` tinyint(1) NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `aspirations`
--

CREATE TABLE `aspirations` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `content` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `theme` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `bet_votes`
--

CREATE TABLE `bet_votes` (
  `id` bigint UNSIGNED NOT NULL,
  `strategic_bet_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `feasibility` tinyint UNSIGNED NOT NULL,
  `impact` tinyint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache`
--

CREATE TABLE `cache` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` bigint NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache_locks`
--

CREATE TABLE `cache_locks` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `owner` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` bigint NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `capabilities`
--

CREATE TABLE `capabilities` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `votes` int NOT NULL DEFAULT '0',
  `vote_percentage` decimal(5,2) NOT NULL DEFAULT '0.00',
  `is_custom` tinyint(1) NOT NULL DEFAULT '0',
  `proposed_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `capability_votes`
--

CREATE TABLE `capability_votes` (
  `id` bigint UNSIGNED NOT NULL,
  `capability_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `check_ins`
--

CREATE TABLE `check_ins` (
  `id` bigint UNSIGNED NOT NULL,
  `key_result_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `value` decimal(15,2) NOT NULL,
  `note` text COLLATE utf8mb4_unicode_ci,
  `week_number` tinyint NOT NULL,
  `year` year NOT NULL,
  `score_at_checkin` decimal(5,4) DEFAULT NULL,
  `confidence` enum('low','medium','high') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'medium',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cycles`
--

CREATE TABLE `cycles` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `quarter` tinyint NOT NULL,
  `year` year NOT NULL,
  `start_date` date NOT NULL,
  `end_date` date NOT NULL,
  `status` enum('upcoming','active','closed') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'upcoming',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `cycles`
--

INSERT INTO `cycles` (`id`, `project_id`, `quarter`, `year`, `start_date`, `end_date`, `status`, `created_at`, `updated_at`) VALUES
(1, 1, 2, '2026', '2026-04-01', '2026-06-30', 'active', '2026-03-24 20:42:49', '2026-03-24 20:42:49');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `dofa_factors`
--

CREATE TABLE `dofa_factors` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `type` enum('F','D','O','A') COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `importance` decimal(5,4) NOT NULL DEFAULT '0.0000',
  `priority` tinyint NOT NULL DEFAULT '0',
  `score` decimal(8,4) NOT NULL DEFAULT '0.0000',
  `mefi_mefe_rating` tinyint DEFAULT NULL,
  `mefi_mefe_weight` decimal(5,4) DEFAULT NULL,
  `created_by` bigint UNSIGNED DEFAULT NULL,
  `order` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `dofa_factors`
--

INSERT INTO `dofa_factors` (`id`, `project_id`, `type`, `description`, `importance`, `priority`, `score`, `mefi_mefe_rating`, `mefi_mefe_weight`, `created_by`, `order`, `created_at`, `updated_at`) VALUES
(1, 1, 'F', 'Excelente reputación y confianza de los asociados', 0.0500, 6, 0.0000, NULL, NULL, 1, 1, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(2, 1, 'F', 'Solidez financiera y cultura de pago de los asociados', 0.0500, 6, 0.0000, NULL, NULL, 1, 2, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(3, 1, 'F', 'Agilidad operativa frente a entidades de mayor tamaño', 0.0500, 6, 0.0000, NULL, NULL, 1, 3, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(4, 1, 'F', 'Atención personalizada y cercanía con el asociado', 0.0500, 6, 0.0000, NULL, NULL, 1, 4, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(5, 1, 'F', 'Cumplimiento SIAR y gestión de riesgos sólida', 0.0500, 6, 0.0000, NULL, NULL, 1, 5, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(6, 1, 'F', 'Cultura de pago y bajo índice de mora (1.5%)', 0.0500, 6, 0.0000, NULL, NULL, 1, 6, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(7, 1, 'F', 'Productos competitivos en tasas y condiciones', 0.0500, 6, 0.0000, NULL, NULL, 1, 7, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(8, 1, 'D', 'Forma del manejo de comunicaciones con los asociados', 0.0500, 6, 0.0000, NULL, NULL, 1, 1, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(9, 1, 'D', 'Baja colocación de crédito (49.3% vs meta 60%)', 0.0500, 6, 0.0000, NULL, NULL, 1, 2, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(10, 1, 'D', 'Sistema de gestión por procesos incompleto (85%)', 0.0500, 6, 0.0000, NULL, NULL, 1, 3, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(11, 1, 'D', 'Ausencia de productos segmentados por base social', 0.0500, 6, 0.0000, NULL, NULL, 1, 4, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(12, 1, 'D', 'Adopción digital baja (46.9% vs meta 60%)', 0.0500, 6, 0.0000, NULL, NULL, 1, 5, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(13, 1, 'D', 'Poca cobertura en medición de satisfacción (8.6%)', 0.0500, 6, 0.0000, NULL, NULL, 1, 6, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(14, 1, 'O', 'Mercado potencial importante en el sector empresarial', 0.0500, 6, 0.0000, NULL, NULL, 1, 1, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(15, 1, 'O', 'Herramientas tecnológicas e IA al alcance del sector', 0.0500, 6, 0.0000, NULL, NULL, 1, 2, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(16, 1, 'O', 'Modelo de outsourcing para vinculación de empresas', 0.0500, 6, 0.0000, NULL, NULL, 1, 3, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(17, 1, 'O', 'Mercado de convenios y alianzas estratégicas', 0.0500, 6, 0.0000, NULL, NULL, 1, 4, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(18, 1, 'O', 'Política pública favorable al sector solidario', 0.0500, 6, 0.0000, NULL, NULL, 1, 5, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(19, 1, 'O', 'Ley de vivienda con cobertura para el sector solidario', 0.0500, 6, 0.0000, NULL, NULL, 1, 6, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(20, 1, 'A', 'Normatividad SES sobre vínculo de asociatividad', 0.0500, 6, 0.0000, NULL, NULL, 1, 1, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(21, 1, 'A', 'Banca virtual y competencia fintech en crédito', 0.0500, 6, 0.0000, NULL, NULL, 1, 2, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(22, 1, 'A', 'Apatía al conocimiento del modelo solidario', 0.0500, 6, 0.0000, NULL, NULL, 1, 3, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(23, 1, 'A', 'Aumento en la regulación de entes de vigilancia', 0.0500, 6, 0.0000, NULL, NULL, 1, 4, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(24, 1, 'A', 'Sobreendeudamiento de asociados', 0.0500, 6, 0.0000, NULL, NULL, 1, 5, '2026-03-24 20:50:34', '2026-03-24 20:50:34'),
(25, 1, 'A', 'Inestabilidad política y social del país', 0.0500, 6, 0.0000, NULL, NULL, 1, 6, '2026-03-24 20:50:34', '2026-03-24 20:50:34');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `dofa_sessions`
--

CREATE TABLE `dofa_sessions` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `participant_ratings` json DEFAULT NULL,
  `consolidated` json DEFAULT NULL,
  `mefi_total` decimal(5,4) DEFAULT NULL,
  `mefe_total` decimal(5,4) DEFAULT NULL,
  `score_fo` decimal(8,4) DEFAULT NULL,
  `score_fa` decimal(8,4) DEFAULT NULL,
  `score_do` decimal(8,4) DEFAULT NULL,
  `score_da` decimal(8,4) DEFAULT NULL,
  `quadrant` enum('offensive','defensive','reorientation','survival') COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `ai_analysis` text COLLATE utf8mb4_unicode_ci,
  `status` enum('open','completed') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'open',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `initiatives`
--

CREATE TABLE `initiatives` (
  `id` bigint UNSIGNED NOT NULL,
  `key_result_id` bigint UNSIGNED NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `owner_id` bigint UNSIGNED DEFAULT NULL,
  `dependencies` json DEFAULT NULL,
  `start_date` date DEFAULT NULL,
  `due_date` date DEFAULT NULL,
  `status` enum('planned','active','done','cancelled') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'planned',
  `progress` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `queue` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `attempts` tinyint UNSIGNED NOT NULL,
  `reserved_at` int UNSIGNED DEFAULT NULL,
  `available_at` int UNSIGNED NOT NULL,
  `created_at` int UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `total_jobs` int NOT NULL,
  `pending_jobs` int NOT NULL,
  `failed_jobs` int NOT NULL,
  `failed_job_ids` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `options` mediumtext COLLATE utf8mb4_unicode_ci,
  `cancelled_at` int DEFAULT NULL,
  `created_at` int NOT NULL,
  `finished_at` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `key_results`
--

CREATE TABLE `key_results` (
  `id` bigint UNSIGNED NOT NULL,
  `objective_id` bigint UNSIGNED NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `metric` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `baseline` decimal(15,2) NOT NULL DEFAULT '0.00',
  `target` decimal(15,2) NOT NULL,
  `current` decimal(15,2) NOT NULL DEFAULT '0.00',
  `unit` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `owner_id` bigint UNSIGNED DEFAULT NULL,
  `score` decimal(5,4) NOT NULL DEFAULT '0.0000',
  `traffic_light` enum('red','yellow','green') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'red',
  `status` enum('draft','active','closed') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft',
  `due_date` date DEFAULT NULL,
  `order` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `live_sessions`
--

CREATE TABLE `live_sessions` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `type` enum('retiro1','retiro2','weekly','monthly','quarterly') COLLATE utf8mb4_unicode_ci NOT NULL,
  `current_block` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `block_number` int NOT NULL DEFAULT '0',
  `status` enum('waiting','active','paused','ended') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'waiting',
  `connected_users` json DEFAULT NULL,
  `session_log` json DEFAULT NULL,
  `voice_enabled` tinyint(1) NOT NULL DEFAULT '1',
  `facilitated_by` bigint UNSIGNED DEFAULT NULL,
  `started_at` timestamp NULL DEFAULT NULL,
  `ended_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `migrations`
--

CREATE TABLE `migrations` (
  `id` int UNSIGNED NOT NULL,
  `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `batch` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `migrations`
--

INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES
(1, '0001_01_01_000000_create_users_table', 1),
(2, '0001_01_01_000001_create_cache_table', 1),
(3, '0001_01_01_000002_create_jobs_table', 1),
(4, '2026_03_22_162458_add_two_factor_columns_to_users_table', 1),
(5, '2026_03_22_162509_create_personal_access_tokens_table', 1),
(6, '2026_03_22_162509_create_teams_table', 1),
(7, '2026_03_22_162510_create_team_user_table', 1),
(8, '2026_03_22_162511_create_team_invitations_table', 1),
(9, '2026_03_22_162812_create_permission_tables', 1),
(10, '2026_03_23_100000_create_organizations_table', 1),
(11, '2026_03_23_110000_create_projects_table', 1),
(12, '2026_03_23_120000_create_cycles_table', 1),
(13, '2026_03_23_130000_create_objectives_table', 1),
(14, '2026_03_23_140000_create_key_results_table', 1),
(15, '2026_03_23_150000_create_initiatives_table', 1),
(16, '2026_03_23_160000_create_dofa_factors_table', 1),
(17, '2026_03_23_170000_create_dofa_sessions_table', 1),
(18, '2026_03_23_180000_create_strategic_bets_table', 1),
(19, '2026_03_23_190000_create_check_ins_table', 1),
(20, '2026_03_23_200000_create_live_sessions_table', 1),
(21, '2026_03_23_210000_create_ai_messages_table', 1),
(22, '2026_03_24_100000_create_renunciations_table', 2),
(23, '2026_03_25_100000_create_playbook_table', 3),
(24, '2026_03_25_200000_add_performance_indexes', 4);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `model_has_permissions`
--

CREATE TABLE `model_has_permissions` (
  `permission_id` bigint UNSIGNED NOT NULL,
  `model_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_id` bigint UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `model_has_roles`
--

CREATE TABLE `model_has_roles` (
  `role_id` bigint UNSIGNED NOT NULL,
  `model_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `model_id` bigint UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `model_has_roles`
--

INSERT INTO `model_has_roles` (`role_id`, `model_type`, `model_id`) VALUES
(1, 'App\\Models\\User', 1),
(2, 'App\\Models\\User', 2);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `objectives`
--

CREATE TABLE `objectives` (
  `id` bigint UNSIGNED NOT NULL,
  `cycle_id` bigint UNSIGNED NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `level` enum('institutional','area') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'institutional',
  `area` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `owner_id` bigint UNSIGNED DEFAULT NULL,
  `weight` decimal(5,2) NOT NULL DEFAULT '1.00',
  `score` decimal(5,4) NOT NULL DEFAULT '0.0000',
  `status` enum('draft','active','closed') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft',
  `order` int NOT NULL DEFAULT '0',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `organizations`
--

CREATE TABLE `organizations` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `logo_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `slug` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `settings` json DEFAULT NULL,
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `organizations`
--

INSERT INTO `organizations` (`id`, `name`, `logo_url`, `slug`, `settings`, `active`, `created_at`, `updated_at`) VALUES
(1, 'Fondo de Empleados del Sector Empresarial Colombiano', NULL, 'fedef', NULL, 1, '2026-03-24 20:42:49', '2026-03-24 20:42:49');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `password_reset_tokens`
--

CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `permissions`
--

CREATE TABLE `permissions` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `permissions`
--

INSERT INTO `permissions` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'manage_organization', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(2, 'manage_projects', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(3, 'manage_users', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(4, 'facilitate_sessions', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(5, 'view_all_okrs', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(6, 'edit_okrs', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(7, 'submit_checkins', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(8, 'view_own_okrs', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(9, 'view_board_dashboard', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(10, 'use_ai_chat', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(11, 'control_voice', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(12, 'export_reports', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `personal_access_tokens`
--

CREATE TABLE `personal_access_tokens` (
  `id` bigint UNSIGNED NOT NULL,
  `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `tokenable_id` bigint UNSIGNED NOT NULL,
  `name` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
  `abilities` text COLLATE utf8mb4_unicode_ci,
  `last_used_at` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `playbook_sections`
--

CREATE TABLE `playbook_sections` (
  `id` bigint UNSIGNED NOT NULL,
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `icon` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 0xF09F9396,
  `content` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `order` int NOT NULL DEFAULT '0',
  `roles_visible` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `playbook_sections`
--

INSERT INTO `playbook_sections` (`id`, `key`, `title`, `icon`, `content`, `order`, `roles_visible`, `created_at`, `updated_at`) VALUES
(1, 'que_es_okr', '¿Qué son los OKRs?', '🎯', '## ¿Qué son los OKRs?\n\nOKR significa **Objectives and Key Results** (Objetivos y Resultados Clave). Es una metodología de gestión de estrategia creada en Intel por Andy Grove y popularizada por Google. John Doerr la describe en su libro *Measure What Matters* (2018).\n\n### Los 5 Superpoderes (FACTS)\n\n| Superpoder | Qué significa |\n|---|---|\n| **F**ocus (Enfoque) | 3-5 objetivos que realmente importan, no 20 |\n| **A**lignment (Alineación) | Todos conectados hacia los mismos resultados |\n| **C**ommitment (Compromiso) | Responsables claros con rendición de cuentas |\n| **T**racking (Seguimiento) | Medición continua con corrección temprana |\n| **S**tretching (Ambición) | Metas retadoras que impulsan crecimiento |\n\n### La diferencia con el BSC\n\nEl Balanced Scorecard planifica hacia adelante con métricas de control. Los OKRs son **hipótesis que se validan**: propones que si haces X, lograrás Y, y cada trimestre aprendes si tenías razón.\n\n### Regla de oro\n\nUn buen OKR tiene **60-70% de probabilidad de lograrse**. Si siempre llegas al 100%, tus metas no son lo suficientemente retadoras.', 1, '[\"consultor\", \"sponsor\", \"champion\", \"owner\", \"junta\"]', '2026-03-24 20:42:57', '2026-03-24 20:42:57'),
(2, 'scoring', 'Escala de scoring (0.0 a 1.0)', '📊', '## Escala de scoring Doerr\n\nEl score de cada Key Result se calcula así:\n\n```\nscore = (valor_actual - baseline) / (meta - baseline)\n```\n\nEl resultado siempre queda entre 0.0 y 1.0.\n\n### Semáforo\n\n| Score | Color | Significado |\n|---|---|---|\n| ≥ 0.70 | 🟢 Verde | Logrado — ¡pero 1.0 exacto puede indicar meta poco retadora! |\n| 0.40 – 0.69 | 🟡 Amarillo | En progreso — requiere atención |\n| < 0.40 | 🔴 Rojo | En riesgo — requiere acción inmediata |\n\n### Ejemplo práctico FEDEF\n\n**KR:** Aumentar la colocación de crédito del 49.3% al 60% de la cartera potencial\n\n- Baseline: 49.3%\n- Meta: 60%\n- Valor actual al check-in: 53%\n- **Score:** (53 - 49.3) / (60 - 49.3) = 3.7 / 10.7 = **0.35** 🔴\n\nEste KR está en rojo y requiere acción inmediata.\n\n### El score del Objetivo\n\nEl score del Objetivo es el promedio de todos sus KRs:\n\n```\nscore_objetivo = promedio(score_KR1, score_KR2, ..., score_KRn)\n```', 2, '[\"consultor\", \"champion\", \"owner\"]', '2026-03-24 20:42:57', '2026-03-24 20:42:57'),
(3, 'buenas_practicas_kr', 'Cómo escribir buenos Key Results', '✍️', '## Cómo escribir buenos Key Results\n\nUn buen KR tiene 4 características: es **medible**, es un **resultado** (no una tarea), es **retador** y tiene un **dueño claro**.\n\n### Prueba del Key Result\n\nAntes de aprobar un KR, hazle estas 4 preguntas:\n\n1. **¿Es medible?** ¿Puedes asignarle un número concreto?\n2. **¿Es un resultado?** ¿Describe qué cambia en el mundo, no qué harás?\n3. **¿Es retador?** ¿Tienes 60-70% de probabilidad de lograrlo?\n4. **¿Tiene dueño?** ¿Hay una persona específica responsable?\n\n### Ejemplos: malo vs bueno\n\n| ❌ Malo (tarea) | ✅ Bueno (resultado) |\n|---|---|\n| Implementar sistema de captación digital | Lograr que el 60% de los asociados usen canales digitales |\n| Hacer campañas de comunicación | Aumentar la satisfacción del asociado de 3.2 a 4.0 (encuesta NPS) |\n| Revisar el proceso de crédito | Reducir el tiempo de aprobación de crédito de 5 a 2 días hábiles |\n| Capacitar al equipo comercial | Aumentar la vinculación de nuevos asociados de 15 a 25 mensuales |\n\n### Regla de la \"semana pasada\"\n\nSi puedes decir \"la semana pasada hice esto\", es una tarea.\nSi dices \"la semana pasada LOGRAMOS esto\", es un resultado.', 3, '[\"consultor\", \"champion\", \"owner\"]', '2026-03-24 20:42:57', '2026-03-24 20:42:57'),
(4, 'cadencia_rituales', 'Cadencia y rituales OKR', '📅', '## Cadencia y rituales OKR de FEDEF\n\n### Ritual semanal — CFR (30 minutos)\n**Quién facilita:** OKR Champion\n**Quién participa:** Todo el equipo primario\n\n**Estructura:**\n1. Check-in de ánimo (1 palabra cada uno) — 5 min\n2. KRs en rojo — 2 minutos por KR — 10 min\n3. KRs en amarillo — 1 minuto cada uno — 7 min\n4. Reconocimientos — celebrar avances — 5 min\n5. Compromisos de la semana (máx 3, con dueño) — 3 min\n\n**Regla de oro del CFR:** No es una reunión de reporte. Es una conversación sobre qué está pasando y qué necesita cambiar.\n\n### Ritual mensual — Revisión gerencial (60 minutos)\n**Quién facilita:** Gerente (Sponsor)\n**Quién participa:** Directores + Champion\n\n**Estructura:**\n1. Dashboard con análisis de Claude — 15 min\n2. Revisión por objetivo: logros y bloqueos — 30 min\n3. Decisiones: ¿ajustamos metas? ¿cambiamos prioridades? — 10 min\n4. Próximos pasos — 5 min\n\n### Ritual trimestral — Retrospectiva (medio día)\n**Quién facilita:** OKR Champion + Consultor (primero)\n**Quién participa:** Todo el equipo + Junta\n\n**Estructura:**\n1. Análisis de Claude del ciclo — 30 min\n2. ¿Qué funcionó? — 30 min\n3. ¿Qué no funcionó y por qué? — 30 min\n4. Hipótesis validadas vs refutadas — 30 min\n5. Diseño del siguiente ciclo — 60 min\n\n### Cuándo NO tener reuniones OKR\n- Cuando el check-in ya está actualizado en la plataforma\n- Cuando todos los KRs están en verde\n- Para dar malas noticias (eso se hace directamente, no en el CFR)', 4, '[\"consultor\", \"champion\", \"owner\", \"sponsor\"]', '2026-03-24 20:42:57', '2026-03-24 20:42:57'),
(5, 'rol_champion', 'El OKR Champion: guía completa', '🏆', '## El OKR Champion\n\nEl Champion es el guardián de la metodología. No es el jefe de nadie — es el facilitador del sistema.\n\n### Responsabilidades semanales\n\n- [ ] Verificar que todos los owners ingresaron su check-in antes del CFR\n- [ ] Generar la agenda CFR con la IA (botón en el dashboard)\n- [ ] Facilitar la reunión CFR (30 minutos, máximo)\n- [ ] Registrar los compromisos en la plataforma\n- [ ] Alertar a la Gerencia si algún KR rojo no tiene plan de acción\n\n### Responsabilidades mensuales\n\n- [ ] Preparar el dashboard para la revisión gerencial\n- [ ] Generar el análisis mensual con IA\n- [ ] Revisar si hay KRs que necesitan ajuste de meta (con justificación)\n- [ ] Enviar el resumen semanal a todos los participantes\n\n### Responsabilidades trimestrales\n\n- [ ] Facilitar la retrospectiva trimestral\n- [ ] Asegurar que Claude genera el análisis del ciclo\n- [ ] Documentar las hipótesis validadas y refutadas\n- [ ] Liderar el diseño del siguiente ciclo\n\n### Lo que NO debe hacer el Champion\n\n- ❌ Hacer el check-in por otro — el owner siempre ingresa el suyo\n- ❌ Cambiar metas sin consenso del equipo\n- ❌ Cancelar el CFR porque \"no hay nada nuevo\" — siempre hay algo\n- ❌ Convertir el CFR en una reunión de estado de tareas\n\n### Señales de que el sistema está funcionando\n\n- Los owners ingresan su check-in sin que el Champion tenga que recordarles\n- Los KRs rojos tienen planes de acción documentados\n- El equipo debate en el CFR, no solo reporta\n- La Gerencia toma decisiones basadas en los scores, no en intuición', 5, '[\"consultor\", \"champion\"]', '2026-03-24 20:42:57', '2026-03-24 20:42:57'),
(6, 'preguntas_frecuentes', 'Preguntas frecuentes', '❓', '## Preguntas frecuentes\n\n**¿Qué hago si no voy a cumplir mi KR?**\nIngresa el check-in con el valor real y un nivel de confianza \"bajo\". Escribe una nota explicando qué está pasando. El Champion lo verá y lo pondrá en la agenda del próximo CFR.\n\n**¿Se puede cambiar la meta a mitad del trimestre?**\nSolo en casos excepcionales y con justificación documentada. Una meta que siempre se mueve no es una meta — es una estimación. El cambio debe pasar por el Champion y la Gerencia.\n\n**¿Qué significa un score de 1.0?**\nQue lograste exactamente la meta. Pero en la metodología Doerr, un 1.0 constante indica que tus metas no son suficientemente retadoras. El rango ideal de logro es 0.7-0.9.\n\n**¿Cuántos KRs puede tener un Objetivo?**\nEntre 2 y 5. Con más de 5 pierdes foco. Con menos de 2, probablemente no estás midiendo todo lo que importa.\n\n**¿Qué pasa si mi KR depende de otro departamento?**\nDocumentalo en la sección de \"dependencias\" de la iniciativa. En el CFR, el Champion facilita el alineamiento entre los owners.\n\n**¿La Junta Directiva puede cambiar los OKRs?**\nLa JD aprueba los OKRs institucionales. Puede sugerir ajustes, pero los cambios operativos los lidera el equipo directivo con el Champion.\n\n**¿Cada cuánto tiempo se revisan los OKRs con la IA?**\n- Check-in semanal: Claude no participa automáticamente, solo cuando el Champion genera la agenda CFR\n- Mensual: Claude genera el análisis automáticamente\n- Trimestral: Claude genera la retrospectiva completa\n- En cualquier momento: puedes preguntarle al chat de Claude', 6, '[\"consultor\", \"sponsor\", \"champion\", \"owner\", \"junta\"]', '2026-03-24 20:42:57', '2026-03-24 20:42:57');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `projects`
--

CREATE TABLE `projects` (
  `id` bigint UNSIGNED NOT NULL,
  `organization_id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci,
  `period_start` date NOT NULL,
  `period_end` date NOT NULL,
  `status` enum('setup','active','closed') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'setup',
  `methodology_settings` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `projects`
--

INSERT INTO `projects` (`id`, `organization_id`, `name`, `description`, `period_start`, `period_end`, `status`, `methodology_settings`, `created_at`, `updated_at`) VALUES
(1, 1, 'Plan Estratégico 2026-2028', NULL, '2026-01-01', '2028-12-31', 'active', NULL, '2026-03-24 20:42:49', '2026-03-24 20:42:49');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `renunciations`
--

CREATE TABLE `renunciations` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `description` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `justification` text COLLATE utf8mb4_unicode_ci,
  `votes_yes` int NOT NULL DEFAULT '0',
  `votes_no` int NOT NULL DEFAULT '0',
  `total_voters` int NOT NULL DEFAULT '0',
  `approval_rate` decimal(5,2) NOT NULL DEFAULT '0.00',
  `formalized` tinyint(1) NOT NULL DEFAULT '0',
  `threshold` decimal(5,2) NOT NULL DEFAULT '70.00',
  `proposed_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `renunciation_votes`
--

CREATE TABLE `renunciation_votes` (
  `id` bigint UNSIGNED NOT NULL,
  `renunciation_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `vote` tinyint(1) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `roles`
--

CREATE TABLE `roles` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `guard_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `roles`
--

INSERT INTO `roles` (`id`, `name`, `guard_name`, `created_at`, `updated_at`) VALUES
(1, 'consultor', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(2, 'sponsor', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(3, 'champion', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(4, 'owner', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47'),
(5, 'junta', 'web', '2026-03-22 16:50:47', '2026-03-22 16:50:47');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `role_has_permissions`
--

CREATE TABLE `role_has_permissions` (
  `permission_id` bigint UNSIGNED NOT NULL,
  `role_id` bigint UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `role_has_permissions`
--

INSERT INTO `role_has_permissions` (`permission_id`, `role_id`) VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 1),
(5, 1),
(6, 1),
(7, 1),
(8, 1),
(9, 1),
(10, 1),
(11, 1),
(12, 1),
(5, 2),
(6, 2),
(9, 2),
(10, 2),
(12, 2),
(5, 3),
(7, 3),
(10, 3),
(12, 3),
(7, 4),
(8, 4),
(10, 4),
(9, 5),
(10, 5);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `sessions`
--

CREATE TABLE `sessions` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` text COLLATE utf8mb4_unicode_ci,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `last_activity` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `strategic_bets`
--

CREATE TABLE `strategic_bets` (
  `id` bigint UNSIGNED NOT NULL,
  `project_id` bigint UNSIGNED NOT NULL,
  `hypothesis` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `capability` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `renunciation` text COLLATE utf8mb4_unicode_ci,
  `value_logic` text COLLATE utf8mb4_unicode_ci,
  `risks` text COLLATE utf8mb4_unicode_ci,
  `feasibility_avg` decimal(4,2) NOT NULL DEFAULT '0.00',
  `impact_avg` decimal(4,2) NOT NULL DEFAULT '0.00',
  `score` decimal(4,2) NOT NULL DEFAULT '0.00',
  `ai_validation` text COLLATE utf8mb4_unicode_ci,
  `status` enum('proposed','active','discarded') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'proposed',
  `proposed_by` bigint UNSIGNED DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `teams`
--

CREATE TABLE `teams` (
  `id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `personal_team` tinyint(1) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `teams`
--

INSERT INTO `teams` (`id`, `user_id`, `name`, `personal_team`, `created_at`, `updated_at`) VALUES
(1, 1, 'FYCLS', 1, '2026-03-24 21:09:19', '2026-03-24 21:09:19'),
(2, 2, 'FEDEF', 1, '2026-03-24 21:09:26', '2026-03-24 21:09:26');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `team_invitations`
--

CREATE TABLE `team_invitations` (
  `id` bigint UNSIGNED NOT NULL,
  `team_id` bigint UNSIGNED NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `role` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `team_user`
--

CREATE TABLE `team_user` (
  `id` bigint UNSIGNED NOT NULL,
  `team_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `role` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `team_user`
--

INSERT INTO `team_user` (`id`, `team_id`, `user_id`, `role`, `created_at`, `updated_at`) VALUES
(1, 1, 1, 'owner', '2026-03-24 21:09:19', '2026-03-24 21:09:19'),
(2, 2, 2, 'owner', '2026-03-24 21:09:26', '2026-03-24 21:09:26');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `users`
--

CREATE TABLE `users` (
  `id` bigint UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `two_factor_secret` text COLLATE utf8mb4_unicode_ci,
  `two_factor_recovery_codes` text COLLATE utf8mb4_unicode_ci,
  `two_factor_confirmed_at` timestamp NULL DEFAULT NULL,
  `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `current_team_id` bigint UNSIGNED DEFAULT NULL,
  `profile_photo_path` varchar(2048) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `users`
--

INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `two_factor_secret`, `two_factor_recovery_codes`, `two_factor_confirmed_at`, `remember_token`, `current_team_id`, `profile_photo_path`, `created_at`, `updated_at`) VALUES
(1, 'Consultor FYCLS', 'consultor@fycls.com', '2026-03-24 20:49:01', '$2y$12$g1w9Y5mYajCa9KBrYKanb.sq4TI6Z6giiWyMvjeTGSPBXq3tDrP9K', NULL, NULL, NULL, NULL, 1, NULL, '2026-03-24 20:49:01', '2026-03-24 21:09:19'),
(2, 'Natalia Forero Duran', 'gerente@fedef.com.co', '2026-03-24 20:50:34', '$2y$12$DMHW1oY3Y6RfmNFb88ZbGu3We4G2QEhsz9Tr8YHHFnrHKb3K8KD8i', NULL, NULL, NULL, NULL, 2, NULL, '2026-03-24 20:50:34', '2026-03-24 21:09:26');

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `ai_messages`
--
ALTER TABLE `ai_messages`
  ADD PRIMARY KEY (`id`),
  ADD KEY `ai_messages_live_session_id_foreign` (`live_session_id`),
  ADD KEY `ai_messages_user_id_foreign` (`user_id`),
  ADD KEY `ai_project_module` (`project_id`,`module`,`created_at`);

--
-- Indices de la tabla `aspirations`
--
ALTER TABLE `aspirations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `aspirations_project_id_foreign` (`project_id`),
  ADD KEY `aspirations_user_id_foreign` (`user_id`);

--
-- Indices de la tabla `bet_votes`
--
ALTER TABLE `bet_votes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `bet_votes_strategic_bet_id_user_id_unique` (`strategic_bet_id`,`user_id`),
  ADD KEY `bet_votes_user_id_foreign` (`user_id`);

--
-- Indices de la tabla `cache`
--
ALTER TABLE `cache`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_expiration_index` (`expiration`);

--
-- Indices de la tabla `cache_locks`
--
ALTER TABLE `cache_locks`
  ADD PRIMARY KEY (`key`),
  ADD KEY `cache_locks_expiration_index` (`expiration`);

--
-- Indices de la tabla `capabilities`
--
ALTER TABLE `capabilities`
  ADD PRIMARY KEY (`id`),
  ADD KEY `capabilities_project_id_foreign` (`project_id`),
  ADD KEY `capabilities_proposed_by_foreign` (`proposed_by`);

--
-- Indices de la tabla `capability_votes`
--
ALTER TABLE `capability_votes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `capability_votes_capability_id_user_id_unique` (`capability_id`,`user_id`),
  ADD KEY `capability_votes_user_id_foreign` (`user_id`);

--
-- Indices de la tabla `check_ins`
--
ALTER TABLE `check_ins`
  ADD PRIMARY KEY (`id`),
  ADD KEY `check_ins_user_id_foreign` (`user_id`),
  ADD KEY `checkin_week` (`key_result_id`,`week_number`,`year`);

--
-- Indices de la tabla `cycles`
--
ALTER TABLE `cycles`
  ADD PRIMARY KEY (`id`),
  ADD KEY `cycles_project_id_foreign` (`project_id`);

--
-- Indices de la tabla `dofa_factors`
--
ALTER TABLE `dofa_factors`
  ADD PRIMARY KEY (`id`),
  ADD KEY `dofa_factors_project_id_foreign` (`project_id`),
  ADD KEY `dofa_factors_created_by_foreign` (`created_by`);

--
-- Indices de la tabla `dofa_sessions`
--
ALTER TABLE `dofa_sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `dofa_sessions_project_id_foreign` (`project_id`);

--
-- Indices de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`);

--
-- Indices de la tabla `initiatives`
--
ALTER TABLE `initiatives`
  ADD PRIMARY KEY (`id`),
  ADD KEY `initiatives_key_result_id_foreign` (`key_result_id`),
  ADD KEY `initiatives_owner_id_foreign` (`owner_id`);

--
-- Indices de la tabla `jobs`
--
ALTER TABLE `jobs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `jobs_queue_index` (`queue`);

--
-- Indices de la tabla `job_batches`
--
ALTER TABLE `job_batches`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `key_results`
--
ALTER TABLE `key_results`
  ADD PRIMARY KEY (`id`),
  ADD KEY `kr_status_light` (`objective_id`,`status`,`traffic_light`),
  ADD KEY `kr_owner_status` (`owner_id`,`status`);

--
-- Indices de la tabla `live_sessions`
--
ALTER TABLE `live_sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `live_sessions_project_id_foreign` (`project_id`),
  ADD KEY `live_sessions_facilitated_by_foreign` (`facilitated_by`);

--
-- Indices de la tabla `migrations`
--
ALTER TABLE `migrations`
  ADD PRIMARY KEY (`id`);

--
-- Indices de la tabla `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`model_id`,`model_type`),
  ADD KEY `model_has_permissions_model_id_model_type_index` (`model_id`,`model_type`);

--
-- Indices de la tabla `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD PRIMARY KEY (`role_id`,`model_id`,`model_type`),
  ADD KEY `model_has_roles_model_id_model_type_index` (`model_id`,`model_type`);

--
-- Indices de la tabla `objectives`
--
ALTER TABLE `objectives`
  ADD PRIMARY KEY (`id`),
  ADD KEY `objectives_owner_id_foreign` (`owner_id`),
  ADD KEY `obj_cycle_level` (`cycle_id`,`level`,`status`);

--
-- Indices de la tabla `organizations`
--
ALTER TABLE `organizations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `organizations_slug_unique` (`slug`);

--
-- Indices de la tabla `password_reset_tokens`
--
ALTER TABLE `password_reset_tokens`
  ADD PRIMARY KEY (`email`);

--
-- Indices de la tabla `permissions`
--
ALTER TABLE `permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `permissions_name_guard_name_unique` (`name`,`guard_name`);

--
-- Indices de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
  ADD KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`),
  ADD KEY `personal_access_tokens_expires_at_index` (`expires_at`);

--
-- Indices de la tabla `playbook_sections`
--
ALTER TABLE `playbook_sections`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `playbook_sections_key_unique` (`key`);

--
-- Indices de la tabla `projects`
--
ALTER TABLE `projects`
  ADD PRIMARY KEY (`id`),
  ADD KEY `projects_organization_id_foreign` (`organization_id`);

--
-- Indices de la tabla `renunciations`
--
ALTER TABLE `renunciations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `renunciations_project_id_foreign` (`project_id`),
  ADD KEY `renunciations_proposed_by_foreign` (`proposed_by`);

--
-- Indices de la tabla `renunciation_votes`
--
ALTER TABLE `renunciation_votes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `renunciation_votes_renunciation_id_user_id_unique` (`renunciation_id`,`user_id`),
  ADD KEY `renunciation_votes_user_id_foreign` (`user_id`);

--
-- Indices de la tabla `roles`
--
ALTER TABLE `roles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `roles_name_guard_name_unique` (`name`,`guard_name`);

--
-- Indices de la tabla `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD PRIMARY KEY (`permission_id`,`role_id`),
  ADD KEY `role_has_permissions_role_id_foreign` (`role_id`);

--
-- Indices de la tabla `sessions`
--
ALTER TABLE `sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `sessions_user_id_index` (`user_id`),
  ADD KEY `sessions_last_activity_index` (`last_activity`);

--
-- Indices de la tabla `strategic_bets`
--
ALTER TABLE `strategic_bets`
  ADD PRIMARY KEY (`id`),
  ADD KEY `strategic_bets_project_id_foreign` (`project_id`),
  ADD KEY `strategic_bets_proposed_by_foreign` (`proposed_by`);

--
-- Indices de la tabla `teams`
--
ALTER TABLE `teams`
  ADD PRIMARY KEY (`id`),
  ADD KEY `teams_user_id_index` (`user_id`);

--
-- Indices de la tabla `team_invitations`
--
ALTER TABLE `team_invitations`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `team_invitations_team_id_email_unique` (`team_id`,`email`);

--
-- Indices de la tabla `team_user`
--
ALTER TABLE `team_user`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `team_user_team_id_user_id_unique` (`team_id`,`user_id`);

--
-- Indices de la tabla `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `users_email_unique` (`email`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `ai_messages`
--
ALTER TABLE `ai_messages`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `aspirations`
--
ALTER TABLE `aspirations`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `bet_votes`
--
ALTER TABLE `bet_votes`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `capabilities`
--
ALTER TABLE `capabilities`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `capability_votes`
--
ALTER TABLE `capability_votes`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `check_ins`
--
ALTER TABLE `check_ins`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `cycles`
--
ALTER TABLE `cycles`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `dofa_factors`
--
ALTER TABLE `dofa_factors`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=26;

--
-- AUTO_INCREMENT de la tabla `dofa_sessions`
--
ALTER TABLE `dofa_sessions`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `failed_jobs`
--
ALTER TABLE `failed_jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `initiatives`
--
ALTER TABLE `initiatives`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `jobs`
--
ALTER TABLE `jobs`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `key_results`
--
ALTER TABLE `key_results`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `live_sessions`
--
ALTER TABLE `live_sessions`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `migrations`
--
ALTER TABLE `migrations`
  MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25;

--
-- AUTO_INCREMENT de la tabla `objectives`
--
ALTER TABLE `objectives`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `organizations`
--
ALTER TABLE `organizations`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `permissions`
--
ALTER TABLE `permissions`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT de la tabla `personal_access_tokens`
--
ALTER TABLE `personal_access_tokens`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `playbook_sections`
--
ALTER TABLE `playbook_sections`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de la tabla `projects`
--
ALTER TABLE `projects`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `renunciations`
--
ALTER TABLE `renunciations`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `renunciation_votes`
--
ALTER TABLE `renunciation_votes`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `roles`
--
ALTER TABLE `roles`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT de la tabla `strategic_bets`
--
ALTER TABLE `strategic_bets`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `teams`
--
ALTER TABLE `teams`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `team_invitations`
--
ALTER TABLE `team_invitations`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `team_user`
--
ALTER TABLE `team_user`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `users`
--
ALTER TABLE `users`
  MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `ai_messages`
--
ALTER TABLE `ai_messages`
  ADD CONSTRAINT `ai_messages_live_session_id_foreign` FOREIGN KEY (`live_session_id`) REFERENCES `live_sessions` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `ai_messages_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `ai_messages_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `aspirations`
--
ALTER TABLE `aspirations`
  ADD CONSTRAINT `aspirations_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `aspirations_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `bet_votes`
--
ALTER TABLE `bet_votes`
  ADD CONSTRAINT `bet_votes_strategic_bet_id_foreign` FOREIGN KEY (`strategic_bet_id`) REFERENCES `strategic_bets` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `bet_votes_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `capabilities`
--
ALTER TABLE `capabilities`
  ADD CONSTRAINT `capabilities_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `capabilities_proposed_by_foreign` FOREIGN KEY (`proposed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `capability_votes`
--
ALTER TABLE `capability_votes`
  ADD CONSTRAINT `capability_votes_capability_id_foreign` FOREIGN KEY (`capability_id`) REFERENCES `capabilities` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `capability_votes_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `check_ins`
--
ALTER TABLE `check_ins`
  ADD CONSTRAINT `check_ins_key_result_id_foreign` FOREIGN KEY (`key_result_id`) REFERENCES `key_results` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `check_ins_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `cycles`
--
ALTER TABLE `cycles`
  ADD CONSTRAINT `cycles_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `dofa_factors`
--
ALTER TABLE `dofa_factors`
  ADD CONSTRAINT `dofa_factors_created_by_foreign` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `dofa_factors_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `dofa_sessions`
--
ALTER TABLE `dofa_sessions`
  ADD CONSTRAINT `dofa_sessions_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `initiatives`
--
ALTER TABLE `initiatives`
  ADD CONSTRAINT `initiatives_key_result_id_foreign` FOREIGN KEY (`key_result_id`) REFERENCES `key_results` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `initiatives_owner_id_foreign` FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `key_results`
--
ALTER TABLE `key_results`
  ADD CONSTRAINT `key_results_objective_id_foreign` FOREIGN KEY (`objective_id`) REFERENCES `objectives` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `key_results_owner_id_foreign` FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `live_sessions`
--
ALTER TABLE `live_sessions`
  ADD CONSTRAINT `live_sessions_facilitated_by_foreign` FOREIGN KEY (`facilitated_by`) REFERENCES `users` (`id`) ON DELETE SET NULL,
  ADD CONSTRAINT `live_sessions_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `model_has_permissions`
--
ALTER TABLE `model_has_permissions`
  ADD CONSTRAINT `model_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `model_has_roles`
--
ALTER TABLE `model_has_roles`
  ADD CONSTRAINT `model_has_roles_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `objectives`
--
ALTER TABLE `objectives`
  ADD CONSTRAINT `objectives_cycle_id_foreign` FOREIGN KEY (`cycle_id`) REFERENCES `cycles` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `objectives_owner_id_foreign` FOREIGN KEY (`owner_id`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `projects`
--
ALTER TABLE `projects`
  ADD CONSTRAINT `projects_organization_id_foreign` FOREIGN KEY (`organization_id`) REFERENCES `organizations` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `renunciations`
--
ALTER TABLE `renunciations`
  ADD CONSTRAINT `renunciations_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `renunciations_proposed_by_foreign` FOREIGN KEY (`proposed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `renunciation_votes`
--
ALTER TABLE `renunciation_votes`
  ADD CONSTRAINT `renunciation_votes_renunciation_id_foreign` FOREIGN KEY (`renunciation_id`) REFERENCES `renunciations` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `renunciation_votes_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `role_has_permissions`
--
ALTER TABLE `role_has_permissions`
  ADD CONSTRAINT `role_has_permissions_permission_id_foreign` FOREIGN KEY (`permission_id`) REFERENCES `permissions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `role_has_permissions_role_id_foreign` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `strategic_bets`
--
ALTER TABLE `strategic_bets`
  ADD CONSTRAINT `strategic_bets_project_id_foreign` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `strategic_bets_proposed_by_foreign` FOREIGN KEY (`proposed_by`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Filtros para la tabla `team_invitations`
--
ALTER TABLE `team_invitations`
  ADD CONSTRAINT `team_invitations_team_id_foreign` FOREIGN KEY (`team_id`) REFERENCES `teams` (`id`) ON DELETE CASCADE;
--
-- Base de datos: `evolucionamos_faber`
--
CREATE DATABASE IF NOT EXISTS `evolucionamos_faber` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
USE `evolucionamos_faber`;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `actividades`
--

CREATE TABLE `actividades` (
  `id` bigint UNSIGNED NOT NULL,
  `codigo` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `imagen` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `descripcion` longtext COLLATE utf8mb4_unicode_ci,
  `categoria_id` bigint UNSIGNED NOT NULL,
  `tipo_inscripcion` enum('individual_unica','individual_jornada','individual_ciclica','equipos','boletas') COLLATE utf8mb4_unicode_ci NOT NULL,
  `cobertura` enum('nacional','sucursal','multi_sucursal') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'nacional',
  `sucursales_permitidas` json DEFAULT NULL COMMENT 'IDs de sucursales si multi_sucursal',
  `sucursal_id` bigint UNSIGNED DEFAULT NULL,
  `sede_id` bigint UNSIGNED DEFAULT NULL,
  `fecha_inicio_inscripcion` datetime NOT NULL,
  `fecha_limite_inscripcion` datetime NOT NULL,
  `fecha_realizacion` datetime NOT NULL,
  `fecha_fin_realizacion` datetime DEFAULT NULL,
  `fecha_maxima_cancelacion` datetime NOT NULL,
  `cupos_totales` int NOT NULL,
  `cupos_disponibles` int NOT NULL,
  `cupos_minimos_equipo` int DEFAULT NULL,
  `cupos_maximos_equipo` int DEFAULT NULL,
  `costo` decimal(12,2) NOT NULL DEFAULT '0.00',
  `costo_unitario_asociado` decimal(12,2) NOT NULL DEFAULT '0.00',
  `multa_no_asistencia` decimal(12,2) NOT NULL DEFAULT '0.00',
  `requiere_aprobacion` tinyint(1) NOT NULL DEFAULT '0',
  `terminos_condiciones` longtext COLLATE utf8mb4_unicode_ci,
  `texto_confirmacion` text COLLATE utf8mb4_unicode_ci,
  `texto_lista_espera` text COLLATE utf8mb4_unicode_ci,
  `texto_cancelacion` text COLLATE utf8mb4_unicode_ci,
  `recomendaciones` text COLLATE utf8mb4_unicode_ci,
  `recordatorios_dias` json DEFAULT NULL COMMENT 'Array de días previos: [7,3,1]',
  `estado` enum('borrador','publicada','cerrada','finalizada','cancelada') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'borrador',
  `creada_por` bigint UNSIGNED DEFAULT NULL,
  `publicada_por` bigint UNSIGNED DEFAULT NULL,
  `publicada_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `actividades`
--

INSERT INTO `actividades` (`id`, `codigo`, `nombre`, `imagen`, `descripcion`, `categoria_id`, `tipo_inscripcion`, `cobertura`, `sucursales_permitidas`, `sucursal_id`, `sede_id`, `fecha_inicio_inscripcion`, `fecha_limite_inscripcion`, `fecha_realizacion`, `fecha_fin_realizacion`, `fecha_maxima_cancelacion`, `cupos_totales`, `cupos_disponibles`, `cupos_minimos_equipo`, `cupos_maximos_equipo`, `costo`, `costo_unitario_asociado`, `multa_no_asistencia`, `requiere_aprobacion`, `terminos_condiciones`, `texto_confirmacion`, `texto_lista_espera`, `texto_cancelacion`, `recomendaciones`, `recordatorios_dias`, `estado`, `creada_por`, `publicada_por`, `publicada_at`, `created_at`, `updated_at`, `deleted_at`) VALUES
(1, 'YOGA-001', 'Clase de Yoga al Amanecer', NULL, 'Actividad de bienestar para asociados.', 1, 'individual_unica', 'nacional', NULL, NULL, 1, '2026-05-18 11:25:52', '2026-06-04 11:25:52', '2026-06-09 11:25:52', NULL, '2026-06-07 11:25:52', 30, 28, NULL, NULL, 0.00, 0.00, 0.00, 0, 'Al inscribirte aceptas las políticas de bienestar y autorizas el uso de tu información para fines administrativos.', NULL, NULL, NULL, 'Trae ropa cómoda, tapete e hidratación.', '[7, 3, 1]', 'publicada', NULL, NULL, '2026-05-19 11:25:52', '2026-05-20 11:25:52', '2026-05-21 17:12:04', NULL),
(2, 'TALLER-002', 'Taller de Manejo del Estrés', NULL, 'Actividad de bienestar para asociados.', 1, 'individual_jornada', 'nacional', NULL, NULL, 1, '2026-05-18 11:25:52', '2026-06-04 11:25:52', '2026-06-09 11:25:52', NULL, '2026-06-07 11:25:52', 60, 59, NULL, NULL, 0.00, 0.00, 0.00, 0, 'Al inscribirte aceptas las políticas de bienestar y autorizas el uso de tu información para fines administrativos.', NULL, NULL, NULL, NULL, '[7, 3, 1]', 'publicada', NULL, NULL, '2026-05-19 11:25:52', '2026-05-20 11:25:52', '2026-05-21 15:43:30', NULL),
(3, 'PLAN-SALUD-003', 'Plan de Salud Preventiva', NULL, 'Actividad de bienestar para asociados.', 4, 'individual_ciclica', 'nacional', NULL, NULL, 1, '2026-05-18 11:25:52', '2026-06-04 11:25:52', '2026-06-09 11:25:52', NULL, '2026-06-07 11:25:52', 50, 49, NULL, NULL, 0.00, 0.00, 0.00, 0, 'Al inscribirte aceptas las políticas de bienestar y autorizas el uso de tu información para fines administrativos.', NULL, NULL, NULL, NULL, '[7, 3, 1]', 'publicada', NULL, NULL, '2026-05-19 11:25:52', '2026-05-20 11:25:52', '2026-05-21 16:13:46', NULL),
(4, 'TORNEO-004', 'Torneo de Fútbol Inter-Sucursales', NULL, 'Actividad de bienestar para asociados.', 2, 'equipos', 'nacional', NULL, NULL, 1, '2026-05-18 11:25:52', '2026-06-04 11:25:52', '2026-06-09 11:25:52', NULL, '2026-06-07 11:25:52', 80, 80, 5, 11, 0.00, 0.00, 0.00, 0, 'Al inscribirte aceptas las políticas de bienestar y autorizas el uso de tu información para fines administrativos.', NULL, NULL, NULL, NULL, '[7, 3, 1]', 'publicada', NULL, NULL, '2026-05-19 11:25:52', '2026-05-20 11:25:52', '2026-05-20 11:25:52', NULL),
(5, 'A', 'Ajedrez', NULL, 'A', 3, 'individual_unica', 'sucursal', NULL, 1, 2, '2026-05-20 16:06:00', '2026-05-22 16:06:00', '2026-05-24 16:06:00', NULL, '2026-05-22 16:07:00', 4, 3, 1, 1, 0.00, 39000.00, 0.00, 0, 'a', NULL, NULL, NULL, 'a', NULL, 'publicada', 20, 20, '2026-05-20 16:07:31', '2026-05-20 16:07:16', '2026-05-20 16:10:55', NULL),
(6, 'CNC', 'Concierto de aniversario', NULL, 'Texto ejemplo Concierto de aniversario', 3, 'individual_jornada', 'nacional', NULL, NULL, NULL, '2026-05-21 17:07:00', '2026-05-23 17:07:00', '2026-05-24 17:07:00', NULL, '2026-05-23 17:07:00', 2001, 2001, NULL, NULL, 0.00, 20000.00, 0.00, 1, 'Prueba concierto', NULL, NULL, NULL, 'Prueba concierto', NULL, 'publicada', 21, 21, '2026-05-21 17:09:05', '2026-05-21 17:08:43', '2026-05-21 17:09:05', NULL);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `boletas`
--

CREATE TABLE `boletas` (
  `id` bigint UNSIGNED NOT NULL,
  `actividad_id` bigint UNSIGNED NOT NULL,
  `codigo` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `precio` decimal(12,2) NOT NULL DEFAULT '0.00',
  `estado` enum('disponible','reservada','vendida','usada','anulada') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'disponible',
  `asignada_user_id` bigint UNSIGNED DEFAULT NULL,
  `inscripcion_id` bigint UNSIGNED DEFAULT NULL,
  `asignada_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache`
--

CREATE TABLE `cache` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `value` mediumtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `cache_locks`
--

CREATE TABLE `cache_locks` (
  `key` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `owner` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `expiration` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `categorias_actividad`
--

CREATE TABLE `categorias_actividad` (
  `id` bigint UNSIGNED NOT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `codigo` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `descripcion` text COLLATE utf8mb4_unicode_ci,
  `ciclica` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Aplica regla cíclica por periodo',
  `periodo_ciclico` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'anual, semestral, mensual',
  `activa` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `categorias_actividad`
--

INSERT INTO `categorias_actividad` (`id`, `nombre`, `codigo`, `descripcion`, `ciclica`, `periodo_ciclico`, `activa`, `created_at`, `updated_at`) VALUES
(1, 'Recreativa', 'recreativa', NULL, 0, NULL, 1, '2026-05-20 11:25:49', '2026-05-20 11:25:49'),
(2, 'Deportiva', 'deportiva', NULL, 0, NULL, 1, '2026-05-20 11:25:49', '2026-05-20 11:25:49'),
(3, 'Cultural', 'cultural', NULL, 0, NULL, 1, '2026-05-20 11:25:49', '2026-05-20 11:25:49'),
(4, 'Salud y bienestar', 'salud', NULL, 1, 'anual', 1, '2026-05-20 11:25:49', '2026-05-20 11:25:49'),
(5, 'Turismo', 'turismo', NULL, 1, 'anual', 1, '2026-05-20 11:25:49', '2026-05-20 11:25:49');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `equipos`
--

CREATE TABLE `equipos` (
  `id` bigint UNSIGNED NOT NULL,
  `actividad_id` bigint UNSIGNED NOT NULL,
  `lider_user_id` bigint UNSIGNED NOT NULL,
  `jornada_id` bigint UNSIGNED DEFAULT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `estado` enum('borrador','pendiente_aceptaciones','completo','aprobado','rechazado','cancelado') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'borrador',
  `notas` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `equipo_integrantes`
--

CREATE TABLE `equipo_integrantes` (
  `id` bigint UNSIGNED NOT NULL,
  `equipo_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `identificacion` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL,
  `nombre_completo` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `eps` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `condicion_especial` text COLLATE utf8mb4_unicode_ci COMMENT 'Discapacidad, condición médica',
  `es_lider` tinyint(1) NOT NULL DEFAULT '0',
  `estado_aceptacion` enum('pendiente','aceptado','rechazado') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pendiente',
  `validado_linix` tinyint(1) NOT NULL DEFAULT '0',
  `asociado_activo` tinyint(1) NOT NULL DEFAULT '0',
  `invitado_at` timestamp NULL DEFAULT NULL,
  `respondido_at` timestamp NULL DEFAULT NULL,
  `token_invitacion` varchar(80) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `failed_jobs`
--

CREATE TABLE `failed_jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `inscripciones`
--

CREATE TABLE `inscripciones` (
  `id` bigint UNSIGNED NOT NULL,
  `actividad_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `jornada_id` bigint UNSIGNED DEFAULT NULL,
  `equipo_id` bigint UNSIGNED DEFAULT NULL,
  `estado` enum('pendiente','confirmada','en_lista_espera','aprobada','negada','cancelada_asociado','cancelada_admin','finalizada','no_asistio') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'pendiente',
  `cantidad_boletas` int NOT NULL DEFAULT '1',
  `costo_total` decimal(12,2) NOT NULL DEFAULT '0.00',
  `terminos_aceptados` tinyint(1) NOT NULL DEFAULT '0',
  `terminos_aceptados_at` timestamp NULL DEFAULT NULL,
  `terminos_ip` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `confirmada_at` timestamp NULL DEFAULT NULL,
  `cancelada_at` timestamp NULL DEFAULT NULL,
  `motivo_cancelacion` text COLLATE utf8mb4_unicode_ci,
  `aprobada_por` bigint UNSIGNED DEFAULT NULL,
  `aprobada_at` timestamp NULL DEFAULT NULL,
  `motivo_negacion` text COLLATE utf8mb4_unicode_ci,
  `datos_adicionales` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `inscripciones`
--

INSERT INTO `inscripciones` (`id`, `actividad_id`, `user_id`, `jornada_id`, `equipo_id`, `estado`, `cantidad_boletas`, `costo_total`, `terminos_aceptados`, `terminos_aceptados_at`, `terminos_ip`, `confirmada_at`, `cancelada_at`, `motivo_cancelacion`, `aprobada_por`, `aprobada_at`, `motivo_negacion`, `datos_adicionales`, `created_at`, `updated_at`, `deleted_at`) VALUES
(1, 1, 22, NULL, NULL, 'confirmada', 1, 0.00, 1, '2026-05-20 16:09:51', '190.61.46.247', '2026-05-20 16:09:51', NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-20 16:09:51', '2026-05-20 16:09:51', NULL),
(2, 5, 31, NULL, NULL, 'confirmada', 1, 39000.00, 1, '2026-05-20 16:10:55', '190.61.46.247', '2026-05-20 16:10:55', NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-20 16:10:55', '2026-05-20 16:10:55', NULL),
(3, 2, 22, 1, NULL, 'confirmada', 1, 0.00, 1, '2026-05-21 15:43:30', '190.61.46.247', '2026-05-21 15:43:30', NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-21 15:43:30', '2026-05-21 15:43:30', NULL),
(4, 3, 22, NULL, NULL, 'confirmada', 1, 0.00, 1, '2026-05-21 16:13:46', '190.61.46.247', '2026-05-21 16:13:46', NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-21 16:13:46', '2026-05-21 16:13:46', NULL),
(5, 1, 24, NULL, NULL, 'confirmada', 1, 0.00, 1, '2026-05-21 17:12:04', '190.61.46.247', '2026-05-21 17:12:04', NULL, NULL, NULL, NULL, NULL, NULL, '2026-05-21 17:12:04', '2026-05-21 17:12:04', NULL);

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `inscripcion_estados_historial`
--

CREATE TABLE `inscripcion_estados_historial` (
  `id` bigint UNSIGNED NOT NULL,
  `inscripcion_id` bigint UNSIGNED NOT NULL,
  `estado_anterior` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `estado_nuevo` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `cambiado_por` bigint UNSIGNED DEFAULT NULL,
  `observacion` text COLLATE utf8mb4_unicode_ci,
  `cambiado_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `inscripcion_estados_historial`
--

INSERT INTO `inscripcion_estados_historial` (`id`, `inscripcion_id`, `estado_anterior`, `estado_nuevo`, `cambiado_por`, `observacion`, `cambiado_at`) VALUES
(1, 1, NULL, 'confirmada', 22, 'Inscripción creada', '2026-05-20 16:09:51'),
(2, 2, NULL, 'confirmada', 31, 'Inscripción creada', '2026-05-20 16:10:55'),
(3, 3, NULL, 'confirmada', 22, 'Inscripción creada', '2026-05-21 15:43:30'),
(4, 4, NULL, 'confirmada', 22, 'Inscripción creada', '2026-05-21 16:13:46'),
(5, 5, NULL, 'confirmada', 24, 'Inscripción creada', '2026-05-21 17:12:04');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `jobs`
--

CREATE TABLE `jobs` (
  `id` bigint UNSIGNED NOT NULL,
  `queue` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `attempts` tinyint UNSIGNED NOT NULL,
  `reserved_at` int UNSIGNED DEFAULT NULL,
  `available_at` int UNSIGNED NOT NULL,
  `created_at` int UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `job_batches`
--

CREATE TABLE `job_batches` (
  `id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `total_jobs` int NOT NULL,
  `pending_jobs` int NOT NULL,
  `failed_jobs` int NOT NULL,
  `failed_job_ids` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
  `options` mediumtext COLLATE utf8mb4_unicode_ci,
  `cancelled_at` int DEFAULT NULL,
  `created_at` int NOT NULL,
  `finished_at` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `jornadas`
--

CREATE TABLE `jornadas` (
  `id` bigint UNSIGNED NOT NULL,
  `actividad_id` bigint UNSIGNED NOT NULL,
  `sede_id` bigint UNSIGNED DEFAULT NULL,
  `nombre` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Ej: "Mañana 9-11", "Sede Chapinero AM"',
  `fecha` date NOT NULL,
  `hora_inicio` time NOT NULL,
  `hora_fin` time DEFAULT NULL,
  `cupos_totales` int NOT NULL,
  `cupos_disponibles` int NOT NULL,
  `activa` tinyint(1) NOT NULL DEFAULT '1',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `jornadas`
--

INSERT INTO `jornadas` (`id`, `actividad_id`, `sede_id`, `nombre`, `fecha`, `hora_inicio`, `hora_fin`, `cupos_totales`, `cupos_disponibles`, `activa`, `created_at`, `updated_at`) VALUES
(1, 2, 1, 'Jornada 1', '2026-06-10', '09:00:00', '11:00:00', 20, 19, 1, '2026-05-20 11:25:52', '2026-05-21 15:43:30'),
(2, 2, 1, 'Jornada 3', '2026-06-12', '09:00:00', '11:00:00', 20, 20, 1, '2026-05-20 11:25:52', '2026-05-20 11:25:52'),
(3, 2, 1, 'Jornada 5', '2026-06-14', '09:00:00', '11:00:00', 20, 20, 1, '2026-05-20 11:25:52', '2026-05-20 11:25:52');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `lista_espera`
--

CREATE TABLE `lista_espera` (
  `id` bigint UNSIGNED NOT NULL,
  `actividad_id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED NOT NULL,
  `jornada_id` bigint UNSIGNED DEFAULT NULL,
  `posicion` int NOT NULL,
  `ingreso_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `estado` enum('en_espera','asignada','descartada','expirada') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'en_espera',
  `inscripcion_id` bigint UNSIGNED DEFAULT NULL,
  `asignada_por` bigint UNSIGNED DEFAULT NULL,
  `asignada_at` timestamp NULL DEFAULT NULL,
  `notificada_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `logs_acceso`
--

CREATE TABLE `logs_acceso` (
  `id` bigint UNSIGNED NOT NULL,
  `user_id` bigint UNSIGNED DEFAULT NULL,
  `identificacion` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `email` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `resultado` enum('exitoso','fallido','otp_pendiente','otp_fallido','bloqueado') COLLATE utf8mb4_unicode_ci NOT NULL,
  `ip` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `user_agent` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `detalle` text COLLATE utf8mb4_unicode_ci,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- Volcado de datos para la tabla `logs_acceso`
--

INSERT INTO `logs_acceso` (`id`, `user_id`, `identificacion`, `email`, `resultado`, `ip`, `user_agent`, `detalle`, `created_at`) VALUES
(1, NULL, '1000000001', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:20:33'),
(2, NULL, '1000000101-110', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:20:59'),
(3, NULL, '1000000101', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:21:48'),
(4, NULL, '1000000101', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:26:34'),
(5, NULL, '1000000001', 'superadmin@bienestar.test', 'bloqueado', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Asociado inactivo', '2026-05-20 16:28:06'),
(6, NULL, '1000000101', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:31:51'),
(7, NULL, '1000000101-110', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:34:09'),
(8, NULL, '1000000010', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:56:46'),
(9, NULL, '1000000020', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:57:48'),
(10, NULL, '1000000030', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 16:58:32'),
(11, NULL, '1000000010', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 17:21:17'),
(12, NULL, '1000000010', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 17:21:42'),
(13, NULL, '1000000020', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-05-20 17:21:55'),
(14, NULL, '1000000010', 'superadmin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 17:27:12'),
(15, NULL, '1000000010', 'superadmin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 17:27:23'),
(16, NULL, '1000000030', 'comunicaciones@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 17:30:57'),
(17, NULL, '1000000030', 'comunicaciones@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 17:31:17'),
(18, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 19:15:52'),
(19, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 19:15:54'),
(20, 19, '1000000010', 'superadmin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:47:17'),
(21, 19, '1000000010', 'superadmin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:47:22'),
(22, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:48:16'),
(23, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:48:18'),
(24, 21, '1000000030', 'comunicaciones@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:50:28'),
(25, 21, '1000000030', 'comunicaciones@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:50:31'),
(26, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:52:58'),
(27, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 20:53:02'),
(28, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:09:23'),
(29, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:09:25'),
(30, 31, '1000000120', 'asociado10@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:10:34'),
(31, 31, '1000000120', 'asociado10@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:10:36'),
(32, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:11:23'),
(33, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:11:25'),
(34, 19, '1000000010', 'superadmin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:14:11'),
(35, 19, '1000000010', 'superadmin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-20 21:14:13'),
(36, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 20:42:46'),
(37, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 20:42:49'),
(38, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 20:43:52'),
(39, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 20:43:54'),
(40, 21, '1000000030', 'comunicaciones@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 20:48:27'),
(41, 21, '1000000030', 'comunicaciones@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 20:48:29'),
(42, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:13:26'),
(43, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:13:27'),
(44, 21, '1000000030', 'comunicaciones@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:14:09'),
(45, 21, '1000000030', 'comunicaciones@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:14:11'),
(46, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:15:19'),
(47, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:15:20'),
(48, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:20:36'),
(49, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:20:38'),
(50, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:28:26'),
(51, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:28:34'),
(52, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:36:52'),
(53, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 21:36:53'),
(54, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:01:07'),
(55, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:01:09'),
(56, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:01:56'),
(57, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:01:57'),
(58, 21, '1000000030', 'comunicaciones@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:02:30'),
(59, 21, '1000000030', 'comunicaciones@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:02:32'),
(60, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:09:56'),
(61, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:09:58'),
(62, 24, '1000000106', 'asociado3@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:11:44'),
(63, 24, '1000000106', 'asociado3@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:11:45'),
(64, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:12:38'),
(65, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:12:39'),
(66, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:15:19'),
(67, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:15:21'),
(68, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:19:27'),
(69, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:19:28'),
(70, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:33:40'),
(71, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:33:43'),
(72, 20, '1000000020', 'admin@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:34:03'),
(73, 20, '1000000020', 'admin@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:34:05'),
(74, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:37:58'),
(75, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-21 22:38:00'),
(76, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-22 18:54:36'),
(77, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-05-22 18:54:44'),
(78, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:41:16'),
(79, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:41:20'),
(80, 23, '1000000104', 'asociado2@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:42:06'),
(81, 23, '1000000104', 'asociado2@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:42:08'),
(82, NULL, '1000000101', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-06-04 22:42:37'),
(83, NULL, '1000000101', NULL, 'fallido', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', 'Credenciales inválidas', '2026-06-04 22:42:48'),
(84, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:42:55'),
(85, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:42:57'),
(86, 22, '1000000102', 'asociado1@bienestar.test', 'otp_pendiente', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:43:49'),
(87, 22, '1000000102', 'asociado1@bienestar.test', 'exitoso', '190.61.46.247', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36', NULL, '2026-06-04 22:43:52');

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `logs_linix`
--

