-- https://www.phpmyadmin.net/
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 07-04-2026 a las 08:11:11
-- Versión del servidor: 10.4.32-MariaDB
-- Versión de PHP: 8.0.30

START TRANSACTION;



--
-- Base de datos: `db_diplomatic`
--

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

--
-- Estructura de tabla para la tabla `tbl_academic_offerings`
--

CREATE TABLE `tbl_academic_offerings` (
  `id` int(11) NOT NULL,
  `diploma_id` int(11) NOT NULL,
  `cohort_id` int(11) NOT NULL,
  `total_capacity` int(11) NOT NULL DEFAULT 0,
  `enrolled_count` int(11) NOT NULL DEFAULT 0,
  `registration_start` date NOT NULL,
  `registration_end` date NOT NULL,
  `class_start` date NOT NULL,
  `class_end` date NOT NULL,
  `general_modality` enum('Presencial','Virtual','Mixta') NOT NULL,
  `total_cost` decimal(12,2) NOT NULL,
  `currency_code` varchar(5) DEFAULT 'USD',
  `status` enum('BORRADOR','ABIERTA','CERRADA','SUSPENDIDA','CANCELADA') DEFAULT 'BORRADOR',
  `description` text DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT 1,
  `created_by` int(10) UNSIGNED NOT NULL,
  `updated_by` int(10) UNSIGNED DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `tbl_academic_offerings` (`id`, `diploma_id`, `cohort_id`, `total_capacity`, `enrolled_count`, `registration_start`, `registration_end`, `class_start`, `class_end`, `general_modality`, `total_cost`, `currency_code`, `status`, `description`, `is_active`, `created_by`, `updated_by`, `created_at`, `updated_at`) VALUES
(6, 1, 1, 10, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 180.00, 'USD', 'ABIERTA', 'Description', 1, 1, 1, '2026-03-05 16:19:29', '2026-04-05 12:25:40'),
(11, 2, 1, 16, 0, '2026-01-01', '2026-01-15', '2026-01-16', '2026-05-30', 'Presencial', 180.00, 'USD', 'ABIERTA', '', 1, 1, 1, '2026-03-05 17:11:54', '2026-04-03 02:13:43'),
(14, 8, 1, 99, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 180.00, 'USD', 'BORRADOR', 'Presencial', 0, 1, 1, '2026-03-05 19:27:23', '2026-03-05 22:00:59'),
(17, 8, 6, 20, 0, '2026-03-02', '2026-03-08', '2026-03-09', '2026-03-30', 'Presencial', 180.00, 'USD', 'BORRADOR', 'Oferta Ejemplo', 0, 1, 1, '2026-03-05 22:09:09', '2026-03-05 22:28:26'),
(18, 8, 1, 30, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 180.00, 'USD', 'BORRADOR', '', 0, 1, 1, '2026-03-09 23:13:30', '2026-03-10 01:57:02'),
(19, 8, 1, 9, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 180.00, 'USD', 'CANCELADA', '', 0, 1, 1, '2026-03-10 03:17:41', '2026-03-10 03:18:29'),
(20, 8, 1, 20, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 120.00, 'USD', 'CANCELADA', '', 0, 1, 1, '2026-03-10 03:19:49', '2026-03-10 03:22:12'),
(21, 8, 1, 30, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 120.00, 'USD', 'CANCELADA', '', 0, 1, 1, '2026-03-10 03:22:34', '2026-03-10 03:26:24'),
(22, 8, 1, 20, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 120.00, 'USD', 'ABIERTA', '', 1, 1, 1, '2026-03-10 03:32:14', '2026-03-30 02:56:11'),
(23, 9, 1, 99, 0, '2026-01-01', '2026-02-15', '2026-01-01', '2026-05-30', 'Presencial', 180.00, 'USD', 'ABIERTA', '', 1, 1, 1, '2026-03-17 02:29:43', '2026-04-03 02:13:43');

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

--
-- Estructura de tabla para la tabla `tbl_academic_offering_campuses`
--

CREATE TABLE `tbl_academic_offering_campuses` (
  `id` int(11) NOT NULL,
  `offering_id` int(11) NOT NULL,
  `campus_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_academic_offering_campuses` (`id`, `offering_id`, `campus_id`) VALUES
(115, 14, 1),
(116, 14, 2),
(117, 17, 1),
(118, 17, 2),
(119, 17, 3),
(120, 17, 4),
(121, 18, 1),
(122, 18, 2),
(123, 18, 3),
(154, 19, 1),
(155, 19, 2),
(156, 19, 3),
(157, 20, 1),
(158, 20, 2),
(159, 20, 3),
(160, 21, 1),
(164, 6, 1),
(165, 6, 2),
(166, 22, 1),
(167, 22, 2),
(168, 22, 3),
(176, 23, 1),
(177, 11, 1),
(178, 11, 2),
(179, 11, 3);

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

--
-- Estructura de tabla para la tabla `tbl_academic_offering_groups`
--

CREATE TABLE `tbl_academic_offering_groups` (
  `id` int(11) NOT NULL,
  `offering_id` int(11) NOT NULL,
  `group_id` int(11) NOT NULL,
  `schedule_info` varchar(255) DEFAULT NULL,
  `is_enabled` tinyint(1) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_academic_offering_groups` (`id`, `offering_id`, `group_id`, `schedule_info`, `is_enabled`) VALUES
(93, 14, 1, '', 1),
(94, 14, 2, '', 1),
(95, 17, 1, NULL, 1),
(96, 18, 1, NULL, 1),
(97, 18, 2, NULL, 1),
(116, 19, 1, NULL, 1),
(117, 20, 1, NULL, 1),
(118, 20, 2, NULL, 1),
(119, 21, 1, NULL, 1),
(120, 21, 2, NULL, 1),
(123, 6, 1, NULL, 1),
(124, 6, 2, NULL, 1),
(125, 22, 1, NULL, 1),
(126, 22, 2, NULL, 1),
(133, 23, 1, NULL, 1),
(134, 23, 2, NULL, 1),
(135, 11, 1, NULL, 1),
(136, 11, 3, NULL, 1);

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

--
-- Estructura de tabla para la tabla `tbl_academic_offering_payment_plans`
--

CREATE TABLE `tbl_academic_offering_payment_plans` (
  `id` int(11) NOT NULL,
  `offering_id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `amount` decimal(12,2) NOT NULL DEFAULT 0.00,
  `due_date` date DEFAULT NULL,
  `notes` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_academic_offering_payment_plans` (`id`, `offering_id`, `name`, `amount`, `due_date`, `notes`) VALUES
(243, 14, 'INSCRIPCIÓN ((debe ser cancelada al momento de inscripción)) ((debe ser cancelada al momento de in', 30.00, NULL, NULL),
(244, 14, 'CUOTA 1', 30.00, NULL, NULL),
(245, 14, 'CUOTA 2', 30.00, NULL, NULL),
(246, 14, 'CUOTA 3', 30.00, NULL, NULL),
(247, 14, 'CUOTA 4', 30.00, NULL, NULL),
(248, 14, 'CUOTA 5', 30.00, NULL, NULL),
(249, 17, 'INSCRIPCIÓN', 30.00, NULL, ''),
(250, 17, 'CUOTA 1', 30.00, NULL, ''),
(251, 17, 'CUOTA 2', 30.00, NULL, ''),
(252, 17, 'CUOTA 3', 30.00, NULL, ''),
(253, 17, 'CUOTA 4', 30.00, NULL, ''),
(254, 17, 'CUOTA 5', 30.00, NULL, ''),
(255, 18, 'INSCRIPCIÓN', 30.00, NULL, ''),
(256, 18, 'CUOTA 1', 30.00, NULL, ''),
(257, 18, 'CUOTA 2', 30.00, NULL, ''),
(258, 18, 'CUOTA 3', 30.00, NULL, ''),
(259, 18, 'CUOTA 4', 30.00, NULL, ''),
(260, 18, 'CUOTA 5', 30.00, NULL, ''),
(321, 19, 'INSCRIPCIÓN', 30.00, NULL, ''),
(322, 19, 'CUOTA 1', 30.00, NULL, ''),
(323, 19, 'CUOTA 2', 30.00, NULL, ''),
(324, 19, 'CUOTA 3', 30.00, NULL, ''),
(325, 19, 'CUOTA 4', 30.00, NULL, ''),
(326, 19, 'CUOTA 5', 30.00, NULL, ''),
(327, 20, 'INSCRIPCIÓN', 30.00, NULL, ''),
(328, 20, 'CUOTA 1', 18.00, NULL, ''),
(329, 20, 'CUOTA 2', 18.00, NULL, ''),
(330, 20, 'CUOTA 3', 18.00, NULL, ''),
(331, 20, 'CUOTA 4', 18.00, NULL, ''),
(332, 20, 'CUOTA 5', 18.00, NULL, ''),
(333, 21, 'INSCRIPCIÓN', 30.00, NULL, ''),
(334, 21, 'CUOTA 1', 18.00, NULL, ''),
(335, 21, 'CUOTA 2', 18.00, NULL, ''),
(336, 21, 'CUOTA 3', 18.00, NULL, ''),
(337, 21, 'CUOTA 4', 18.00, NULL, ''),
(338, 21, 'CUOTA 5', 18.00, NULL, ''),
(345, 6, 'INSCRIPCIÓN', 30.00, '2026-03-15', ''),
(346, 6, 'CUOTA 1', 30.00, '2026-03-15', ''),
(347, 6, 'CUOTA 2', 30.00, '2026-03-15', ''),
(348, 6, 'CUOTA 3', 30.00, '2026-03-15', ''),
(349, 6, 'CUOTA 4', 30.00, '2026-03-15', ''),
(350, 6, 'CUOTA 5', 30.00, '2026-03-15', ''),
(351, 22, 'INSCRIPCIÓN', 30.00, NULL, ''),
(352, 22, 'CUOTA 1', 18.00, NULL, ''),
(353, 22, 'CUOTA 2', 18.00, NULL, ''),
(354, 22, 'CUOTA 3', 18.00, NULL, ''),
(355, 22, 'CUOTA 4', 18.00, NULL, ''),
(356, 22, 'CUOTA 5', 18.00, NULL, ''),
(375, 23, 'INSCRIPCIÓN', 30.00, '2026-03-23', 'INSCRIPCION'),
(376, 23, 'CUOTA 1', 30.00, '2026-03-23', 'Segundo Pago'),
(377, 23, 'CUOTA 2', 30.00, '2026-03-30', 'Tercer Pago'),
(378, 23, 'CUOTA 3', 30.00, '2026-04-06', 'Cuarto Pago'),
(379, 23, 'CUOTA 4', 30.00, '2026-04-13', 'Quinto Pago'),
(380, 23, 'CUOTA 5', 30.00, '2026-04-20', 'Sexto Pago'),
(381, 11, 'INSCRIPCIÓN', 30.00, '2026-03-26', ''),
(382, 11, 'CUOTA 1', 30.00, '2026-04-02', ''),
(383, 11, 'CUOTA 2', 30.00, '2026-04-16', ''),
(384, 11, 'CUOTA 3', 30.00, '2026-04-23', ''),
(385, 11, 'CUOTA 4', 30.00, '2026-04-30', ''),
(386, 11, 'CUOTA 5', 30.00, '2026-05-07', '');

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

--
-- Estructura de tabla para la tabla `tbl_academic_offering_professors`
--

CREATE TABLE `tbl_academic_offering_professors` (
  `id` int(11) NOT NULL,
  `offering_id` int(11) NOT NULL,
  `professor_id` int(11) NOT NULL,
  `role` enum('PRINCIPAL','INVITADO','ASISTENTE','COORDINADOR') DEFAULT 'PRINCIPAL'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_academic_offering_professors` (`id`, `offering_id`, `professor_id`, `role`) VALUES
(73, 14, 7, 'PRINCIPAL'),
(74, 17, 7, 'PRINCIPAL'),
(75, 18, 7, 'PRINCIPAL'),
(76, 18, 3, 'PRINCIPAL'),
(77, 18, 6, 'PRINCIPAL'),
(78, 18, 2, 'PRINCIPAL'),
(99, 19, 6, 'PRINCIPAL'),
(100, 19, 3, 'PRINCIPAL'),
(101, 20, 2, 'PRINCIPAL'),
(102, 20, 7, 'PRINCIPAL'),
(103, 21, 6, 'PRINCIPAL'),
(104, 21, 3, 'PRINCIPAL'),
(107, 6, 2, 'PRINCIPAL'),
(108, 6, 3, 'INVITADO'),
(109, 22, 2, 'PRINCIPAL'),
(110, 22, 7, 'PRINCIPAL'),
(117, 23, 3, 'PRINCIPAL'),
(118, 23, 7, 'PRINCIPAL'),
(119, 11, 7, 'PRINCIPAL'),
(120, 11, 3, 'PRINCIPAL');

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

--
-- Estructura de tabla para la tabla `tbl_campuses`
--

CREATE TABLE `tbl_campuses` (
  `id` int(11) NOT NULL,
  `name` varchar(150) NOT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_campuses` (`id`, `name`, `is_active`, `created_at`, `updated_at`) VALUES
(1, 'Decanato de Ciencias de la Salud', 1, '2026-03-02 12:51:05', NULL),
(2, 'Sede Principal Barquisimeto', 1, '2026-03-02 12:51:05', NULL),
(3, 'Extensión Cabudare', 1, '2026-03-02 12:51:05', NULL),
(4, 'Campus Virtual', 1, '2026-03-02 12:51:05', NULL);

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

--
-- Estructura de tabla para la tabla `tbl_cohortes`
--

CREATE TABLE `tbl_cohortes` (
  `id` int(11) NOT NULL,
  `diplomado_id` int(11) DEFAULT NULL,
  `cohort_code` varchar(20) NOT NULL COMMENT 'Código institucional (ej: 2026-I)',
  `name` varchar(100) NOT NULL COMMENT 'Nombre descriptivo del periodo',
  `start_date` date NOT NULL COMMENT 'Inicio oficial del periodo académico',
  `end_date` date NOT NULL COMMENT 'Fin oficial del periodo académico',
  `enrollment_start` date DEFAULT NULL COMMENT 'Inicio de ventana de inscripción',
  `enrollment_end` date DEFAULT NULL COMMENT 'Cierre de ventana de inscripción',
  `description` text DEFAULT NULL,
  `base_campus` varchar(150) DEFAULT NULL COMMENT 'Sede base institucional',
  `cohort_status` enum('Planificada','En curso','Finalizada','Reabierta','Suspendida','Cancelada') NOT NULL DEFAULT 'Planificada',
  `is_active` tinyint(1) DEFAULT 1,
  `created_by` int(10) UNSIGNED DEFAULT NULL,
  `updated_by` int(10) UNSIGNED DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `tbl_cohortes` (`id`, `diplomado_id`, `cohort_code`, `name`, `start_date`, `end_date`, `enrollment_start`, `enrollment_end`, `description`, `base_campus`, `cohort_status`, `is_active`, `created_by`, `updated_by`, `created_at`, `updated_at`) VALUES
(1, NULL, '2026-I', 'Cohorte ENERO - MAYO - 2026', '2026-01-01', '2026-05-30', '2026-01-01', '2026-02-15', 'Notas de la Cohorte', 'Decanato de Ciencias de la Salud', 'Planificada', 1, 1, 1, '2026-02-18 11:54:35', '2026-03-10 03:36:13'),
(6, NULL, '2026-EJEMPLO', 'COHORTE EJEMPLO', '2026-03-09', '2026-03-30', '2026-03-02', '2026-03-08', 'EJEMPLO', NULL, 'Planificada', 0, 1, 1, '2026-03-05 22:08:15', '2026-03-05 22:28:39');

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

--
-- Estructura de tabla para la tabla `tbl_cohort_campuses`
--

CREATE TABLE `tbl_cohort_campuses` (
  `cohort_id` int(11) NOT NULL,
  `campus_id` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_cohort_campuses` (`cohort_id`, `campus_id`) VALUES
(1, 1),
(1, 2),
(1, 3),
(6, 1),
(6, 2),
(6, 3),
(6, 4);

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

--
-- Estructura de tabla para la tabla `tbl_company_settings`
--

CREATE TABLE `tbl_company_settings` (
  `id` int(11) NOT NULL,
  `nombre_legal` varchar(255) DEFAULT NULL,
  `nombre_comercial` varchar(255) DEFAULT NULL,
  `siglas_estudiantes` varchar(5) DEFAULT 'DCS',
  `id_fiscal` varchar(100) DEFAULT NULL,
  `direccion` text DEFAULT NULL,
  `telefono` varchar(50) DEFAULT NULL,
  `email` varchar(150) DEFAULT NULL,
  `sitio_web` varchar(255) DEFAULT NULL,
  `representante` varchar(255) DEFAULT NULL,
  `cargo_rep` varchar(150) DEFAULT NULL,
  `tel_rep` varchar(50) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `tbl_company_settings` (`id`, `nombre_legal`, `nombre_comercial`, `siglas_estudiantes`, `id_fiscal`, `direccion`, `telefono`, `email`, `sitio_web`, `representante`, `cargo_rep`, `tel_rep`, `created_at`, `updated_at`) VALUES
(1, 'Diplomados', 'Plataforma Diplomados', 'DCS', 'G1212121212', '10773 NW 58th ST, Doral FL 33178', '+584145365380', 'admin@plataformadiplomados.com', 'www.plataformadiplomados.com', 'JORGE PEREIRA', 'PROGRAMADOR', '+584145042125', '2026-02-12 15:54:22', '2026-02-12 15:58:10');

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

--
-- Estructura de tabla para la tabla `tbl_diplomados`
--

CREATE TABLE `tbl_diplomados` (
  `id` int(11) NOT NULL,
  `code` varchar(20) NOT NULL COMMENT 'Código institucional del diplomado',
  `name` varchar(255) NOT NULL COMMENT 'Nombre completo del diplomado',
  `description` text DEFAULT NULL COMMENT 'Propósito y enfoque científico',
  `directed_to` text DEFAULT NULL COMMENT 'Perfil profesional admitido',
  `total_hours` int(5) DEFAULT 200 COMMENT 'Carga horaria total (según oferta)',
  `status` enum('ACTIVO','INACTIVO','BORRADOR') DEFAULT 'BORRADOR',
  `created_by` int(10) UNSIGNED DEFAULT NULL,
  `updated_by` int(10) UNSIGNED DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `tbl_diplomados` (`id`, `code`, `name`, `description`, `directed_to`, `total_hours`, `status`, `created_by`, `updated_by`, `created_at`, `updated_at`) VALUES
(1, 'DCS-DIP-GR-033-2025', 'DIPLOMADO EN TERAPIA RESPIRATORIA\r\nCLÍNICA Y MANEJO INTEGRAL DEL\r\nPACIENTE', 'Estimado participante, le damos la mas cordial bienvenida. Esta pagina es de carácter\r\ninformativo en relación con el Diplomado en Terapia Respiratoria Clínica y Manejo Integral\r\ndel Paciente. Para nosotros es un placer atenderte.\r\nLa terapia respiratoria constituye un pilar fundamental en la atención multidisciplinaria del\r\npaciente crítico, crónico y con patologías respiratorias agudas. Este Diplomado ha sido\r\ndiseñado bajo un enfoque bimodal (virtual y presencial), que permite articular la\r\nflexibilidad del aprendizaje en línea con la rigurosidad de la práctica clínica supervisada. A\r\nlo largo del Diplomado, los participantes adquirirán competencias teóricas y prácticas para\r\nel manejo seguro y eficaz de gases medicinales, la implementación de estrategias de\r\noxigenoterapia, la aplicación de ventilación no invasiva, la ejecución de técnicas de\r\nfisioterapia torácica y el monitoreo respiratorio avanzado. Estos saberes se integran en un\r\nmarco ético, científico y humanizado, orientado a optimizar la calidad asistencial y\r\nfortalecer la toma de decisiones clínicas en diversos contextos de atención.\r\nEl objetivo es formar profesionales de la salud con competencias teóricas, clínicas y éticas\r\nque les permitan intervenir de manera segura, eficaz y humanizada en el manejo de\r\npacientes con patologías respiratorias agudas y crónicas, mediante el análisis, la\r\naplicación y la evaluación crítica de procedimientos terapéuticos, el uso racional de\r\ntecnologías respiratorias, y la toma de decisiones interdisciplinarias orientadas a la mejora\r\ncontinua de la atención.', ' Médicos, Profesionales de Enfermería (TSU o Licenciados) y\r\ntodo Profesional del área de la salud que desee actualizarse en el área de la Terapia\r\nRespiratoria', 200, 'ACTIVO', NULL, 1, '2026-02-18 00:10:49', '2026-03-04 12:40:01'),
(2, 'DCS-DIP-GR-007-2024', 'DIPLOMADO EN MEDICINA LEGAL Y\r\nCIENCIAS FORENSES ', 'Estimado participante, le damos la mas cordial bienvenida. Esta pagina es de carácter\r\ninformativo en relación con el Diplomado en Medicina Legal y Ciencias Forenses ofertado\r\npara Profesionales del área de Ciencias de la Salud, Ciencias Jurídicas, Ciencias Sociales y\r\nPoliciales. Para nosotros es un placer atenderte.\r\nEl objetivo principal de este Diplomado es proporcionar a los Profesionales una\r\noportunidad única para actualizar y fortalecer sus conocimientos, habilidades y destrezas\r\nen el campo de la Medicina Forense y Legal. Los profesionales capacitados en esta área\r\ndesempeñan roles cruciales en la administración de justicia y en la protección de los\r\nderechos individuales, de la misma manera, estarán capacitados para desempeñarse en\r\nuna variedad de roles, incluyendo la consultoría, el peritaje, la investigación y la asesoría\r\nforense en el ámbito sanitario y jurídico. Su formación les permitirá contribuir de manera\r\nsignificativa a la búsqueda de la verdad y la justicia en contextos legales y forenses.\r\nEl término \"forense\" abarca todo lo relacionado con la ley y lo legal. En el contexto de la\r\nciencia forense, los profesionales se adentran en la intersección entre la salud y la justicia.\r\nLa Medicina Legal y Forense abarca diversas sub especialidades, y quienes la practican\r\npueden asumir múltiples roles en diferentes escenarios del sector público de salud. Estos\r\nprofesionales, capacitados en Medicina Legal y Forense, intervienen en aspectos legales\r\nde la comunidad, recopilan evidencia en escenarios de crimen, interrogan a víctimas de\r\ncrímenes y pueden participar en la determinación de la causa y el momento de la muerte.\r\nAdemás, brindan asesoramiento a individuos con antecedentes criminales o a infractores\r\ncon trastornos emocionales. La Medicina Legal y Forense ha surgido como una respuesta\r\nintegral y multidisciplinaria en el Sistema de Justicia Criminal, llenando vacíos que existían\r\nen este sistema. Con un enfoque interdisciplinario, los profesionales de la Medicina Legal\r\ny Forense desempeñan un papel esencial en la búsqueda de la verdad y la justicia.', 'TODOS LOS MÉDICOS, ENFERMERAS (OS), ABOGADOS,\r\nPOLICÍAS, MILITARES, CUERPO DE SEGURIDAD EN GENERAL, PERSONAL DE SALUD Y\r\nPROFESIONALES CON DESEOS DE INCURSIONAR EN EL CAMPO DE LA MEDICINA LEGAL\r\nY FORENSE.', 200, 'ACTIVO', NULL, 1, '2026-02-18 00:48:17', '2026-03-04 12:35:34'),
(8, 'EJEMPLO 001', 'DIPLOMADO EJEMPLO', '', '', 200, 'ACTIVO', 1, 1, '2026-03-04 16:27:11', '2026-03-05 16:26:16'),
(9, 'DCS-DIP-EN-001', 'DIPLOMADOS PARA ENFERMERÍA', 'Estimado participante, le damos la mas cordial bienvenida. Esta pagina es de carácter\r\ninformativo en relación con los Diplomados ofertados para los Profesionales de\r\nEnfermería, para nosotros es un placer atenderte. La Universidad Centroccidental\r\n\"Lisandro Alvarado\" se complace en anunciar la oferta académica NOVIEMBRE 2025 para\r\nla Carrera de Enfermería, Diplomados con una duración de 200 horas (5 MESES).\r\nEl objetivo principal de los Diplomados es actualizar los conocimientos de los\r\nProfesionales de Enfermería en las diversas áreas de competencia, mediante la\r\nintegración de conocimientos teóricos y prácticos para el desarrollo de habilidades y\r\ndestrezas.\r\nLas clases teóricas serán semi presenciales en el Decanato de Ciencias de la Salud de la\r\nUCLA los días sábados cada 15 días (sujeto a modificaciones) en el horario diurno (de\r\n8am a 2pm), dirigidas por un equipo multidisciplinario de alto nivel quienes serán los\r\nencargados de formar un Profesional integral con visión humanista. Las prácticas serán 1\r\nvez por semana , luego del periodo teórico, bajo un modelo andrológico desarrolladas en\r\nlos escenarios clínicos públicos o privados más importantes con los cuales se mantiene el\r\nconvenio, que permitirá al participante alcanzar su máximo potencial según los\r\nparámetros establecidos a nivel nacional e Internacional según las normas estipuladas por\r\nlos Coordinadores del Diplomado.\r\n', 'Técnicos Superior en Enfermería o Licenciados en\r\nEnfermería.\r\n', 200, 'ACTIVO', 1, 1, '2026-03-17 02:26:52', '2026-03-17 03:05:20');

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

--
-- Estructura de tabla para la tabla `tbl_diplomados_conditions`
--

CREATE TABLE `tbl_diplomados_conditions` (
  `id` int(11) NOT NULL,
  `diplomado_id` int(11) NOT NULL,
  `condition_text` text NOT NULL COMMENT 'Ej: La nota mínima aprobatoria es 15 puntos',
  `order_priority` int(2) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `tbl_diplomados_conditions` (`id`, `diplomado_id`, `condition_text`, `order_priority`) VALUES
(33, 2, 'La nota mínima aprobatoria del diplomado es de 15 puntos.', 1),
(34, 2, 'El participante debe mantenerse solvente y cumplir con las cuotas establecidas para\r\nmantenerse activo dentro del Diplomado.', 1),
(35, 2, 'El dinero no es reembolsable ni es transferible a otro participante bajo ninguna causa.', 1),
(36, 2, 'En caso de insolvencia el participante estará sujeto a las políticas administrativas\r\nestablecidas por el Diplomado.', 1),
(45, 1, 'El participante debe mantenerse solvente y cumplir con las cuotas establecidas para mantenerse activo dentro del Diplomado.', 1),
(46, 1, 'El dinero no es reembolsable ni es transferible a otro participante bajo ninguna causa.', 1),
(47, 1, 'En caso de insolvencia el participante estará sujeto a las políticas administrativas establecidas por el Diplomado.', 1),
(48, 1, 'La nota mínima aprobatoria del diplomado es 15 puntos.', 1),
(73, 9, 'El participante debe mantenerse solvente y cumplir con las cuotas establecidas para\r\nmantenerse activo dentro del Diplomado.\r\n', 1),
(74, 9, ' El dinero no es reembolsable ni es transferible a otro participante bajo ninguna causa.', 1),
(75, 9, ' En caso de insolvencia el participante estará sujeto a las políticas administrativas\r\nestablecidas por el Diplomado', 1),
(76, 9, 'La nota mínima aprobatoria del diplomado es 15 puntos.\r\n', 1);

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

--
-- Estructura de tabla para la tabla `tbl_diplomados_requirements`
--

CREATE TABLE `tbl_diplomados_requirements` (
  `id` int(11) NOT NULL,
  `diplomado_id` int(11) NOT NULL,
  `requirement_text` varchar(255) NOT NULL COMMENT 'Ej: Copia del Título Universitario',
  `is_mandatory` tinyint(1) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `tbl_diplomados_requirements` (`id`, `diplomado_id`, `requirement_text`, `is_mandatory`) VALUES
(41, 2, 'Profesionales del área de Ciencias de la Salud, Ciencias Jurídicas, Cs Sociales y\r\nPoliciales que se desempeñen con interés de actualizarse o que deseen incursionar en el\r\nÁrea de la Medicina legal y Ciencias Forenses.', 1),
(42, 2, 'Planilla de Inscripción. Esta planilla será enviada al correo registrado en la pre\r\ninscripción.', 1),
(43, 2, 'Cancelar la inscripción (Dólares en físico) o pago móvil. También se pueden realizar\r\nadelanto de cuotas o pago total.', 1),
(44, 2, 'Copia del Título o constancia de trabajo según el caso.', 1),
(45, 2, 'Copia de la cédula.', 1),
(56, 1, 'Ser Médico, Técnico Superior en Enfermería, Licenciado en Enfermería o Profesional en el área de Ciencias de la Salud.', 1),
(57, 1, 'Planilla de Inscripción. Esta planilla será enviada al correo electrónico registrado inmediatamente luego de la pre inscripción (IMPRIMIR 2 PLANILLAS).', 1),
(58, 1, 'Cancelar la inscripción (Dólares en físico) o pago móvil. También se pueden realizar adelanto de cuotas o pago total.', 1),
(59, 1, 'Copia del Título Universitario.', 1),
(60, 1, 'Copia de la cédula.', 1),
(90, 9, 'Ser Técnico Superior en Enfermería o Licenciado en Enfermería', 1),
(91, 9, 'Planilla de Inscripción. Esta planilla será enviada al correo electrónico registrado\r\ninmediatamente luego de la pre inscripción (IMPRIMIR 2 PLANILLAS).\r\n', 1),
(92, 9, 'Cancelar la inscripción (Dólares en físico) o pago móvil. También se pueden realizar\r\nadelanto de cuotas o pago total.\r\n', 1),
(93, 9, 'Copia del Título Universitario TSU o LCDO', 1),
(94, 9, 'Copia de la cédula.', 1),
(95, 9, ' En el caso del Diplomado en Especialidades Quirúrgicas, debe tener APROBADO el\r\nDiplomado de Instrumentación Quirúrgica y Cuidados Post Anestésicos', 1);

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

--
-- Estructura de tabla para la tabla `tbl_enrollments`
--

CREATE TABLE `tbl_enrollments` (
  `id` int(11) NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `offering_id` int(11) NOT NULL,
  `undergraduate_degree` varchar(255) DEFAULT 'N/A',
  `provenance` varchar(255) DEFAULT 'N/A',
  `doc_id_card` varchar(255) DEFAULT NULL,
  `doc_degree` varchar(255) DEFAULT NULL,
  `doc_cv` varchar(255) DEFAULT NULL,
  `status` enum('REVISION','COMPROMISO','APROBADO','RECHAZADO') NOT NULL,
  `observations` text DEFAULT NULL,
  `type` enum('AUTO','MANUAL') DEFAULT 'AUTO',
  `created_by` int(10) UNSIGNED NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_enrollments` (`id`, `user_id`, `offering_id`, `undergraduate_degree`, `provenance`, `doc_id_card`, `doc_degree`, `doc_cv`, `status`, `observations`, `type`, `created_by`, `created_at`, `updated_at`) VALUES
(1, 26, 6, 'Medico Cirujano', 'Cabudare', 'uploads/enrollments/26/DOC_26_doc_id_1775391140.pdf', 'uploads/enrollments/26/DOC_26_doc_degree_1775391140.pdf', NULL, 'APROBADO', NULL, 'MANUAL', 1, '2026-04-05 12:12:20', '2026-04-05 12:28:44');

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

--
-- Estructura de tabla para la tabla `tbl_enrollments_payments`
--

CREATE TABLE `tbl_enrollments_payments` (
  `id` int(11) NOT NULL,
  `enrollment_id` int(11) NOT NULL,
  `method` enum('CASH','ZELLE','BINANCE','PAGOMOVIL') NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `currency` varchar(10) NOT NULL DEFAULT 'USD',
  `reference_id` varchar(100) DEFAULT NULL,
  `payment_metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payment_metadata`)),
  `screenshot_path` varchar(255) DEFAULT NULL,
  `status` enum('PENDING','APPROVED','REJECTED') DEFAULT 'PENDING',
  `observation` text DEFAULT NULL,
  `validated_by` int(10) UNSIGNED DEFAULT NULL,
  `rejection_reason` text DEFAULT NULL,
  `validation_date` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `import_batch_id` int(11) DEFAULT NULL COMMENT 'ID de la carga masiva de Excel'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_enrollments_payments` (`id`, `enrollment_id`, `method`, `amount`, `currency`, `reference_id`, `payment_metadata`, `screenshot_path`, `status`, `observation`, `validated_by`, `rejection_reason`, `validation_date`, `created_at`, `import_batch_id`) VALUES
(1, 1, 'ZELLE', 60.00, 'USD', '123456', '{\"metodo\":\"ZELLE\",\"monto_sistema_usd\":60,\"tasa_cambio\":1,\"detalles_origen\":{\"identificador\":\"3679343\",\"cuenta_correo_telf\":\"prueba@prueba.com\",\"nombre_titular\":\"Jorge Pereira\",\"banco_emisor\":\"ZELLE\"},\"detalles_transaccion\":{\"referencia\":\"123456\",\"fecha_comprobante\":\"2026-04-05\",\"monto_nativo\":60,\"moneda_nativa\":\"USD\"},\"auditoria\":{\"fecha_registro\":\"2026-04-05 14:12:20\",\"agente\":1}}', 'uploads/enrollments/26/payment/DOC_26_pay_screenshot_1775391140.png', 'APPROVED', NULL, 1, NULL, '2026-04-05 12:28:34', '2026-04-05 12:12:20', NULL);

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

--
-- Estructura de tabla para la tabla `tbl_event_catalog`
--

CREATE TABLE `tbl_event_catalog` (
  `id` int(10) UNSIGNED NOT NULL,
  `event_code` varchar(30) NOT NULL,
  `event_type` enum('SECURITY','ACADEMIC','FINANCIAL','SYSTEM','DOCUMENT') NOT NULL,
  `severity` enum('LOW','MEDIUM','HIGH','CRITICAL') NOT NULL DEFAULT 'LOW',
  `title` varchar(120) NOT NULL,
  `message_template` varchar(255) NOT NULL,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estructura de tabla para la tabla `tbl_event_logs`
--

CREATE TABLE `tbl_event_logs` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `event_catalog_id` int(10) UNSIGNED NOT NULL,
  `event_code` varchar(30) NOT NULL,
  `user_id` int(10) UNSIGNED DEFAULT NULL,
  `role_key` varchar(60) DEFAULT NULL,
  `session_id` int(10) UNSIGNED DEFAULT NULL,
  `module_key` varchar(60) DEFAULT NULL,
  `action_key` varchar(60) DEFAULT NULL,
  `result` enum('SUCCESS','FAIL') NOT NULL DEFAULT 'SUCCESS',
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` varchar(255) DEFAULT NULL,
  `entity_table` varchar(80) DEFAULT NULL,
  `entity_id` bigint(20) UNSIGNED DEFAULT NULL,
  `description` varchar(255) DEFAULT NULL,
  `occurred_at` datetime NOT NULL DEFAULT current_timestamp(),
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estructura de tabla para la tabla `tbl_financial_bank_transactions_mobile`
--

CREATE TABLE `tbl_financial_bank_transactions_mobile` (
  `id` int(11) NOT NULL,
  `op_type` varchar(5) DEFAULT 'NC',
  `op_date` date DEFAULT NULL,
  `reference_id` varchar(25) DEFAULT NULL,
  `origin_phone` varchar(25) DEFAULT NULL,
  `origin_bank` varchar(150) DEFAULT NULL,
  `amount` decimal(18,2) DEFAULT NULL,
  `is_reconciled` tinyint(1) DEFAULT 0,
  `admin_id` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Registro de transacciones de Pago Móvil conciliadas o por conciliar - Mod. Finanzas';

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

INSERT INTO `tbl_financial_bank_transactions_mobile` (`id`, `op_type`, `op_date`, `reference_id`, `origin_phone`, `origin_bank`, `amount`, `is_reconciled`, `admin_id`, `created_at`) VALUES
(392, 'NC', '2026-03-15', '3860134', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 14221.79, 1, 1, '2026-04-03 22:35:33'),
(393, 'NC', '2026-03-15', '204329007969', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 15.00, 0, 1, '2026-04-03 22:35:33'),
(394, 'NC', '2026-03-15', '204353007971', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 20.00, 0, 1, '2026-04-03 22:35:33'),
(395, 'NC', '2026-03-15', '204448007973', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 25.00, 0, 1, '2026-04-03 22:35:33'),
(396, 'NC', '2026-03-15', '204633007975', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 30.00, 0, 1, '2026-04-03 22:35:33'),
(397, 'NC', '2026-03-15', '204757007977', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 36.00, 0, 1, '2026-04-03 22:35:33'),
(398, 'NC', '2026-03-15', '204830007979', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 19.00, 0, 1, '2026-04-03 22:35:33'),
(399, 'NC', '2026-03-08', '102931019041', '4245178964', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 1724045.00, 0, 1, '2026-04-03 22:35:33'),
(400, 'NC', '2026-03-08', '48311480140', '4241857421', 'BANCO MERCANTIL', 63184.00, 0, 1, '2026-04-03 22:35:33'),
(401, 'NC', '2026-03-03', '5263865266', '4245502553', 'BANCO DE VENEZUELA S.A. BANCO UNIVERSAL', 2300.00, 0, 1, '2026-04-03 22:35:33'),
(402, 'NC', '2026-03-02', '220212618781', '4143578773', 'BANCAMIGA BANCO UNIVERSAL, C.A.', 1900.00, 0, 1, '2026-04-03 22:35:33'),
(403, 'NC', '2026-03-02', '5258463576', '4127884363', 'BANCO DE VENEZUELA S.A. BANCO UNIVERSAL', 3000.00, 0, 1, '2026-04-03 22:35:33'),
(416, 'NC', '2026-03-15', '204245007967', '4124571599', 'BANCO PROVINCIAL S.A. BANCO UNIVERSAL', 10.00, 1, 1, '2026-04-03 23:34:55');

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

--
-- Estructura de tabla para la tabla `tbl_financial_exchange_rates`
--

CREATE TABLE `tbl_financial_exchange_rates` (
  `id` int(10) UNSIGNED NOT NULL,
  `rate_date` date NOT NULL COMMENT 'Fecha a la que aplica la tasa',
  `dolar_bcv` decimal(10,4) NOT NULL,
  `euro_bcv` decimal(10,4) NOT NULL,
  `user_id` int(11) NOT NULL COMMENT 'Usuario que registró la tasa',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `status` enum('ACTIVE','INACTIVE') DEFAULT 'ACTIVE'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

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

INSERT INTO `tbl_financial_exchange_rates` (`id`, `rate_date`, `dolar_bcv`, `euro_bcv`, `user_id`, `created_at`, `updated_at`, `status`) VALUES
(2, '2026-03-26', 466.6014, 540.1704, 1, '2026-03-26 12:23:12', '2026-03-26 12:23:12', 'ACTIVE'),
(3, '2026-03-29', 471.7004, 543.9413, 1, '2026-03-29 17:21:08', '2026-03-29 17:21:08', 'ACTIVE'),
(4, '2026-03-31', 473.8702, 542.6382, 1, '2026-03-31 12:00:24', '2026-03-31 12:00:24', 'ACTIVE'),
(5, '2026-04-01', 473.9176, 545.9483, 1, '2026-04-01 11:16:18', '2026-04-01 11:16:18', 'ACTIVE'),
(6, '2026-04-02', 474.0598, 550.8954, 1, '2026-04-02 18:25:00', '2026-04-02 18:25:00', 'ACTIVE'),
(8, '2026-04-03', 474.0598, 550.8954, 1, '2026-04-03 18:54:26', '2026-04-03 18:54:26', 'ACTIVE'),
(9, '2026-04-05', 474.0598, 550.8954, 1, '2026-04-05 05:23:56', '2026-04-05 05:23:56', 'ACTIVE');

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

--
-- Estructura de tabla para la tabla `tbl_financial_payments`
--

CREATE TABLE `tbl_financial_payments` (
  `id` int(11) NOT NULL,
  `student_id` int(11) NOT NULL COMMENT 'ID del estudiante en tbl_students',
  `matriculation_id` int(11) NOT NULL COMMENT 'ID de la matrícula en tbl_student_matriculations',
  `method` enum('CASH','ZELLE','BINANCE','PAGOMOVIL') NOT NULL,
  `amount` decimal(12,2) NOT NULL,
  `currency` varchar(10) NOT NULL DEFAULT 'USD',
  `reference_id` varchar(100) DEFAULT NULL,
  `payment_metadata` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`payment_metadata`)),
  `screenshot_path` varchar(255) DEFAULT NULL COMMENT 'Comprobante si es digital',
  `status` enum('PENDING','APPROVED','REJECTED') DEFAULT 'PENDING',
  `observation` text DEFAULT NULL,
  `collector_id` int(10) UNSIGNED DEFAULT NULL COMMENT 'Usuario que registra el pago',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_financial_payments` (`id`, `student_id`, `matriculation_id`, `method`, `amount`, `currency`, `reference_id`, `payment_metadata`, `screenshot_path`, `status`, `observation`, `collector_id`, `created_at`) VALUES
(39, 17, 19, 'CASH', 10.00, 'USD', 'CASH-150593', '{\"metodo\":\"CASH\",\"monto_sistema_usd\":10,\"tasa_cambio\":1,\"detalles_origen\":{\"identificador\":\"DCS-2026-I-001\",\"cuenta_correo_telf\":\"RECEPCIÓN\",\"nombre_titular\":\"JEFF FORTACHON\",\"banco_emisor\":\"CASH\"},\"detalles_transaccion\":{\"referencia\":\"CASH-150593\",\"fecha_comprobante\":\"2026-04-05\",\"monto_nativo\":10,\"moneda_nativa\":\"USD\"},\"auditoria\":{\"fecha_registro\":\"2026-04-05 14:29:15\",\"agente\":1},\"arqueo_caja\":{\"desglose\":{\"10\":1},\"monto_fisico\":10,\"moneda_fisica\":\"USD\",\"validado_por\":1,\"fecha_validacion\":\"2026-04-05 17:13:31\"}}', NULL, 'PENDING', NULL, 1, '2026-04-05 12:29:15'),
(40, 17, 19, 'PAGOMOVIL', 10.00, 'USD', '332211', '{\"metodo\":\"PAGOMOVIL\",\"monto_sistema_usd\":10,\"tasa_cambio\":474.06,\"detalles_origen\":{\"identificador\":\"DCS-2026-I-001\",\"cuenta_correo_telf\":\"0412-4571599\",\"nombre_titular\":\"N\\/A\",\"banco_emisor\":\"0134 - BANCO BANESCO\"},\"detalles_transaccion\":{\"referencia\":\"332211\",\"fecha_comprobante\":\"2026-04-05\",\"monto_nativo\":4740.6,\"moneda_nativa\":\"BS\"},\"auditoria\":{\"fecha_registro\":\"2026-04-05 14:29:57\",\"agente\":1}}', 'uploads/enrollments/26/payment/DOC_26_pay_1775392197_6ea2b591.png', 'PENDING', NULL, 1, '2026-04-05 12:29:57'),
(41, 17, 19, 'ZELLE', 10.00, 'USD', '123456', '{\"metodo\":\"ZELLE\",\"monto_sistema_usd\":10,\"tasa_cambio\":474.06,\"detalles_origen\":{\"identificador\":\"DCS-2026-I-001\",\"cuenta_correo_telf\":\"prueba@prueba.com\",\"nombre_titular\":\"JORGE PEREIRA\",\"banco_emisor\":\"N\\/A\"},\"detalles_transaccion\":{\"referencia\":\"123456\",\"fecha_comprobante\":\"2026-04-05\",\"monto_nativo\":10,\"moneda_nativa\":\"USD\"},\"auditoria\":{\"fecha_registro\":\"2026-04-05 14:32:25\",\"agente\":1}}', 'uploads/enrollments/26/payment/DOC_26_pay_1775392345_ba159687.png', 'APPROVED', NULL, 1, '2026-04-05 12:32:25'),
(42, 17, 19, 'BINANCE', 10.00, 'USD', '123456', '{\"metodo\":\"BINANCE\",\"monto_sistema_usd\":10,\"tasa_cambio\":474.06,\"detalles_origen\":{\"identificador\":\"DCS-2026-I-001\",\"cuenta_correo_telf\":\"N\\/A\",\"nombre_titular\":\"N\\/A\",\"banco_emisor\":\"N\\/A\"},\"detalles_transaccion\":{\"referencia\":\"123456\",\"fecha_comprobante\":\"2026-04-05\",\"monto_nativo\":10,\"moneda_nativa\":\"USDT\"},\"auditoria\":{\"fecha_registro\":\"2026-04-05 14:32:48\",\"agente\":1}}', 'uploads/enrollments/26/payment/DOC_26_pay_1775392368_fd79f2a2.jpeg', 'APPROVED', NULL, 1, '2026-04-05 12:32:48');

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

--
-- Estructura de tabla para la tabla `tbl_financial_student_ledger`
--

CREATE TABLE `tbl_financial_student_ledger` (
  `id` int(11) NOT NULL,
  `enrollment_id` int(11) NOT NULL,
  `payment_id` int(11) DEFAULT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `concept` varchar(150) NOT NULL,
  `amount_due` decimal(12,2) NOT NULL,
  `amount_paid` decimal(12,2) DEFAULT 0.00,
  `exchange_rate` decimal(12,4) DEFAULT 1.0000,
  `due_date` date NOT NULL,
  `processed_at` datetime DEFAULT NULL,
  `status` enum('PENDIENTE','PAGADO','VENCIDO','ABONADO','A FAVOR') NOT NULL DEFAULT 'PENDIENTE',
  `notes` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_financial_student_ledger` (`id`, `enrollment_id`, `payment_id`, `user_id`, `concept`, `amount_due`, `amount_paid`, `exchange_rate`, `due_date`, `processed_at`, `status`, `notes`) VALUES
(7, 1, 1, 26, 'INSCRIPCIÓN', 30.00, 30.00, 1.0000, '2026-03-15', '2026-04-05 08:28:34', 'PAGADO', NULL),
(8, 1, 1, 26, 'CUOTA 1', 30.00, 30.00, 1.0000, '2026-03-15', '2026-04-05 08:28:34', 'PAGADO', NULL),
(9, 1, NULL, 26, 'CUOTA 2', 30.00, 20.00, 1.0000, '2026-03-15', NULL, 'ABONADO', NULL),
(10, 1, NULL, 26, 'CUOTA 3', 30.00, 0.00, 1.0000, '2026-03-15', NULL, 'PENDIENTE', NULL),
(11, 1, NULL, 26, 'CUOTA 4', 30.00, 0.00, 1.0000, '2026-03-15', '2026-04-05 08:28:34', 'PENDIENTE', NULL),
(12, 1, NULL, 26, 'CUOTA 5', 30.00, 0.00, 1.0000, '2026-03-15', '2026-04-05 08:28:34', 'PENDIENTE', NULL);

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

--
-- Estructura de tabla para la tabla `tbl_grupos`
--

CREATE TABLE `tbl_grupos` (
  `id` int(11) NOT NULL,
  `diplomado_id` int(11) DEFAULT NULL,
  `name` varchar(100) NOT NULL COMMENT 'Ej: Grupo Viernes, Grupo Online',
  `modality` enum('Presencial','Virtual','Mixta') NOT NULL DEFAULT 'Presencial',
  `description` text DEFAULT NULL,
  `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1: Activo, 0: Eliminado/Inactivo',
  `created_by` int(11) DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_grupos` (`id`, `diplomado_id`, `name`, `modality`, `description`, `is_active`, `created_by`, `updated_by`, `created_at`, `updated_at`) VALUES
(1, NULL, 'GRUPO VIERNES', 'Presencial', 'Clases cada 15 días en horario diurno (viernes)\r\n2:00 pm a 5:00 pm', 1, 1, NULL, '2026-02-19 05:01:33', NULL),
(2, NULL, 'GRUPO SABADO', 'Presencial', 'Clases cada 15 días en horario diurno (sábado)\r\n8:00 am a 12:00 m', 1, 1, 1, '2026-02-19 05:02:46', '2026-03-04 15:18:17'),
(3, NULL, 'ONLINE', 'Virtual', 'Clases en modalidad virtual', 1, 1, NULL, '2026-02-19 05:03:08', NULL),
(4, NULL, 'SEMI PRESENCIAL', 'Mixta', 'Clases combinadas presencial y online', 1, 1, NULL, '2026-02-19 05:03:30', NULL);

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

--
-- Estructura de tabla para la tabla `tbl_operational_news_web`
--

CREATE TABLE `tbl_operational_news_web` (
  `id` int(11) NOT NULL,
  `wp_post_id` int(11) DEFAULT NULL,
  `title` varchar(255) NOT NULL,
  `excerpt` varchar(500) DEFAULT NULL COMMENT 'Subtítulo o resumen corto',
  `content` text DEFAULT NULL COMMENT 'Cuerpo de la noticia (HTML/Párrafos)',
  `image_url` varchar(255) DEFAULT NULL COMMENT 'Ruta de la imagen principal',
  `is_ready` tinyint(1) DEFAULT 0 COMMENT '0: Borrador, 1: Listo para WP',
  `last_sync` datetime DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_operational_news_web` (`id`, `wp_post_id`, `title`, `excerpt`, `content`, `image_url`, `is_ready`, `last_sync`, `created_at`, `updated_at`) VALUES
(1, NULL, 'Firmamos convenio con la Red de Hospitales Metropolitanos', 'Nuestros estudiantes ahora podrán realizar prácticas presenciales en centros de alta complejidad.', '¡Grandes noticias para nuestra comunidad! Gracias a esta nueva alianza, los alumnos de los diplomados quirúrgicos tendrán acceso a rotaciones clínicas supervisadas. Este paso consolida nuestra plataforma como el puente directo entre la teoría académica y la práctica profesional de alto nivel.', '/diplomatic/public/assets/uploads/news_web/news_1_1775409585.png', 0, NULL, '2026-04-05 17:15:05', '2026-04-05 17:19:45'),
(2, NULL, '¡Misión cumplida! Celebramos la graduación de la promoción de Cuidados Intensivos', 'Más de 50 médicos especialistas se certificaron en el manejo avanzado del paciente crítico.', 'En una emotiva ceremonia, entregamos los diplomas a los alumnos que culminaron exitosamente su formación en nuestra plataforma. El Dr. Rafael Camejo, director académico, destacó el alto nivel de compromiso de esta cohorte. Estamos orgullosos de seguir elevando el estándar de la medicina en la región. ¡Felicidades a todos los colegas!', '/diplomatic/public/assets/uploads/news_web/news_2_1775409665.png', 0, NULL, '2026-04-05 17:20:44', '2026-04-05 17:21:05');

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

--
-- Estructura de tabla para la tabla `tbl_operational_professors_web`
--

CREATE TABLE `tbl_operational_professors_web` (
  `id` int(11) NOT NULL,
  `professor_id` int(11) NOT NULL,
  `wp_post_id` int(11) DEFAULT NULL,
  `web_label` varchar(100) DEFAULT 'Docente',
  `web_bio` text DEFAULT NULL,
  `web_photo_url` varchar(255) DEFAULT NULL,
  `is_ready` tinyint(1) DEFAULT 0,
  `last_sync` datetime DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_operational_professors_web` (`id`, `professor_id`, `wp_post_id`, `web_label`, `web_bio`, `web_photo_url`, `is_ready`, `last_sync`, `created_at`, `updated_at`) VALUES
(1, 7, NULL, 'Docente', 'Kiussy de Jesús García Díaz es Médico Cirujano egresada de la Universidad Centroccidental Lisandro Alvarado, con una sólida trayectoria profesional de más de 25 años en el ámbito de la salud pública, la psiquiatría clínica y la psiquiatría forense en Venezuela.\r\n\r\nCuenta con formación de postgrado en Psiquiatría, Higiene Mental del Desarrollo Infantil y Juvenil, y Maestría en Salud Pública Materno Infantil, complementada con múltiples estudios en Psicología Forense, Psiquiatría Forense y Medicina Forense realizados en instituciones como la Escuela Nacional de Fiscales del Ministerio Público, la Universidad Nacional Abierta y la propia Universidad Centroccidental Lisandro Alvarado.\r\n\r\nEn el ámbito institucional, se ha desempeñado como Psiquiatra Forense en el Servicio Nacional de Medicina y Ciencias Forenses (SENAMECF) y como Jefe de División en el Ministerio Público, liderando la Unidad Psiquiátrica y Psicológica de Atención Inmediata al Consumidor de Drogas en el estado Lara hasta su jubilación. Asimismo, ejerce como Médico Especialista en el Departamento de Salud Mental “Felipe Ponte”, adscrito a la Gobernación del Estado Lara.\r\n\r\nSu experiencia incluye responsabilidades de coordinación de programas de salud materno-infantil, adolescente y lactancia materna en el Ministerio de Salud, así como cargos asistenciales y de dirección en distintos estados del país. Ha participado activamente en la evaluación y abordaje de casos clínicos complejos, peritajes psiquiátricos y asesorías técnicas en el ámbito judicial.\r\n\r\nHa desarrollado investigaciones sobre salud mental, violencia escolar, trastornos psiquiátricos y patología dual, algunas con mención honorífica y recomendación de publicación. Además, mantiene formación continua en áreas como psicofarmacología, autopsia psicológica, detección de mentiras y legislación sobre violencia de género.\r\n\r\nSu perfil profesional se caracteriza por el compromiso ético, la rigurosidad técnica, la experiencia en evaluación clínica y forense, y una destacada vocación de servicio en el ámbito de la salud mental y la administración de justicia.', '/diplomatic/public/assets/uploads/profesores_web/prof_web_7_1775525161.png', 1, NULL, '2026-04-05 16:50:36', '2026-04-07 05:59:31'),
(2, 3, 1180, 'Docente', 'Con una trayectoria de más de cuatro décadas dedicada a la salud crítica y la formación de relevo, su perfil profesional combina la máxima experiencia clínica en unidades de alta complejidad con una destacada carrera académica en la Universidad Centroccidental “Lisandro Alvarado” (UCLA). Desde hace casi 3 décadas ha formado parte del cuerpo docente del Decanato de Ciencias de la Salud de la UCLA.\r\n\r\nFormación de Postgrado: Docente especialista en la Especialización de Cuidados Intensivos de Adultos, transmitiendo el rigor científico a los nuevos especialistas del país.\r\n\r\nSu compromiso con la disciplina se extiende a la investigación, contando con tres publicaciones que aportan al cuerpo de conocimientos de la enfermería crítica y la educación médica en Venezuela.', '/diplomatic/public/assets/uploads/profesores_web/prof_web_3_1775524901.png', 1, '2026-04-07 02:10:06', '2026-04-06 21:49:09', '2026-04-07 06:10:06');

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

--
-- Estructura de tabla para la tabla `tbl_permissions`
--

CREATE TABLE `tbl_permissions` (
  `id` int(10) UNSIGNED NOT NULL,
  `perm_key` varchar(80) NOT NULL,
  `module_key` varchar(60) NOT NULL,
  `action_key` varchar(60) NOT NULL,
  `description` varchar(255) NOT NULL,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estructura de tabla para la tabla `tbl_professors`
--

CREATE TABLE `tbl_professors` (
  `id` int(11) NOT NULL,
  `identification` varchar(50) NOT NULL COMMENT 'DNI, Cédula o Pasaporte',
  `first_name` varchar(100) NOT NULL,
  `last_name` varchar(100) NOT NULL,
  `full_name` varchar(200) NOT NULL COMMENT 'Nombre completo concatenado para búsquedas rápidas',
  `professor_type` enum('Docente','Coordinador','Invitado','Tutor') NOT NULL DEFAULT 'Docente',
  `photo_path` varchar(255) DEFAULT NULL COMMENT 'Ruta de la foto de perfil',
  `biography` text DEFAULT NULL COMMENT 'Resumen profesional o perfil',
  `is_active` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1: Activo, 0: Inactivo/Eliminado',
  `created_by` int(11) DEFAULT NULL,
  `updated_by` int(11) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_professors` (`id`, `identification`, `first_name`, `last_name`, `full_name`, `professor_type`, `photo_path`, `biography`, `is_active`, `created_by`, `updated_by`, `created_at`, `updated_at`) VALUES
(2, '14979523', 'Jorge Luis', 'Pereira Olivares', 'Jorge Luis Pereira Olivares', 'Docente', '/diplomatic/public/assets/uploads/profesores/prof_avatar_2_1771509776.png', 'CEO', 1, 1, 1, '2026-02-19 12:51:51', '2026-02-19 14:04:03'),
(3, '135671171', 'Luis Jorge', 'Olivares Pereira', 'Luis Jorge Olivares Pereira', 'Coordinador', '/diplomatic/public/assets/uploads/profesores/prof_avatar_3_1771510031.png', 'Coordinador Academico', 1, 6, 20, '2026-02-19 14:05:55', '2026-02-26 18:54:43'),
(6, '13567117', 'HOMER', 'PEREIRA', 'HOMER PEREIRA', 'Coordinador', '/diplomatic/public/assets/uploads/profesores/prof_6_1771588026.png', 'Coordinador Academico General', 1, 6, 1, '2026-02-19 14:53:10', '2026-03-04 15:29:22'),
(7, '21301474', 'RAIZA', 'BARROS', 'RAIZA BARROS', 'Docente', '/diplomatic/public/assets/uploads/profesores/prof_7_1771977600.png', NULL, 1, 1, NULL, '2026-02-24 23:59:52', '2026-02-25 00:00:00');

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

--
-- Estructura de tabla para la tabla `tbl_professor_academic_formations`
--

CREATE TABLE `tbl_professor_academic_formations` (
  `id` int(11) NOT NULL,
  `professor_id` int(11) NOT NULL,
  `degree_title` varchar(150) NOT NULL COMMENT 'Título obtenido (Ej. Ingeniero en Sistemas)',
  `academic_level` enum('Pregrado','Especialista','Magister','Doctorado','Postdoctorado','Diplomado') NOT NULL,
  `study_area` varchar(100) DEFAULT NULL COMMENT 'Área de estudio',
  `institution` varchar(150) NOT NULL,
  `year_obtained` year(4) DEFAULT NULL,
  `display_order` int(11) NOT NULL DEFAULT 0 COMMENT 'Para ordenar el CV visualmente'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_professor_academic_formations` (`id`, `professor_id`, `degree_title`, `academic_level`, `study_area`, `institution`, `year_obtained`, `display_order`) VALUES
(1, 2, 'Ingeniero Electronico', 'Pregrado', NULL, 'Universidad Yacambu', '2005', 0),
(3, 6, 'Ingeniero Quimico', 'Pregrado', 'Quimica General', 'Universidad Nacional Experimental Antonio Jose de Sucre', '2026', 0);

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

--
-- Estructura de tabla para la tabla `tbl_professor_contacts`
--

CREATE TABLE `tbl_professor_contacts` (
  `id` int(11) NOT NULL,
  `professor_id` int(11) NOT NULL,
  `email` varchar(150) DEFAULT NULL,
  `phone` varchar(50) DEFAULT NULL,
  `linkedin_url` varchar(255) DEFAULT NULL,
  `other_contact` varchar(255) DEFAULT NULL COMMENT 'Otras redes, web personal o método de contacto'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_professor_contacts` (`id`, `professor_id`, `email`, `phone`, `linkedin_url`, `other_contact`) VALUES
(1, 2, 'gorgepereira@gmail.com', '+584145365380', '', 'www.amarellus.com'),
(11, 3, 'jorgeluispereiraolivares@gmail.com', '+584145042125', '', ''),
(13, 6, 'ddrgomes@gmail.com', '+584145365380', NULL, NULL);

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

--
-- Estructura de tabla para la tabla `tbl_professor_documents`
--

CREATE TABLE `tbl_professor_documents` (
  `id` int(11) NOT NULL,
  `professor_id` int(11) NOT NULL,
  `document_type` enum('CV','Reseña','Certificación Académica','Documento de Identidad','Otro') NOT NULL,
  `document_name` varchar(150) NOT NULL COMMENT 'Nombre legible del archivo',
  `file_path` varchar(255) NOT NULL COMMENT 'Ruta física del archivo en el servidor',
  `uploaded_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_professor_documents` (`id`, `professor_id`, `document_type`, `document_name`, `file_path`, `uploaded_at`) VALUES
(1, 2, 'CV', 'Resumen Curricular', '/diplomatic/public/assets/uploads/profesores_docs/doc_2_1771508554.pdf', '2026-02-19 13:42:34'),
(3, 6, 'CV', 'Resumen Curricular', '/diplomatic/public/assets/uploads/profesores_docs/doc_6_1772455294.pdf', '2026-03-02 12:41:34');

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

--
-- Estructura de tabla para la tabla `tbl_professor_specialties`
--

CREATE TABLE `tbl_professor_specialties` (
  `id` int(11) NOT NULL,
  `professor_id` int(11) NOT NULL,
  `specialty_name` varchar(100) NOT NULL COMMENT 'Ej. Ciberseguridad, Derecho Penal',
  `is_main` tinyint(1) NOT NULL DEFAULT 0 COMMENT '1: Especialidad principal'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_professor_specialties` (`id`, `professor_id`, `specialty_name`, `is_main`) VALUES
(1, 2, 'Maestria en Ingenieria de Control de Procesos', 1),
(2, 6, 'Especialización en Control Industrial', 0);

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

--
-- Estructura de tabla para la tabla `tbl_professor_work_experiences`
--

CREATE TABLE `tbl_professor_work_experiences` (
  `id` int(11) NOT NULL,
  `professor_id` int(11) NOT NULL,
  `job_title` varchar(150) NOT NULL COMMENT 'Cargo ocupado',
  `institution` varchar(150) NOT NULL,
  `description` text DEFAULT NULL COMMENT 'Funciones o logros principales',
  `start_date` date NOT NULL,
  `end_date` date DEFAULT NULL,
  `is_current` tinyint(1) NOT NULL DEFAULT 0 COMMENT '1: Cargo actual (end_date se ignora)',
  `display_order` int(11) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

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

INSERT INTO `tbl_professor_work_experiences` (`id`, `professor_id`, `job_title`, `institution`, `description`, `start_date`, `end_date`, `is_current`, `display_order`) VALUES
(1, 2, 'Director General', 'Amarellus', NULL, '2019-08-23', NULL, 1, 0),
(2, 6, 'Gerente de Control de Calidad', 'Alimentos Polar', NULL, '2007-02-01', NULL, 1, 0);

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

--
-- Estructura de tabla para la tabla `tbl_roles`
--

CREATE TABLE `tbl_roles` (
  `id` int(10) UNSIGNED NOT NULL,
  `role_key` varchar(60) NOT NULL,
  `name` varchar(120) NOT NULL,
  `description` varchar(255) DEFAULT NULL,
  `level` int(11) NOT NULL DEFAULT 1,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_roles` (`id`, `role_key`, `name`, `description`, `level`, `status`, `created_at`, `updated_at`) VALUES
(1, 'ADMIN', 'Administrador', 'Control total, auditoría y configuración global del sistema', 10, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(2, 'FINANZAS', 'Finanzas', 'Gestión centralizada de cobros, validación de soportes y reportes financieros', 5, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(3, 'ACADEMIC', 'Académico', 'Administración de diplomados, cohortes, profesores y control de estudios', 5, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(4, 'OPERATOR', 'Operador', 'Administración de cartelera digital, noticias y soporte a inscripciones', 3, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30'),
(5, 'PARTICIPANT', 'Participante', 'Acceso a oferta académica, registro de pagos y estado de cuenta', 1, 'ACTIVE', '2026-02-11 08:40:30', '2026-02-11 08:40:30');

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

--
-- Estructura de tabla para la tabla `tbl_role_permissions`
--

CREATE TABLE `tbl_role_permissions` (
  `id` int(10) UNSIGNED NOT NULL,
  `role_id` int(10) UNSIGNED NOT NULL,
  `permission_id` int(10) UNSIGNED NOT NULL,
  `status` enum('ACTIVE','INACTIVE') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estructura de tabla para la tabla `tbl_sessions`
--

CREATE TABLE `tbl_sessions` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `session_token` varchar(255) NOT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` varchar(255) DEFAULT NULL,
  `started_at` datetime NOT NULL DEFAULT current_timestamp(),
  `last_activity_at` datetime DEFAULT NULL,
  `ended_at` datetime DEFAULT NULL,
  `end_reason` enum('LOGOUT','TIMEOUT','FORCED','UNKNOWN') DEFAULT NULL,
  `status` enum('ACTIVE','CLOSED') NOT NULL DEFAULT 'ACTIVE',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estructura de tabla para la tabla `tbl_students`
--

CREATE TABLE `tbl_students` (
  `id` int(11) NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `enrollment_id` int(11) NOT NULL,
  `student_code` varchar(50) NOT NULL,
  `first_name` varchar(100) NOT NULL,
  `last_name` varchar(100) NOT NULL,
  `document_id` varchar(30) NOT NULL,
  `email` varchar(190) NOT NULL,
  `undergraduate_degree` varchar(150) DEFAULT NULL,
  `admission_date` date NOT NULL,
  `status` enum('ACTIVO','EGRESADO','RETIRADO','SUSPENDIDO','CONGELADO') DEFAULT 'ACTIVO',
  `observations` text DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_students` (`id`, `user_id`, `enrollment_id`, `student_code`, `first_name`, `last_name`, `document_id`, `email`, `undergraduate_degree`, `admission_date`, `status`, `observations`, `created_at`) VALUES
(17, 26, 1, 'DCS-2026-I-001', 'JEFF', 'FORTACHON', '3679343', 'jorgepereira@amarellus.com', 'Medico Cirujano', '2026-04-05', 'ACTIVO', NULL, '2026-04-05 12:28:44');

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

--
-- Estructura de tabla para la tabla `tbl_student_matriculations`
--

CREATE TABLE `tbl_student_matriculations` (
  `id` int(11) NOT NULL,
  `student_id` int(11) NOT NULL COMMENT 'ID de la ficha del estudiante',
  `offering_id` int(11) NOT NULL COMMENT 'A qué diplomado/cohorte entró',
  `enrollment_id` int(11) NOT NULL COMMENT 'La inscripción que originó esta matrícula',
  `academic_status` enum('CURSANDO','APROBADO','REPROBADO','RETIRADO','CONGELADO') DEFAULT 'CURSANDO',
  `final_grade` decimal(5,2) DEFAULT NULL COMMENT 'Nota final obtenida',
  `certificate_issued` tinyint(1) DEFAULT 0 COMMENT '¿Se le emitió diploma?',
  `registered_by` int(10) UNSIGNED NOT NULL COMMENT 'Admin que aprobó los papeles',
  `registered_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_student_matriculations` (`id`, `student_id`, `offering_id`, `enrollment_id`, `academic_status`, `final_grade`, `certificate_issued`, `registered_by`, `registered_at`, `updated_at`) VALUES
(19, 17, 6, 1, 'CURSANDO', NULL, 0, 1, '2026-04-05 12:28:44', '2026-04-05 12:28:44');

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

--
-- Estructura de tabla para la tabla `tbl_user_remember_tokens`
--

CREATE TABLE `tbl_user_remember_tokens` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `token_hash` varchar(255) NOT NULL,
  `expires_at` datetime NOT NULL,
  `created_at` datetime DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estructura de tabla para la tabla `tbl_wa_manual_logs`
--

CREATE TABLE `tbl_wa_manual_logs` (
  `id` int(11) NOT NULL,
  `estudiante` varchar(255) DEFAULT NULL,
  `evento` varchar(50) DEFAULT NULL,
  `telefono` varchar(50) DEFAULT NULL,
  `fecha_envio` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_wa_manual_logs` (`id`, `estudiante`, `evento`, `telefono`, `fecha_envio`) VALUES
(1, 'Jorge Pereira', 'INSCRIPCION', '+584145365380', '2026-02-12 17:31:26'),
(2, 'Raiza Mileva', 'CONSTANCIA_ESTUDIO', '+584124571599', '2026-02-12 17:31:59'),
(3, 'Juan Pérez', 'CONSTANCIA_ESTUDIO', '+584145042125', '2026-02-13 16:39:33'),
(4, 'jorge pereira', 'INSCRIPCION', '+584145365380', '2026-02-24 23:45:19'),
(5, 'Pereira', 'PAGO', '+584145365380', '2026-02-24 23:45:58'),
(6, 'Pereira', 'PAGO', '+584145365380', '2026-02-24 23:46:30');

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

--
-- Estructura de tabla para la tabla `tbl_wa_manual_templates`
--

CREATE TABLE `tbl_wa_manual_templates` (
  `id` int(11) NOT NULL,
  `evento` varchar(50) NOT NULL,
  `mensaje` text DEFAULT NULL,
  `activo` tinyint(1) DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

INSERT INTO `tbl_wa_manual_templates` (`id`, `evento`, `mensaje`, `activo`) VALUES
(1, 'INSCRIPCION', 'Hola {NOMBRE}, tu inscripción al diplomado {DIPLOMADO} ha sido confirmada. ¡Nos vemos pronto! {URL_PORTAL}', 1),
(2, 'CONSTANCIA_ESTUDIO', 'Hola {NOMBRE}, tu constancia de estudio para {DIPLOMADO} ya está disponible aquí: {URL_PORTAL}', 1),
(3, 'CONSTANCIA_INSCRIPCION', 'Hola {NOMBRE}, adjuntamos tu constancia de inscripción al diplomado {DIPLOMADO}: {URL_PORTAL}', 1),
(4, 'PAGO', 'Hola {NOMBRE}, te recordamos que tienes un pago pendiente en el diplomado {DIPLOMADO}. Puedes gestionarlo aquí: {URL_PORTAL}', 1);

--
-- Índices para tablas volcadas
--

--
-- Indices de la tabla `tbl_academic_offerings`
--
ALTER TABLE `tbl_academic_offerings`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_offering_diploma` (`diploma_id`),
  ADD KEY `fk_offering_cohort` (`cohort_id`),
  ADD KEY `fk_offering_creator` (`created_by`);

--
-- Indices de la tabla `tbl_academic_offering_campuses`
--
ALTER TABLE `tbl_academic_offering_campuses`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_rel_offering_camp` (`offering_id`),
  ADD KEY `fk_rel_campus_master` (`campus_id`);

--
-- Indices de la tabla `tbl_academic_offering_groups`
--
ALTER TABLE `tbl_academic_offering_groups`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_rel_offering_grp` (`offering_id`),
  ADD KEY `fk_rel_group_master` (`group_id`);

--
-- Indices de la tabla `tbl_academic_offering_payment_plans`
--
ALTER TABLE `tbl_academic_offering_payment_plans`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_rel_offering_pay` (`offering_id`);

--
-- Indices de la tabla `tbl_academic_offering_professors`
--
ALTER TABLE `tbl_academic_offering_professors`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_rel_offering_prof` (`offering_id`),
  ADD KEY `fk_rel_prof_master` (`professor_id`);

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

--
-- Indices de la tabla `tbl_cohortes`
--
ALTER TABLE `tbl_cohortes`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_cohort_code` (`cohort_code`),
  ADD KEY `fk_cohort_created_by` (`created_by`),
  ADD KEY `fk_cohort_updated_by` (`updated_by`);

--
-- Indices de la tabla `tbl_cohort_campuses`
--
ALTER TABLE `tbl_cohort_campuses`
  ADD PRIMARY KEY (`cohort_id`,`campus_id`),
  ADD KEY `fk_campus_rel` (`campus_id`);

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

--
-- Indices de la tabla `tbl_diplomados`
--
ALTER TABLE `tbl_diplomados`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `code` (`code`),
  ADD KEY `fk_dip_created_by` (`created_by`),
  ADD KEY `fk_dip_updated_by` (`updated_by`);

--
-- Indices de la tabla `tbl_diplomados_conditions`
--
ALTER TABLE `tbl_diplomados_conditions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_cond_diplomado` (`diplomado_id`);

--
-- Indices de la tabla `tbl_diplomados_requirements`
--
ALTER TABLE `tbl_diplomados_requirements`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_req_diplomado` (`diplomado_id`);

--
-- Indices de la tabla `tbl_enrollments`
--
ALTER TABLE `tbl_enrollments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_enroll_user` (`user_id`),
  ADD KEY `fk_enroll_offer` (`offering_id`),
  ADD KEY `fk_enroll_creator` (`created_by`);

--
-- Indices de la tabla `tbl_enrollments_payments`
--
ALTER TABLE `tbl_enrollments_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_pay_enroll` (`enrollment_id`);

--
-- Indices de la tabla `tbl_event_catalog`
--
ALTER TABLE `tbl_event_catalog`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_event_catalog_code` (`event_code`),
  ADD KEY `idx_event_catalog_type` (`event_type`),
  ADD KEY `idx_event_catalog_severity` (`severity`);

--
-- Indices de la tabla `tbl_event_logs`
--
ALTER TABLE `tbl_event_logs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_event_logs_code` (`event_code`),
  ADD KEY `idx_event_logs_user` (`user_id`),
  ADD KEY `idx_event_logs_session` (`session_id`),
  ADD KEY `idx_event_logs_occurred` (`occurred_at`),
  ADD KEY `idx_event_logs_entity` (`entity_table`,`entity_id`),
  ADD KEY `fk_event_logs_catalog` (`event_catalog_id`);

--
-- Indices de la tabla `tbl_financial_bank_transactions_mobile`
--
ALTER TABLE `tbl_financial_bank_transactions_mobile`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `reference_id` (`reference_id`),
  ADD UNIQUE KEY `unique_transaction_idx` (`op_type`,`op_date`,`reference_id`,`origin_phone`);

--
-- Indices de la tabla `tbl_financial_exchange_rates`
--
ALTER TABLE `tbl_financial_exchange_rates`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_rate_date` (`rate_date`),
  ADD KEY `idx_user_rate` (`user_id`);

--
-- Indices de la tabla `tbl_financial_payments`
--
ALTER TABLE `tbl_financial_payments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_fin_pay_student` (`student_id`),
  ADD KEY `fk_fin_pay_matriculation` (`matriculation_id`);

--
-- Indices de la tabla `tbl_financial_student_ledger`
--
ALTER TABLE `tbl_financial_student_ledger`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_ledger_enroll_v4` (`enrollment_id`),
  ADD KEY `fk_ledger_user_v4` (`user_id`),
  ADD KEY `idx_ledger_payment` (`payment_id`);

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

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

--
-- Indices de la tabla `tbl_operational_professors_web`
--
ALTER TABLE `tbl_operational_professors_web`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_web_professor` (`professor_id`);

--
-- Indices de la tabla `tbl_permissions`
--
ALTER TABLE `tbl_permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_permissions_key` (`perm_key`),
  ADD KEY `idx_permissions_module` (`module_key`),
  ADD KEY `idx_permissions_action` (`action_key`);

--
-- Indices de la tabla `tbl_professors`
--
ALTER TABLE `tbl_professors`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uk_identification` (`identification`);

--
-- Indices de la tabla `tbl_professor_academic_formations`
--
ALTER TABLE `tbl_professor_academic_formations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_academic_professor` (`professor_id`);

--
-- Indices de la tabla `tbl_professor_contacts`
--
ALTER TABLE `tbl_professor_contacts`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uk_professor_contact` (`professor_id`);

--
-- Indices de la tabla `tbl_professor_documents`
--
ALTER TABLE `tbl_professor_documents`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_document_professor` (`professor_id`);

--
-- Indices de la tabla `tbl_professor_specialties`
--
ALTER TABLE `tbl_professor_specialties`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_specialty_professor` (`professor_id`);

--
-- Indices de la tabla `tbl_professor_work_experiences`
--
ALTER TABLE `tbl_professor_work_experiences`
  ADD PRIMARY KEY (`id`),
  ADD KEY `fk_work_professor` (`professor_id`);

--
-- Indices de la tabla `tbl_roles`
--
ALTER TABLE `tbl_roles`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_roles_key` (`role_key`);

--
-- Indices de la tabla `tbl_role_permissions`
--
ALTER TABLE `tbl_role_permissions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_role_permission` (`role_id`,`permission_id`),
  ADD KEY `fk_role_permissions_permission` (`permission_id`);

--
-- Indices de la tabla `tbl_sessions`
--
ALTER TABLE `tbl_sessions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_sessions_token` (`session_token`),
  ADD KEY `idx_sessions_user` (`user_id`),
  ADD KEY `idx_sessions_status` (`status`);

--
-- Indices de la tabla `tbl_students`
--
ALTER TABLE `tbl_students`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `student_code` (`student_code`),
  ADD KEY `user_id` (`user_id`),
  ADD KEY `enrollment_id` (`enrollment_id`);

--
-- Indices de la tabla `tbl_student_matriculations`
--
ALTER TABLE `tbl_student_matriculations`
  ADD PRIMARY KEY (`id`),
  ADD KEY `student_id` (`student_id`),
  ADD KEY `offering_id` (`offering_id`),
  ADD KEY `enrollment_id` (`enrollment_id`);

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

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

--
-- Indices de la tabla `tbl_wa_manual_templates`
--
ALTER TABLE `tbl_wa_manual_templates`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `idx_evento_wa` (`evento`);

--
-- AUTO_INCREMENT de las tablas volcadas
--

--
-- AUTO_INCREMENT de la tabla `tbl_academic_offerings`
--
ALTER TABLE `tbl_academic_offerings`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=24;

--
-- AUTO_INCREMENT de la tabla `tbl_academic_offering_campuses`
--
ALTER TABLE `tbl_academic_offering_campuses`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=180;

--
-- AUTO_INCREMENT de la tabla `tbl_academic_offering_groups`
--
ALTER TABLE `tbl_academic_offering_groups`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=137;

--
-- AUTO_INCREMENT de la tabla `tbl_academic_offering_payment_plans`
--
ALTER TABLE `tbl_academic_offering_payment_plans`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=387;

--
-- AUTO_INCREMENT de la tabla `tbl_academic_offering_professors`
--
ALTER TABLE `tbl_academic_offering_professors`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=121;

--
-- AUTO_INCREMENT de la tabla `tbl_campuses`
--
ALTER TABLE `tbl_campuses`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT de la tabla `tbl_cohortes`
--
ALTER TABLE `tbl_cohortes`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;

--
-- AUTO_INCREMENT de la tabla `tbl_company_settings`
--
ALTER TABLE `tbl_company_settings`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `tbl_diplomados`
--
ALTER TABLE `tbl_diplomados`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT de la tabla `tbl_diplomados_conditions`
--
ALTER TABLE `tbl_diplomados_conditions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=77;

--
-- AUTO_INCREMENT de la tabla `tbl_diplomados_requirements`
--
ALTER TABLE `tbl_diplomados_requirements`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=96;

--
-- AUTO_INCREMENT de la tabla `tbl_enrollments`
--
ALTER TABLE `tbl_enrollments`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `tbl_enrollments_payments`
--
ALTER TABLE `tbl_enrollments_payments`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- AUTO_INCREMENT de la tabla `tbl_event_catalog`
--
ALTER TABLE `tbl_event_catalog`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_event_logs`
--
ALTER TABLE `tbl_event_logs`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_financial_bank_transactions_mobile`
--
ALTER TABLE `tbl_financial_bank_transactions_mobile`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=428;

--
-- AUTO_INCREMENT de la tabla `tbl_financial_exchange_rates`
--
ALTER TABLE `tbl_financial_exchange_rates`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT de la tabla `tbl_financial_payments`
--
ALTER TABLE `tbl_financial_payments`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=43;

--
-- AUTO_INCREMENT de la tabla `tbl_financial_student_ledger`
--
ALTER TABLE `tbl_financial_student_ledger`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT de la tabla `tbl_grupos`
--
ALTER TABLE `tbl_grupos`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT de la tabla `tbl_operational_news_web`
--
ALTER TABLE `tbl_operational_news_web`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `tbl_operational_professors_web`
--
ALTER TABLE `tbl_operational_professors_web`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `tbl_permissions`
--
ALTER TABLE `tbl_permissions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_professors`
--
ALTER TABLE `tbl_professors`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=12;

--
-- AUTO_INCREMENT de la tabla `tbl_professor_academic_formations`
--
ALTER TABLE `tbl_professor_academic_formations`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de la tabla `tbl_professor_contacts`
--
ALTER TABLE `tbl_professor_contacts`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19;

--
-- AUTO_INCREMENT de la tabla `tbl_professor_documents`
--
ALTER TABLE `tbl_professor_documents`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de la tabla `tbl_professor_specialties`
--
ALTER TABLE `tbl_professor_specialties`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de la tabla `tbl_professor_work_experiences`
--
ALTER TABLE `tbl_professor_work_experiences`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de la tabla `tbl_roles`
--
ALTER TABLE `tbl_roles`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT de la tabla `tbl_role_permissions`
--
ALTER TABLE `tbl_role_permissions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_sessions`
--
ALTER TABLE `tbl_sessions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de la tabla `tbl_students`
--
ALTER TABLE `tbl_students`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=18;

--
-- AUTO_INCREMENT de la tabla `tbl_student_matriculations`
--
ALTER TABLE `tbl_student_matriculations`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=20;

--
-- AUTO_INCREMENT de la tabla `tbl_user_remember_tokens`
--
ALTER TABLE `tbl_user_remember_tokens`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT de la tabla `tbl_wa_manual_logs`
--
ALTER TABLE `tbl_wa_manual_logs`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de la tabla `tbl_wa_manual_templates`
--
ALTER TABLE `tbl_wa_manual_templates`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- Restricciones para tablas volcadas
--

--
-- Filtros para la tabla `tbl_academic_offerings`
--
ALTER TABLE `tbl_academic_offerings`
  ADD CONSTRAINT `fk_offering_cohort` FOREIGN KEY (`cohort_id`) REFERENCES `tbl_cohortes` (`id`),
  ADD CONSTRAINT `fk_offering_creator` FOREIGN KEY (`created_by`) REFERENCES `tbl_users` (`id`) ON DELETE NO ACTION,
  ADD CONSTRAINT `fk_offering_diploma` FOREIGN KEY (`diploma_id`) REFERENCES `tbl_diplomados` (`id`);

--
-- Filtros para la tabla `tbl_academic_offering_campuses`
--
ALTER TABLE `tbl_academic_offering_campuses`
  ADD CONSTRAINT `fk_rel_campus_master` FOREIGN KEY (`campus_id`) REFERENCES `tbl_campuses` (`id`),
  ADD CONSTRAINT `fk_rel_offering_camp` FOREIGN KEY (`offering_id`) REFERENCES `tbl_academic_offerings` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_academic_offering_groups`
--
ALTER TABLE `tbl_academic_offering_groups`
  ADD CONSTRAINT `fk_rel_group_master` FOREIGN KEY (`group_id`) REFERENCES `tbl_grupos` (`id`),
  ADD CONSTRAINT `fk_rel_offering_grp` FOREIGN KEY (`offering_id`) REFERENCES `tbl_academic_offerings` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_academic_offering_payment_plans`
--
ALTER TABLE `tbl_academic_offering_payment_plans`
  ADD CONSTRAINT `fk_rel_offering_pay` FOREIGN KEY (`offering_id`) REFERENCES `tbl_academic_offerings` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_academic_offering_professors`
--
ALTER TABLE `tbl_academic_offering_professors`
  ADD CONSTRAINT `fk_rel_offering_prof` FOREIGN KEY (`offering_id`) REFERENCES `tbl_academic_offerings` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_rel_prof_master` FOREIGN KEY (`professor_id`) REFERENCES `tbl_professors` (`id`);

--
-- Filtros para la tabla `tbl_cohortes`
--
ALTER TABLE `tbl_cohortes`
  ADD CONSTRAINT `fk_cohort_created_by` FOREIGN KEY (`created_by`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_cohort_updated_by` FOREIGN KEY (`updated_by`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_cohort_campuses`
--
ALTER TABLE `tbl_cohort_campuses`
  ADD CONSTRAINT `fk_campus_rel` FOREIGN KEY (`campus_id`) REFERENCES `tbl_campuses` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_cohort_rel` FOREIGN KEY (`cohort_id`) REFERENCES `tbl_cohortes` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_diplomados`
--
ALTER TABLE `tbl_diplomados`
  ADD CONSTRAINT `fk_dip_created_by` FOREIGN KEY (`created_by`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_dip_updated_by` FOREIGN KEY (`updated_by`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_diplomados_conditions`
--
ALTER TABLE `tbl_diplomados_conditions`
  ADD CONSTRAINT `fk_cond_diplomado` FOREIGN KEY (`diplomado_id`) REFERENCES `tbl_diplomados` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_diplomados_requirements`
--
ALTER TABLE `tbl_diplomados_requirements`
  ADD CONSTRAINT `fk_req_diplomado` FOREIGN KEY (`diplomado_id`) REFERENCES `tbl_diplomados` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_enrollments`
--
ALTER TABLE `tbl_enrollments`
  ADD CONSTRAINT `fk_enroll_creator_v4` FOREIGN KEY (`created_by`) REFERENCES `tbl_users` (`id`),
  ADD CONSTRAINT `fk_enroll_offer_v4` FOREIGN KEY (`offering_id`) REFERENCES `tbl_academic_offerings` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_enroll_user_v4` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_enrollments_payments`
--
ALTER TABLE `tbl_enrollments_payments`
  ADD CONSTRAINT `fk_pay_enroll_v4` FOREIGN KEY (`enrollment_id`) REFERENCES `tbl_enrollments` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_event_logs`
--
ALTER TABLE `tbl_event_logs`
  ADD CONSTRAINT `fk_event_logs_catalog` FOREIGN KEY (`event_catalog_id`) REFERENCES `tbl_event_catalog` (`id`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_event_logs_session` FOREIGN KEY (`session_id`) REFERENCES `tbl_sessions` (`id`) ON DELETE SET NULL ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_event_logs_user` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_financial_student_ledger`
--
ALTER TABLE `tbl_financial_student_ledger`
  ADD CONSTRAINT `fk_ledger_enroll_v4` FOREIGN KEY (`enrollment_id`) REFERENCES `tbl_enrollments` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `fk_ledger_user_v4` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_operational_professors_web`
--
ALTER TABLE `tbl_operational_professors_web`
  ADD CONSTRAINT `fk_web_professor` FOREIGN KEY (`professor_id`) REFERENCES `tbl_professors` (`id`) ON DELETE CASCADE;

--
-- Filtros para la tabla `tbl_professor_academic_formations`
--
ALTER TABLE `tbl_professor_academic_formations`
  ADD CONSTRAINT `fk_academic_professor` FOREIGN KEY (`professor_id`) REFERENCES `tbl_professors` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_professor_contacts`
--
ALTER TABLE `tbl_professor_contacts`
  ADD CONSTRAINT `fk_contact_professor` FOREIGN KEY (`professor_id`) REFERENCES `tbl_professors` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_professor_documents`
--
ALTER TABLE `tbl_professor_documents`
  ADD CONSTRAINT `fk_document_professor` FOREIGN KEY (`professor_id`) REFERENCES `tbl_professors` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_professor_specialties`
--
ALTER TABLE `tbl_professor_specialties`
  ADD CONSTRAINT `fk_specialty_professor` FOREIGN KEY (`professor_id`) REFERENCES `tbl_professors` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_professor_work_experiences`
--
ALTER TABLE `tbl_professor_work_experiences`
  ADD CONSTRAINT `fk_work_professor` FOREIGN KEY (`professor_id`) REFERENCES `tbl_professors` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_role_permissions`
--
ALTER TABLE `tbl_role_permissions`
  ADD CONSTRAINT `fk_role_permissions_permission` FOREIGN KEY (`permission_id`) REFERENCES `tbl_permissions` (`id`) ON UPDATE CASCADE,
  ADD CONSTRAINT `fk_role_permissions_role` FOREIGN KEY (`role_id`) REFERENCES `tbl_roles` (`id`) ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_sessions`
--
ALTER TABLE `tbl_sessions`
  ADD CONSTRAINT `fk_sessions_user` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON UPDATE CASCADE;

--
-- Filtros para la tabla `tbl_students`
--
ALTER TABLE `tbl_students`
  ADD CONSTRAINT `tbl_students_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`),
  ADD CONSTRAINT `tbl_students_ibfk_2` FOREIGN KEY (`enrollment_id`) REFERENCES `tbl_enrollments` (`id`);

--
-- Filtros para la tabla `tbl_student_matriculations`
--
ALTER TABLE `tbl_student_matriculations`
  ADD CONSTRAINT `tbl_student_matriculations_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `tbl_students` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tbl_student_matriculations_ibfk_2` FOREIGN KEY (`offering_id`) REFERENCES `tbl_academic_offerings` (`id`),
  ADD CONSTRAINT `tbl_student_matriculations_ibfk_3` FOREIGN KEY (`enrollment_id`) REFERENCES `tbl_enrollments` (`id`);

--
-- Filtros para la tabla `tbl_user_remember_tokens`
--
ALTER TABLE `tbl_user_remember_tokens`
  ADD CONSTRAINT `tbl_user_remember_tokens_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `tbl_users` (`id`) ON DELETE CASCADE;
COMMIT;

