mirror of
https://github.com/marcogll/telegram_new_socias.git
synced 2026-01-13 13:15:16 +00:00
feat: refactor schedule storage to vanity_hr schema, update onboarding command to /registro, and enhance horario flow with short name collection
This commit is contained in:
@@ -2,114 +2,118 @@
|
||||
"flow_name": "horario",
|
||||
"steps": [
|
||||
{
|
||||
"state": 0,
|
||||
"state": -3,
|
||||
"variable": "INTRO_READ",
|
||||
"type": "keyboard",
|
||||
"question": "ANTES DE DEFINIR TUS HORARIOS\n\nLee con atención:\n\n• Estos horarios se usarán para control de asistencia y reportes\n• Selecciona únicamente los botones disponibles\n• El sistema convertirá automáticamente a formato 24 hrs\n\nCuando estés listo, continúa.",
|
||||
"options": ["Continuar"],
|
||||
"next_step": 1
|
||||
"question": "ANTES DE DEFINIR TUS HORARIOS\n\nLee con atención:\n\n• Estos horarios se usarán para control de asistencia y reportes\n• Selecciona únicamente los botones disponibles\n• El sistema convertirá automáticamente a formato 24 hrs\n\nCuando estés lista, confirma para continuar.",
|
||||
"options": ["Continuar"]
|
||||
},
|
||||
{
|
||||
"state": -2,
|
||||
"variable": "INTRO_NAME",
|
||||
"type": "info",
|
||||
"question": "NOMBRE CORTO\n\nEste nombre se usará para mensajes internos, reportes y notificaciones."
|
||||
},
|
||||
{
|
||||
"state": -1,
|
||||
"variable": "SHORT_NAME",
|
||||
"type": "text",
|
||||
"question": "¿Cómo te dicen normalmente?"
|
||||
},
|
||||
{
|
||||
"state": 0,
|
||||
"variable": "INTRO_HOURS",
|
||||
"type": "info",
|
||||
"question": "DEFINICIÓN DE HORARIOS\n\nDefine tu horario habitual por día usando botones AM / PM."
|
||||
},
|
||||
{
|
||||
"state": 1,
|
||||
"variable": "SHORT_NAME",
|
||||
"type": "text",
|
||||
"question": "¿Cómo te dicen normalmente?",
|
||||
"next_step": 2
|
||||
},
|
||||
{
|
||||
"state": 2,
|
||||
"variable": "MONDAY_IN",
|
||||
"type": "keyboard",
|
||||
"question": "Lunes · Hora de entrada",
|
||||
"options": ["10:00 AM","11:00 AM","12:00 PM","1:00 PM","2:00 PM","3:00 PM"],
|
||||
"next_step": 3
|
||||
"options": ["10:00 AM", "11:00 AM", "12:00 PM", "1:00 PM", "2:00 PM", "3:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 3,
|
||||
"state": 2,
|
||||
"variable": "MONDAY_OUT",
|
||||
"type": "keyboard",
|
||||
"question": "Lunes · Hora de salida",
|
||||
"options": ["4:00 PM","5:00 PM","6:00 PM","7:00 PM","8:00 PM"],
|
||||
"next_step": 4
|
||||
"options": ["4:00 PM", "5:00 PM", "6:00 PM", "7:00 PM", "8:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 4,
|
||||
"state": 3,
|
||||
"variable": "TUESDAY_IN",
|
||||
"type": "keyboard",
|
||||
"question": "Martes · Hora de entrada",
|
||||
"options": ["10:00 AM","11:00 AM","12:00 PM","1:00 PM","2:00 PM","3:00 PM"],
|
||||
"next_step": 5
|
||||
"options": ["10:00 AM", "11:00 AM", "12:00 PM", "1:00 PM", "2:00 PM", "3:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 5,
|
||||
"state": 4,
|
||||
"variable": "TUESDAY_OUT",
|
||||
"type": "keyboard",
|
||||
"question": "Martes · Hora de salida",
|
||||
"options": ["4:00 PM","5:00 PM","6:00 PM","7:00 PM","8:00 PM"],
|
||||
"next_step": 6
|
||||
"options": ["4:00 PM", "5:00 PM", "6:00 PM", "7:00 PM", "8:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 6,
|
||||
"state": 5,
|
||||
"variable": "WEDNESDAY_IN",
|
||||
"type": "keyboard",
|
||||
"question": "Miércoles · Hora de entrada",
|
||||
"options": ["10:00 AM","11:00 AM","12:00 PM","1:00 PM","2:00 PM","3:00 PM"],
|
||||
"next_step": 7
|
||||
"options": ["10:00 AM", "11:00 AM", "12:00 PM", "1:00 PM", "2:00 PM", "3:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 7,
|
||||
"state": 6,
|
||||
"variable": "WEDNESDAY_OUT",
|
||||
"type": "keyboard",
|
||||
"question": "Miércoles · Hora de salida",
|
||||
"options": ["4:00 PM","5:00 PM","6:00 PM","7:00 PM","8:00 PM"],
|
||||
"next_step": 8
|
||||
"options": ["4:00 PM", "5:00 PM", "6:00 PM", "7:00 PM", "8:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 8,
|
||||
"state": 7,
|
||||
"variable": "THURSDAY_IN",
|
||||
"type": "keyboard",
|
||||
"question": "Jueves · Hora de entrada",
|
||||
"options": ["10:00 AM","11:00 AM","12:00 PM","1:00 PM","2:00 PM","3:00 PM"],
|
||||
"next_step": 9
|
||||
"options": ["10:00 AM", "11:00 AM", "12:00 PM", "1:00 PM", "2:00 PM", "3:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 9,
|
||||
"state": 8,
|
||||
"variable": "THURSDAY_OUT",
|
||||
"type": "keyboard",
|
||||
"question": "Jueves · Hora de salida",
|
||||
"options": ["4:00 PM","5:00 PM","6:00 PM","7:00 PM","8:00 PM"],
|
||||
"next_step": 10
|
||||
"options": ["4:00 PM", "5:00 PM", "6:00 PM", "7:00 PM", "8:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 10,
|
||||
"state": 9,
|
||||
"variable": "FRIDAY_IN",
|
||||
"type": "keyboard",
|
||||
"question": "Viernes · Hora de entrada",
|
||||
"options": ["10:00 AM","11:00 AM","12:00 PM","1:00 PM","2:00 PM","3:00 PM"],
|
||||
"next_step": 11
|
||||
"options": ["10:00 AM", "11:00 AM", "12:00 PM", "1:00 PM", "2:00 PM", "3:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 11,
|
||||
"state": 10,
|
||||
"variable": "FRIDAY_OUT",
|
||||
"type": "keyboard",
|
||||
"question": "Viernes · Hora de salida",
|
||||
"options": ["4:00 PM","5:00 PM","6:00 PM","7:00 PM","8:00 PM"],
|
||||
"next_step": 12
|
||||
"options": ["4:00 PM", "5:00 PM", "6:00 PM", "7:00 PM", "8:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 12,
|
||||
"state": 11,
|
||||
"variable": "SATURDAY_IN",
|
||||
"type": "keyboard",
|
||||
"question": "Sábado · Hora de entrada",
|
||||
"options": ["10:00 AM","11:00 AM","12:00 PM","1:00 PM","2:00 PM","3:00 PM"],
|
||||
"next_step": 13
|
||||
"options": ["10:00 AM", "11:00 AM", "12:00 PM", "1:00 PM", "2:00 PM", "3:00 PM"]
|
||||
},
|
||||
{
|
||||
"state": 13,
|
||||
"state": 12,
|
||||
"variable": "SATURDAY_OUT",
|
||||
"type": "info",
|
||||
"question": "Sábado · Hora de salida\n\nLa salida del sábado queda registrada automáticamente a las 6:00 PM.",
|
||||
"next_step": -1
|
||||
"question": "Sábado · Hora de salida\n\nLa salida del sábado queda registrada automáticamente a las 6:00 PM."
|
||||
},
|
||||
{
|
||||
"state": 99,
|
||||
"variable": "FLOW_END",
|
||||
"type": "info",
|
||||
"question": "HORARIOS REGISTRADOS\n\nTus horarios quedaron guardados correctamente. Si necesitas un ajuste, notifícalo a administración."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,22 @@
|
||||
{
|
||||
"flow_name": "leave_request",
|
||||
"steps": [
|
||||
{
|
||||
"state": "INTRO_ALERT",
|
||||
"variable": "AVISO_INICIAL",
|
||||
"question": "⏱️ SOLICITUD DE PERMISO POR HORAS\n\nConfirma que le avisaste a tu manager y que necesitas registrar un permiso formal.",
|
||||
"type": "keyboard",
|
||||
"options": ["Continuar"]
|
||||
},
|
||||
{
|
||||
"state": "INTRO_SCOPE",
|
||||
"variable": "INTRO_SCOPE",
|
||||
"question": "SECCIÓN ÚNICA · FECHAS, HORARIO Y MOTIVO\n\nResponde exactamente lo que se te pide para evitar rechazos.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"state": "PERMISO_CUANDO",
|
||||
"question": "⏱️ **Solicitud de Permiso**\n\n¿Para cuándo lo necesitas?",
|
||||
"handler": "recibir_cuando_permiso",
|
||||
"question": "¿Para cuándo lo necesitas?",
|
||||
"type": "keyboard",
|
||||
"options": ["Hoy", "Mañana", "Pasado mañana", "Fecha específica"],
|
||||
"next_step": [
|
||||
@@ -21,7 +33,6 @@
|
||||
{
|
||||
"state": "PERMISO_ANIO",
|
||||
"question": "¿Para qué año es el permiso? (elige el actual o el siguiente)",
|
||||
"handler": "recibir_anio_permiso",
|
||||
"type": "keyboard",
|
||||
"options": ["current_year", "next_year"],
|
||||
"next_step": "INICIO_DIA"
|
||||
@@ -29,14 +40,12 @@
|
||||
{
|
||||
"state": "INICIO_DIA",
|
||||
"question": "¿En qué *día* inicia el permiso? (número, ej: 12)",
|
||||
"handler": "recibir_inicio_dia",
|
||||
"type": "text",
|
||||
"next_step": "INICIO_MES"
|
||||
},
|
||||
{
|
||||
"state": "INICIO_MES",
|
||||
"question": "¿De qué *mes* inicia?",
|
||||
"handler": "recibir_inicio_mes",
|
||||
"type": "keyboard",
|
||||
"options": [
|
||||
"Enero", "Febrero", "Marzo",
|
||||
@@ -49,14 +58,12 @@
|
||||
{
|
||||
"state": "FIN_DIA",
|
||||
"question": "¿Qué *día* termina?",
|
||||
"handler": "recibir_fin_dia",
|
||||
"type": "text",
|
||||
"next_step": "FIN_MES"
|
||||
},
|
||||
{
|
||||
"state": "FIN_MES",
|
||||
"question": "¿De qué *mes* termina?",
|
||||
"handler": "recibir_fin_mes",
|
||||
"type": "keyboard",
|
||||
"options": [
|
||||
"Enero", "Febrero", "Marzo",
|
||||
@@ -69,15 +76,20 @@
|
||||
{
|
||||
"state": "HORARIO",
|
||||
"question": "¿Cuál es el horario? Ej: `09:00-11:00` o `Todo el día`.",
|
||||
"handler": "recibir_horario",
|
||||
"type": "text",
|
||||
"next_step": "MOTIVO"
|
||||
},
|
||||
{
|
||||
"state": "MOTIVO",
|
||||
"question": "Entendido. ¿Cuál es el motivo o comentario adicional?",
|
||||
"handler": "recibir_motivo_fin",
|
||||
"type": "text"
|
||||
"type": "text",
|
||||
"next_step": "FLOW_END"
|
||||
},
|
||||
{
|
||||
"state": "FLOW_END",
|
||||
"variable": "FLOW_END",
|
||||
"question": "✅ Gracias. Tu permiso quedó registrado y RH revisará la información. Si necesitas otro, vuelve a iniciar con /permiso.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,55 +1,67 @@
|
||||
{
|
||||
"flow_name": "onboarding",
|
||||
"steps": [
|
||||
{
|
||||
"state": -2,
|
||||
"variable": "AVISO_INICIAL",
|
||||
"question": "⚠️ AVISO IMPORTANTE\n\nEste formulario crea tu expediente oficial.\n\n• Lee cada pregunta con atención.\n• Responde solo lo que se te pide.\n• Escribe /cancelar en cualquier momento para detener el proceso.\n\nConfirma cuando estés lista.",
|
||||
"type": "keyboard",
|
||||
"options": ["Comenzar"]
|
||||
},
|
||||
{
|
||||
"state": -1,
|
||||
"variable": "INTRO_PERSONALES",
|
||||
"question": "SECCIÓN 1 · DATOS PERSONALES\n\nUsaremos tu información exactamente como aparece en tus documentos oficiales.\n\n(Confirma para continuar)",
|
||||
"type": "keyboard",
|
||||
"options": ["Continuar"]
|
||||
},
|
||||
{
|
||||
"state": 0,
|
||||
"variable": "NOMBRE_SALUDO",
|
||||
"question": "¿Cómo te gusta que te llamemos?",
|
||||
"type": "text",
|
||||
"next_step": 1
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 1,
|
||||
"variable": "NOMBRE_COMPLETO",
|
||||
"question": "Escribe tus nombres (SIN apellidos), exactamente como aparecen en tu INE.",
|
||||
"type": "text",
|
||||
"next_step": 2
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 2,
|
||||
"variable": "APELLIDO_PATERNO",
|
||||
"question": "Apellido paterno:",
|
||||
"type": "text",
|
||||
"next_step": 3
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 3,
|
||||
"variable": "APELLIDO_MATERNO",
|
||||
"question": "Apellido materno:",
|
||||
"type": "text",
|
||||
"next_step": 4
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 4,
|
||||
"variable": "CUMPLE_DIA",
|
||||
"question": "Fecha de nacimiento · Día (solo número, ej. 13)",
|
||||
"type": "text",
|
||||
"next_step": 5
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 5,
|
||||
"variable": "CUMPLE_MES",
|
||||
"question": "Fecha de nacimiento · Mes",
|
||||
"type": "keyboard",
|
||||
"options": ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
|
||||
"next_step": 6
|
||||
"options": [
|
||||
"Enero", "Febrero", "Marzo",
|
||||
"Abril", "Mayo", "Junio",
|
||||
"Julio", "Agosto", "Septiembre",
|
||||
"Octubre", "Noviembre", "Diciembre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 6,
|
||||
"variable": "CUMPLE_ANIO",
|
||||
"question": "Fecha de nacimiento · Año (4 dígitos)",
|
||||
"type": "text",
|
||||
"next_step": 7
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 7,
|
||||
@@ -59,7 +71,7 @@
|
||||
"options": ["Coahuila", "Nuevo León", "Otro"],
|
||||
"next_steps": [
|
||||
{ "value": "Otro", "go_to": 7.1 },
|
||||
{ "value": "default", "go_to": 8 }
|
||||
{ "value": "default", "go_to": 7.5 }
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -67,70 +79,68 @@
|
||||
"variable": "ESTADO_NACIMIENTO_OTRO",
|
||||
"question": "Escribe el nombre del estado donde naciste.",
|
||||
"type": "text",
|
||||
"next_step": 8
|
||||
"next_step": 7.5
|
||||
},
|
||||
{
|
||||
"state": 7.5,
|
||||
"variable": "INTRO_ADMIN",
|
||||
"question": "SECCIÓN 2 · DATOS ADMINISTRATIVOS\n\nEstos datos se usan para contrato, nómina y comunicación oficial.\n\n(Confirma para continuar)",
|
||||
"type": "keyboard",
|
||||
"options": ["Continuar"]
|
||||
},
|
||||
{
|
||||
"state": 8,
|
||||
"variable": "RFC",
|
||||
"question": "RFC completo (13 caracteres, sin espacios):",
|
||||
"type": "text",
|
||||
"next_step": 9
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 9,
|
||||
"variable": "CURP",
|
||||
"question": "CURP completo (18 caracteres):",
|
||||
"type": "text",
|
||||
"next_step": 10
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 10,
|
||||
"variable": "CORREO",
|
||||
"question": "Correo electrónico personal:",
|
||||
"type": "text",
|
||||
"next_step": 11
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 11,
|
||||
"variable": "CELULAR",
|
||||
"question": "Número de celular (10 dígitos):",
|
||||
"type": "text",
|
||||
"next_step": 12
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 12,
|
||||
"variable": "CALLE",
|
||||
"question": "Domicilio · Calle:",
|
||||
"type": "text",
|
||||
"next_step": 13
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 13,
|
||||
"variable": "NUM_EXTERIOR",
|
||||
"question": "Domicilio · Número exterior:",
|
||||
"type": "text",
|
||||
"next_step": 14
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 14,
|
||||
"variable": "NUM_INTERIOR",
|
||||
"question": "Domicilio · Número interior (0 si no aplica):",
|
||||
"type": "text",
|
||||
"next_step": 15
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 15,
|
||||
"variable": "COLONIA",
|
||||
"question": "Domicilio · Colonia:",
|
||||
"type": "text",
|
||||
"next_step": 16
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 16,
|
||||
"variable": "CODIGO_POSTAL",
|
||||
"question": "Código Postal (5 dígitos):",
|
||||
"type": "text",
|
||||
"next_step": 17
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 17,
|
||||
@@ -138,7 +148,7 @@
|
||||
"question": "Ciudad de residencia:",
|
||||
"type": "keyboard",
|
||||
"options": ["Saltillo", "Ramos Arizpe", "Arteaga", "Otro"],
|
||||
"next_steps": [
|
||||
"next_steps": [
|
||||
{ "value": "Otro", "go_to": 17.1 },
|
||||
{ "value": "default", "go_to": 18 }
|
||||
]
|
||||
@@ -155,167 +165,179 @@
|
||||
"variable": "ROL",
|
||||
"question": "Rol dentro del equipo:",
|
||||
"type": "keyboard",
|
||||
"options": ["Belleza", "Staff (Recepción)", "Marketing"],
|
||||
"next_step": 19
|
||||
"options": ["Belleza", "Staff (Recepción)", "Marketing"]
|
||||
},
|
||||
{
|
||||
"state": 19,
|
||||
"variable": "SUCURSAL",
|
||||
"question": "Sucursal principal:",
|
||||
"type": "keyboard",
|
||||
"options": ["Plaza Cima (Sur)", "Plaza O (Carranza)"],
|
||||
"next_step": 20
|
||||
"options": ["Plaza Cima (Sur)", "Plaza O (Carranza)"]
|
||||
},
|
||||
{
|
||||
"state": 20,
|
||||
"variable": "INICIO_DIA",
|
||||
"question": "Fecha de ingreso · Día:",
|
||||
"type": "text",
|
||||
"next_step": 21
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 21,
|
||||
"variable": "INICIO_MES",
|
||||
"question": "Fecha de ingreso · Mes:",
|
||||
"type": "keyboard",
|
||||
"options": ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
|
||||
"next_step": 22
|
||||
"options": [
|
||||
"Enero", "Febrero", "Marzo",
|
||||
"Abril", "Mayo", "Junio",
|
||||
"Julio", "Agosto", "Septiembre",
|
||||
"Octubre", "Noviembre", "Diciembre"
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 22,
|
||||
"variable": "INICIO_ANIO",
|
||||
"question": "Fecha de ingreso · Año:",
|
||||
"type": "keyboard",
|
||||
"options": ["2024", "2025", "2026"],
|
||||
"next_step": 23
|
||||
"options": ["2024", "2025", "2026"]
|
||||
},
|
||||
{
|
||||
"state": 22.5,
|
||||
"variable": "INTRO_EMERGENCIA",
|
||||
"question": "SECCIÓN 3 · CONTACTO DE EMERGENCIA\n\nEsta persona solo será contactada en una emergencia real.\n\n(Confirma para continuar)",
|
||||
"type": "keyboard",
|
||||
"options": ["Continuar"]
|
||||
},
|
||||
{
|
||||
"state": 23,
|
||||
"variable": "REF1_NOMBRE",
|
||||
"question": "Referencia 1 · Nombre completo:",
|
||||
"type": "text",
|
||||
"next_step": 24
|
||||
"variable": "EMERGENCIA_NOMBRE",
|
||||
"question": "Contacto de emergencia · Nombre completo:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 24,
|
||||
"variable": "REF1_TELEFONO",
|
||||
"question": "Referencia 1 · Teléfono:",
|
||||
"type": "text",
|
||||
"next_step": 25
|
||||
"variable": "EMERGENCIA_TEL",
|
||||
"question": "Contacto de emergencia · Teléfono:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 25,
|
||||
"variable": "REF1_TIPO",
|
||||
"question": "Referencia 1 · Relación:",
|
||||
"variable": "EMERGENCIA_RELACION",
|
||||
"question": "Relación con el contacto de emergencia:",
|
||||
"type": "keyboard",
|
||||
"options": ["Familiar", "Amistad", "Trabajo", "Académica", "Otra"],
|
||||
"options": ["Padre/Madre", "Pareja", "Hermano/a", "Hijo/a", "Amigo/a", "Otro"],
|
||||
"next_steps": [
|
||||
{ "value": "Otra", "go_to": 25.1 },
|
||||
{ "value": "Otro", "go_to": 25.1 },
|
||||
{ "value": "default", "go_to": 26 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 25.1,
|
||||
"variable": "REF1_TIPO_OTRA",
|
||||
"question": "Especifíca la relación con la Referencia 1:",
|
||||
"variable": "EMERGENCIA_RELACION_OTRA",
|
||||
"question": "Describe la relación con tu contacto de emergencia:",
|
||||
"type": "text",
|
||||
"next_step": 26
|
||||
},
|
||||
{
|
||||
"state": 26,
|
||||
"variable": "REF2_NOMBRE",
|
||||
"question": "Referencia 2 · Nombre completo:",
|
||||
"type": "text",
|
||||
"next_step": 27
|
||||
"variable": "INTRO_REFERENCIAS",
|
||||
"question": "SECCIÓN 4 · REFERENCIAS PERSONALES\n\nNecesitamos 3 referencias reales que te conozcan.\n\n(Confirma para continuar)",
|
||||
"type": "keyboard",
|
||||
"options": ["Continuar"]
|
||||
},
|
||||
{
|
||||
"state": 27,
|
||||
"variable": "REF2_TELEFONO",
|
||||
"question": "Referencia 2 · Teléfono:",
|
||||
"type": "text",
|
||||
"next_step": 28
|
||||
"variable": "REF1_NOMBRE",
|
||||
"question": "Referencia 1 · Nombre completo:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 28,
|
||||
"variable": "REF2_TIPO",
|
||||
"question": "Referencia 2 · Relación:",
|
||||
"type": "keyboard",
|
||||
"options": ["Familiar", "Amistad", "Trabajo", "Académica", "Otra"],
|
||||
"next_steps": [
|
||||
{ "value": "Otra", "go_to": 28.1 },
|
||||
{ "value": "default", "go_to": 29 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 28.1,
|
||||
"variable": "REF2_TIPO_OTRA",
|
||||
"question": "Especifíca la relación con la Referencia 2:",
|
||||
"type": "text",
|
||||
"next_step": 29
|
||||
"variable": "REF1_TELEFONO",
|
||||
"question": "Referencia 1 · Teléfono:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 29,
|
||||
"variable": "REF3_NOMBRE",
|
||||
"question": "Referencia 3 · Nombre completo:",
|
||||
"variable": "REF1_TIPO",
|
||||
"question": "Referencia 1 · Relación:",
|
||||
"type": "keyboard",
|
||||
"options": ["Familiar", "Amistad", "Trabajo", "Académica", "Otra"],
|
||||
"next_steps": [
|
||||
{ "value": "Otra", "go_to": 29.1 },
|
||||
{ "value": "default", "go_to": 30 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 29.1,
|
||||
"variable": "REF1_TIPO_OTRA",
|
||||
"question": "Especifica la relación con la Referencia 1:",
|
||||
"type": "text",
|
||||
"next_step": 30
|
||||
},
|
||||
{
|
||||
"state": 30,
|
||||
"variable": "REF3_TELEFONO",
|
||||
"question": "Referencia 3 · Teléfono:",
|
||||
"type": "text",
|
||||
"next_step": 31
|
||||
"variable": "REF2_NOMBRE",
|
||||
"question": "Referencia 2 · Nombre completo:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 31,
|
||||
"variable": "REF3_TIPO",
|
||||
"question": "Referencia 3 · Relación:",
|
||||
"type": "keyboard",
|
||||
"options": ["Familiar", "Amistad", "Trabajo", "Académica", "Otra"],
|
||||
"next_steps": [
|
||||
{ "value": "Otra", "go_to": 31.1 },
|
||||
{ "value": "default", "go_to": 32 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 31.1,
|
||||
"variable": "REF3_TIPO_OTRA",
|
||||
"question": "Especifíca la relación con la Referencia 3:",
|
||||
"type": "text",
|
||||
"next_step": 32
|
||||
"variable": "REF2_TELEFONO",
|
||||
"question": "Referencia 2 · Teléfono:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 32,
|
||||
"variable": "EMERGENCIA_NOMBRE",
|
||||
"question": "Contacto de emergencia · Nombre completo:",
|
||||
"variable": "REF2_TIPO",
|
||||
"question": "Referencia 2 · Relación:",
|
||||
"type": "keyboard",
|
||||
"options": ["Familiar", "Amistad", "Trabajo", "Académica", "Otra"],
|
||||
"next_steps": [
|
||||
{ "value": "Otra", "go_to": 32.1 },
|
||||
{ "value": "default", "go_to": 33 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 32.1,
|
||||
"variable": "REF2_TIPO_OTRA",
|
||||
"question": "Especifica la relación con la Referencia 2:",
|
||||
"type": "text",
|
||||
"next_step": 33
|
||||
},
|
||||
{
|
||||
"state": 33,
|
||||
"variable": "EMERGENCIA_TEL",
|
||||
"question": "Contacto de emergencia · Teléfono:",
|
||||
"type": "text",
|
||||
"next_step": 34
|
||||
"variable": "REF3_NOMBRE",
|
||||
"question": "Referencia 3 · Nombre completo:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 34,
|
||||
"variable": "EMERGENCIA_RELACION",
|
||||
"question": "Relación con el contacto de emergencia:",
|
||||
"variable": "REF3_TELEFONO",
|
||||
"question": "Referencia 3 · Teléfono:",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 35,
|
||||
"variable": "REF3_TIPO",
|
||||
"question": "Referencia 3 · Relación:",
|
||||
"type": "keyboard",
|
||||
"options": ["Padre/Madre", "Esposo/a", "Pareja", "Hijo/a", "Hermano/a", "Amigo/a", "Otro"],
|
||||
"options": ["Familiar", "Amistad", "Trabajo", "Académica", "Otra"],
|
||||
"next_steps": [
|
||||
{ "value": "Otro", "go_to": 34.1 },
|
||||
{ "value": "default", "go_to": -1 }
|
||||
{ "value": "Otra", "go_to": 35.1 },
|
||||
{ "value": "default", "go_to": 99 }
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": 34.1,
|
||||
"variable": "EMERGENCIA_RELACION_OTRA",
|
||||
"question": "Especifíca la relación con el contacto de emergencia:",
|
||||
"type": "text",
|
||||
"next_step": -1
|
||||
"state": 35.1,
|
||||
"variable": "REF3_TIPO_OTRA",
|
||||
"question": "Especifica la relación con la Referencia 3:",
|
||||
"type": "text",
|
||||
"next_step": 99
|
||||
},
|
||||
{
|
||||
"state": 99,
|
||||
"variable": "FLOW_END",
|
||||
"question": "✅ ¡Gracias!\n\nTu registro quedó completo. RH validará la información y te confirmará los siguientes pasos.\n\nSi necesitas corregir algo, escribe /cancelar y empieza de nuevo.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,15 +2,28 @@
|
||||
"flow_name": "vacations",
|
||||
"steps": [
|
||||
{
|
||||
"state": "INICIO_DIA",
|
||||
"question": "🌴 **Solicitud de Vacaciones**\n\nVamos a registrar tu descanso. ¿Qué *día* inicia? (número, ej: 10)",
|
||||
"handler": "recibir_inicio_dia",
|
||||
"state": -2,
|
||||
"variable": "AVISO_GENERAL",
|
||||
"question": "🌴 SOLICITUD DE VACACIONES\n\nAntes de registrar tus fechas confirma que:\n\n• Ya hablaste con tu manager\n• Las fechas no se traslapan con guardias críticas\n• Sabes que el bot notificará al equipo de RH\n\nConfirma para continuar.",
|
||||
"type": "keyboard",
|
||||
"options": ["Continuar"]
|
||||
},
|
||||
{
|
||||
"state": -1,
|
||||
"variable": "INTRO_FECHAS",
|
||||
"question": "SECCIÓN ÚNICA · FECHAS Y MOTIVO\n\nComparte las fechas exactas del descanso y cualquier comentario relevante.",
|
||||
"type": "info"
|
||||
},
|
||||
{
|
||||
"state": 0,
|
||||
"variable": "INICIO_DIA",
|
||||
"question": "¿Qué *día* inicia tu descanso? (número, ej: 10)",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": "INICIO_MES",
|
||||
"state": 1,
|
||||
"variable": "INICIO_MES",
|
||||
"question": "¿De qué *mes* inicia?",
|
||||
"handler": "recibir_inicio_mes",
|
||||
"type": "keyboard",
|
||||
"options": [
|
||||
"Enero", "Febrero", "Marzo",
|
||||
@@ -20,22 +33,22 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": "INICIO_ANIO",
|
||||
"question": "¿De qué *año* inicia?",
|
||||
"handler": "recibir_inicio_anio",
|
||||
"state": 2,
|
||||
"variable": "INICIO_ANIO",
|
||||
"question": "¿De qué *año* inicia? (elige el actual o el siguiente)",
|
||||
"type": "keyboard",
|
||||
"options": ["current_year", "next_year"]
|
||||
},
|
||||
{
|
||||
"state": "FIN_DIA",
|
||||
"state": 3,
|
||||
"variable": "FIN_DIA",
|
||||
"question": "¿Qué *día* termina tu descanso?",
|
||||
"handler": "recibir_fin_dia",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": "FIN_MES",
|
||||
"state": 4,
|
||||
"variable": "FIN_MES",
|
||||
"question": "¿De qué *mes* termina?",
|
||||
"handler": "recibir_fin_mes",
|
||||
"type": "keyboard",
|
||||
"options": [
|
||||
"Enero", "Febrero", "Marzo",
|
||||
@@ -45,17 +58,23 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"state": "FIN_ANIO",
|
||||
"question": "¿De qué *año* termina tu descanso?",
|
||||
"handler": "recibir_fin_anio",
|
||||
"state": 5,
|
||||
"variable": "FIN_ANIO",
|
||||
"question": "¿De qué *año* termina tu descanso? (elige el actual o el siguiente)",
|
||||
"type": "keyboard",
|
||||
"options": ["current_year", "next_year"]
|
||||
},
|
||||
{
|
||||
"state": "MOTIVO",
|
||||
"state": 6,
|
||||
"variable": "MOTIVO",
|
||||
"question": "Entendido. ¿Cuál es el motivo o comentario adicional?",
|
||||
"handler": "recibir_motivo_fin",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"state": 99,
|
||||
"variable": "FLOW_END",
|
||||
"question": "✅ Solicitud registrada.\n\nRH validará la información y te confirmará si las fechas quedan asignadas. Si necesitas cambiar algo, vuelve a iniciar con /vacaciones.",
|
||||
"type": "info"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user