-- ===================================================== -- 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;