-- =====================================================
-- SETUP COMPLETO: LABORATORIO XIMENA CAICEDO
-- Sistema de Chatbot WhatsApp con Flujos Completos
-- Fecha: 13 de enero de 2026
-- =====================================================

-- Limpiar datos previos (opcional)
-- DELETE FROM menu_options WHERE menu_id IN (SELECT id FROM menus WHERE menu_key LIKE 'lab_%');
-- DELETE FROM menus WHERE menu_key LIKE 'lab_%';
-- DELETE FROM autoresponses WHERE trigger_type != 'system';

-- =====================================================
-- 1. MENÚ PRINCIPAL
-- =====================================================

INSERT INTO menus (name, menu_key, description, welcome_message, status, created_at) VALUES 
(
    'Menú Principal - Lab Ximena Caicedo',
    'lab_menu_principal',
    'Menú principal del laboratorio con todas las opciones de servicio',
    '¡Hola! 👋 Bienvenido(a) a Laboratorio Ximena Caicedo

Por favor, selecciona una opción escribiendo el número:

1️⃣ Agendar toma a domicilio
2️⃣ Consultar resultados
3️⃣ Información sobre exámenes
4️⃣ Ubicación y horarios
5️⃣ Hablar con un asesor

*Horario de atención:*
📅 Lunes a viernes: 7:00 AM - 12:00 PM y 2:00 PM - 5:00 PM
📅 Sábados: 8:00 AM - 11:00 AM',
    'active',
    NOW()
);

-- Obtener el ID del menú principal
SET @menu_principal_id = LAST_INSERT_ID();

-- Opciones del Menú Principal
INSERT INTO menu_options (menu_id, option_key, option_order, option_text, response_type, response_text, next_menu_id, is_active, created_at) VALUES
(
    @menu_principal_id,
    '1',
    1,
    'Agendar toma a domicilio',
    'text',
    '📍 TOMA DE MUESTRAS A DOMICILIO

Para agendar tu domicilio, necesitamos la siguiente información en UN SOLO MENSAJE:

📄 Enviar una foto clara de la orden médica

Datos del paciente:
✓ Nombre completo:
✓ Número de documento:
✓ Foto del documento de identidad:
✓ Dirección completa:
✓ Número de celular:
✓ Correo electrónico:
✓ Indicar si es por algún seguro o particular

*IMPORTANTE:*
• Se atiende por orden de llegada
• Enviar solicitud solo una vez
• Pronto te daremos respuesta

💵 Valor del domicilio: $27.000',
    NULL,
    1,
    NOW()
),
(
    @menu_principal_id,
    '2',
    2,
    'Consultar resultados',
    'text',
    '📊 CONSULTA DE RESULTADOS

Para consultar tus resultados, sigue estos pasos:

1️⃣ Ingresa a la página web:
http://www.resultadoslab.com.co/resultadoslab/vistas/login.php?id=eGltY2FpY2Vkbw==

2️⃣ Credenciales de acceso:
• Usuario: Tu número de documento
• Clave: Los últimos 4 dígitos de tu documento

3️⃣ Da clic en los cuadros rojo y naranja que aparecen en opciones

4️⃣ Descarga los archivos PDF

*NOTA:* Se recomienda descargar desde un computador

⚠️ Estamos actualizando nuestra página web. Gracias por tu comprensión.

¿Tienes problemas para descargar tus resultados?
Responde: *AYUDA RESULTADOS*',
    NULL,
    1,
    NOW()
),
(
    @menu_principal_id,
    '3',
    3,
    'Información sobre exámenes',
    'menu',
    NULL,
    NULL, -- Se actualizará después de crear el submenú
    1,
    NOW()
),
(
    @menu_principal_id,
    '4',
    4,
    'Ubicación y horarios',
    'text',
    '📍 UBICACIÓN Y HORARIOS

*DIRECCIÓN:*
Calle 21 #0-26, Barrio Blanco
Cúcuta, Norte de Santander

📌 Ver en Google Maps:
https://maps.google.com/maps/search/Laboratorio%20Ximena%20Caicedo/@7.877200126647949,-72.49710083007812,17z?hl=es

*HORARIOS DE ATENCIÓN:*

🏥 Toma de muestras en laboratorio:
📅 Lunes a viernes: 6:15 AM - 3:00 PM
📅 Sábados: Por orden de llegada

📞 Atención telefónica/WhatsApp:
📅 Lunes a viernes: 7:00 AM - 12:00 PM y 2:00 PM - 5:00 PM
📅 Sábados: 8:00 AM - 11:00 AM

🏠 Tomas a domicilio:
📅 Lunes a viernes: 5:00 AM - 8:30 AM
💵 Valor: $27.000

*FORMAS DE PAGO:*
💵 Efectivo
💳 Tarjeta débito
🏥 Seguros médicos

¿Necesitas agendar? Escribe MENÚ',
    NULL,
    1,
    NOW()
),
(
    @menu_principal_id,
    '5',
    5,
    'Hablar con un asesor',
    'transfer',
    '👤 SOLICITUD DE ASESOR

Un momento por favor, estamos conectando tu consulta con uno de nuestros asesores.

En breve te atenderemos. 

*Tu consulta es importante para nosotros* 💙',
    NULL,
    1,
    NOW()
);

-- =====================================================
-- 2. SUBMENÚ DE EXÁMENES
-- =====================================================

INSERT INTO menus (name, menu_key, description, welcome_message, parent_menu_id, status, created_at) VALUES 
(
    'Información de Exámenes',
    'lab_menu_examenes',
    'Submenú con información detallada de exámenes',
    '🔬 INFORMACIÓN DE EXÁMENES

Selecciona el tipo de información que necesitas:

1️⃣ Pruebas de embarazo
2️⃣ Prueba de paternidad
3️⃣ Helicobacter pylori (en aliento)
4️⃣ Orina de 24 horas
5️⃣ Solicitar cotización
0️⃣ Volver al menú principal',
    @menu_principal_id,
    'active',
    NOW()
);

SET @menu_examenes_id = LAST_INSERT_ID();

-- Actualizar la opción 3 del menú principal para que apunte a este submenú
UPDATE menu_options 
SET next_menu_id = @menu_examenes_id 
WHERE menu_id = @menu_principal_id AND option_key = '3';

-- Opciones del Submenú de Exámenes
INSERT INTO menu_options (menu_id, option_key, option_order, option_text, response_type, response_text, next_menu_id, is_active, created_at) VALUES
(
    @menu_examenes_id,
    '1',
    1,
    'Pruebas de embarazo',
    'text',
    '🤰 PRUEBAS DE EMBARAZO EN SANGRE

Ofrecemos dos tipos:

1️⃣ *Prueba Cualitativa (Positivo/Negativo)*
💵 Valor: $28.000
📅 Requisito: Mínimo 1 semana de retraso menstrual

2️⃣ *Prueba Cuantitativa (Con valor de HCG)*
💵 Valor: $61.000
📊 Esta prueba da un valor que se interpreta para saber las semanas de embarazo

🕐 Horario: 6:15 AM - 3:00 PM (Lunes a viernes)
⏱️ Tiempo de resultado: 24-72 horas

¿Deseas agendar? Escribe: *AGENDAR EMBARAZO*',
    NULL,
    1,
    NOW()
),
(
    @menu_examenes_id,
    '2',
    2,
    'Prueba de paternidad',
    'text',
    '👨‍👩‍👧 PRUEBA DE PATERNIDAD

📍 Ubicación: Calle 21 #0-26, Barrio Blanco, Cúcuta
https://maps.google.com/maps/search/Laboratorio%20Ximena%20Caicedo/@7.877200126647949,-72.49710083007812,17z?hl=es

*DETALLES DEL EXAMEN:*
🧬 Muestra: Se realiza en saliva
👥 Deben asistir: Presunto padre, madre y el menor
💵 Valor: $760.000
📅 Resultados: 12 a 15 días hábiles
🕐 Horario: Lunes a viernes de 6:15 AM a 3:00 PM
📝 Se toma por orden de llegada (sin cita previa)

⚠️ *NO se realiza a domicilio*
Deben acercarse al laboratorio.

¿Necesitas más información? Escribe *ASESOR*',
    NULL,
    1,
    NOW()
),
(
    @menu_examenes_id,
    '3',
    3,
    'Helicobacter pylori (en aliento)',
    'text',
    '🫁 HELICOBACTER PYLORI EN ALIENTO

*PREPARACIÓN IMPORTANTE:*

⏰ Requisitos previos:
• 2 semanas sin tomar medicamentos para el estómago
• Sin protectores gástricos
• Sin probióticos
• Sin antibióticos
• Sin cualquier medicamento relacionado con el estómago

📍 Día del examen:
• Debe venir en AYUNAS
• NO cepillarse los dientes
• Llegar entre 6:15 AM - 9:30 AM

📅 Disponible de lunes a viernes

¿Deseas cotización? Escribe: *COTIZAR HELICOBACTER*',
    NULL,
    1,
    NOW()
),
(
    @menu_examenes_id,
    '4',
    4,
    'Orina de 24 horas',
    'text',
    '💧 INSTRUCCIONES: ORINA DE 24 HORAS

*PASO A PASO:*

1️⃣ *PRIMERA ORINA DE LA MAÑANA:*
   Deséchela (NO la recoja)

2️⃣ *A PARTIR DE LA SEGUNDA ORINA:*
   Recoja TODA la orina del día

3️⃣ *DURANTE LA NOCHE:*
   Si se levanta a orinar, también debe recogerla

4️⃣ *ALMACENAMIENTO:*
   ⚠️ IMPORTANTE: Mantener la orina REFRIGERADA todo el tiempo para evitar contaminación

5️⃣ *AL DÍA SIGUIENTE:*
   Llevar el recipiente completo al laboratorio

📍 Horario de recepción: 6:15 AM - 3:00 PM

¿Tienes dudas? Escribe *ASESOR*',
    NULL,
    1,
    NOW()
),
(
    @menu_examenes_id,
    '5',
    5,
    'Solicitar cotización',
    'text',
    '💰 SOLICITAR COTIZACIÓN

Para cotizar tus exámenes, envía:

📄 Foto CLARA de la orden médica
✓ Indica si es particular o por seguro
✓ Si es por seguro, indica cuál

Te responderemos con:
• Valor de cada examen
• Valor total
• Indicaciones de preparación

⏱️ Respuesta en horario de atención',
    NULL,
    1,
    NOW()
),
(
    @menu_examenes_id,
    '0',
    0,
    'Volver al menú principal',
    'menu',
    NULL,
    @menu_principal_id,
    1,
    NOW()
);

-- =====================================================
-- 3. RESPUESTAS AUTOMÁTICAS POR PALABRAS CLAVE
-- =====================================================

-- Bienvenida (primer mensaje)
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'welcome',
    NULL,
    'menu',
    NULL,
    @menu_principal_id,
    100,
    1,
    NOW()
);

-- Menú / Inicio
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'menu,menú,inicio,start,opciones',
    'menu',
    NULL,
    @menu_principal_id,
    90,
    1,
    NOW()
);

-- Precios
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'precio,valor,costo,cuanto,cuánto,precios,costos',
    'text',
    '💰 INFORMACIÓN DE PRECIOS

Para darte información exacta, necesitamos saber:

1️⃣ ¿Qué examen necesitas?
2️⃣ ¿Es particular o por seguro?

Puedes:
• Enviar foto de tu orden médica
• Escribir el nombre del examen
• Escribir *COTIZAR* para más información

También puedes ver nuestros servicios frecuentes:
• EMBARAZO - Pruebas de embarazo
• PATERNIDAD - Prueba de paternidad
• DOMICILIO - Toma a domicilio',
    NULL,
    80,
    1,
    NOW()
);

-- Resultados
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'resultado,resultados,descargar,reporte,examen',
    'text',
    '📊 CONSULTA DE RESULTADOS

Ingresa a:
http://www.resultadoslab.com.co/resultadoslab/vistas/login.php?id=eGltY2FpY2Vkbw==

Usuario: Tu documento
Clave: Últimos 4 dígitos

¿Problemas para descargar?
Escribe: *AYUDA RESULTADOS*',
    NULL,
    85,
    1,
    NOW()
);

-- Horarios
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'horario,hora,cuando,cuándo,abierto,atienden,abren,cierran',
    'text',
    '🕐 HORARIOS DE ATENCIÓN

🏥 *Toma de muestras:*
Lunes a viernes: 6:15 AM - 3:00 PM

📞 *Atención WhatsApp:*
Lunes a viernes: 7:00 AM - 12:00 PM y 2:00 PM - 5:00 PM
Sábados: 8:00 AM - 11:00 AM

🏠 *Domicilios:*
Lunes a viernes: 5:00 AM - 8:30 AM

Para más información escribe: *UBICACION*',
    NULL,
    85,
    1,
    NOW()
);

-- Domicilio
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'domicilio,casa,ir a mi casa,a casa,visita',
    'text',
    '🏠 SERVICIO A DOMICILIO

💵 Valor: $27.000
⏰ Horario: 5:00 AM - 8:30 AM

Para agendar escribe: 1 o *DOMICILIO*',
    NULL,
    85,
    1,
    NOW()
);

-- Embarazo
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'embarazo,embarazada,gestación,gestacion,prueba embarazo',
    'text',
    '🤰 PRUEBAS DE EMBARAZO

💵 Cualitativa (Sí/No): $28.000
💵 Cuantitativa (con valor): $61.000

📝 Requisito: Mínimo 1 semana de retraso

Para más información escribe: *INFO EMBARAZO*
Para agendar escribe: *AGENDAR EMBARAZO*',
    NULL,
    85,
    1,
    NOW()
);

-- Paternidad
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'paternidad,adn,paternity,prueba de paternidad',
    'text',
    '👨‍👩‍👧 PRUEBA DE PATERNIDAD

💵 Valor: $760.000
📅 Resultado: 12-15 días
🏥 Se realiza en laboratorio (NO a domicilio)

Para más información escribe: *INFO PATERNIDAD*',
    NULL,
    85,
    1,
    NOW()
);

-- Ayuda con resultados
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'ayuda resultados,no puedo descargar,ayuda descargar,problema resultados',
    'text',
    '🆘 AYUDA CON RESULTADOS

Para ayudarte a descargar tus resultados, necesitamos:

📸 Foto del documento de identidad del paciente

*IMPORTANTE:*
Por política de seguridad del paciente, solo podemos enviar los resultados si nos envías la foto del documento.

Si eres familiar del paciente, debes enviar el documento del titular de los exámenes.',
    NULL,
    95,
    1,
    NOW()
);

-- Ubicación
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'ubicación,ubicacion,dirección,direccion,donde,dónde,como llego,cómo llego',
    'text',
    '📍 UBICACIÓN

Calle 21 #0-26, Barrio Blanco
Cúcuta, Norte de Santander

📌 Google Maps:
https://maps.google.com/maps/search/Laboratorio%20Ximena%20Caicedo/@7.877200126647949,-72.49710083007812,17z?hl=es

Para más información escribe: *HORARIOS*',
    NULL,
    85,
    1,
    NOW()
);

-- Preparación / Ayunas
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'ayunas,preparación,preparacion,requisitos,como me preparo,cómo me preparo',
    'text',
    '📋 PREPARACIÓN PARA EXÁMENES

La preparación depende del examen que te van a realizar.

¿Qué examen te van a tomar?

Exámenes con preparación especial:
• PSA - Antígeno prostático
• Frotis vaginal
• Urocultivo
• Helicobacter pylori
• Orina de 24 horas
• Perfil lipídico (ayunas)

Escribe el nombre del examen o envía foto de tu orden.',
    NULL,
    85,
    1,
    NOW()
);

-- Asesor / Ayuda / Persona
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'asesor,persona,humano,ayuda,help,operador,hablar con alguien',
    'transfer',
    '👤 SOLICITUD DE ASESOR

Un momento por favor, estamos conectando tu consulta con uno de nuestros asesores.

En breve te atenderemos. 

*Tu consulta es importante para nosotros* 💙',
    NULL,
    70,
    1,
    NOW()
);

-- Agradecimientos
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'gracias,thanks,thank you,muchas gracias,ok gracias',
    'text',
    '😊 ¡De nada! Con gusto.

¿Necesitas algo más?
Escribe *MENÚ* para ver todas las opciones.

Laboratorio Ximena Caicedo
Tu salud, nuestra prioridad 💙',
    NULL,
    60,
    1,
    NOW()
);

-- Despedidas
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'adios,adiós,bye,chao,hasta luego,nos vemos',
    'text',
    '👋 ¡Hasta pronto!

Gracias por confiar en Laboratorio Ximena Caicedo.

Si necesitas algo más, no dudes en escribirnos.

¡Que tengas un excelente día! 😊',
    NULL,
    60,
    1,
    NOW()
);

-- Saludos generales
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'keyword',
    'hola,buenos dias,buenas tardes,buenas noches,buen dia,hey,hi,hello',
    'menu',
    NULL,
    @menu_principal_id,
    75,
    1,
    NOW()
);

-- Respuesta por defecto (cuando no entiende)
INSERT INTO autoresponses (trigger_type, trigger_value, response_type, response_text, menu_id, priority, is_active, created_at) VALUES
(
    'default',
    NULL,
    'menu',
    '❓ No he comprendido tu mensaje

Por favor selecciona una opción:',
    @menu_principal_id,
    10,
    1,
    NOW()
);

-- =====================================================
-- 4. ACTUALIZAR CONFIGURACIÓN DEL SISTEMA
-- =====================================================

-- Actualizar mensaje de bienvenida en system_config
UPDATE system_config 
SET config_value = (SELECT welcome_message FROM menus WHERE menu_key = 'lab_menu_principal' LIMIT 1)
WHERE config_key = 'welcome_message';

-- Agregar nombre de empresa si no existe
INSERT INTO system_config (config_key, config_value, description, created_at)
VALUES ('business_name', 'Laboratorio Ximena Caicedo', 'Nombre de la empresa/laboratorio', NOW())
ON DUPLICATE KEY UPDATE config_value = 'Laboratorio Ximena Caicedo';

-- Agregar horarios de atención
INSERT INTO system_config (config_key, config_value, description, created_at)
VALUES 
('business_hours_weekday', '7:00-12:00,14:00-17:00', 'Horario de atención lunes a viernes (formato 24h)', NOW()),
('business_hours_saturday', '8:00-11:00', 'Horario de atención sábados (formato 24h)', NOW()),
('business_hours_sunday', 'closed', 'Horario de atención domingos', NOW()),
('out_of_hours_message', 'GRACIAS POR COMUNICARSE CON Laboratorio Ximena Caicedo ⏳\n\nEn este momento NO nos encontramos disponibles.\n\n*Horario de atención:*\n📅 Lunes a viernes: 7:00 AM - 12:00 PM y 2:00 PM - 5:00 PM\n📅 Sábados: 8:00 AM - 11:00 AM\n🚫 Domingos y festivos cerrado\n\nPor favor déjanos tu *Nombre* y tu *mensaje*, y con gusto te responderemos al retomar nuestro horario.\n\n💻 Este es un mensaje automático\nGracias por tu comprensión 😊', 'Mensaje automático fuera de horario', NOW())
ON DUPLICATE KEY UPDATE config_value = VALUES(config_value);

-- =====================================================
-- CONFIRMACIÓN
-- =====================================================

SELECT 
    '✅ SETUP COMPLETADO' as status,
    COUNT(DISTINCT m.id) as menus_creados,
    COUNT(DISTINCT mo.id) as opciones_creadas,
    COUNT(DISTINCT ar.id) as respuestas_automaticas
FROM menus m
LEFT JOIN menu_options mo ON m.id = mo.menu_id
LEFT JOIN autoresponses ar ON ar.is_active = 1
WHERE m.menu_key LIKE 'lab_%';

-- Ver menús creados
SELECT 
    id,
    name,
    menu_key,
    status,
    (SELECT COUNT(*) FROM menu_options WHERE menu_id = m.id) as num_opciones
FROM menus m
WHERE menu_key LIKE 'lab_%'
ORDER BY created_at;

-- Ver respuestas automáticas creadas
SELECT 
    id,
    trigger_type,
    trigger_value,
    response_type,
    priority,
    is_active
FROM autoresponses
WHERE is_active = 1
ORDER BY priority DESC, id;
