{{ tk.text }}
{{ tk.text }}
Recrearte Travels
{{ t.regionLangTitle }}
{{ t.regionCurTitle }}
{{ st.n }}
{{ st.label }}

{{ t.acctTitle }}, {{ userName }}

{{ t.acctSub }}

{{ as.label }}
{{ as.value }}
{{ t.acctNextTrips }}
{{ tr.route }}
{{ tr.date }} · {{ tr.airline }} · {{ tr.fare }}
{{ t.bookingCode }} {{ tr.code }} · {{ t.pnrLabel }} {{ tr.pnr }}
{{ tr.aviso }}
{{ tr.statusLabel }}
{{ tr.price }}
{{ t.acctPastTrips }}
{{ hr.route }}
{{ hr.airline }}
{{ hr.date }}
{{ hr.statusLabel }}
{{ hr.price }}
{{ t.acctData }}

{{ adminHeading }}

{{ adminSubline }}

{{ tp.nombre }}
{{ t.kpiTicketsSold }}
{{ tp.boletos }}
{{ t.kpiCharged }}
{{ tp.vendido }}
{{ t.kpiCommissionTotal }}
{{ tp.comision }}
{{ tp.nota }}
{{ kp.label }}
{{ kp.value }}
{{ kp.note }}
{{ ticketCount }}
Últimas conversaciones
Ordenadas por lo más reciente. Las que el cliente escribió último van marcadas.
Contacto
Etapa
Último mensaje
Cuándo
Estado
Todavía no hay conversaciones.
Aparecen apenas alguien escriba al WhatsApp conectado.
Cargando…
{{ cr.initials }}
{{ cr.name }}
{{ cr.phone }}
{{ cr.etapa }}
{{ cr.last }}
{{ cr.time }}
{{ cr.estadoLabel }}
{{ avisosTitulo }}
{{ avisosUrgentes }}
{{ av.clase }}
{{ av.resumen }}
{{ t.alertsOn }} {{ av.referencia }} · {{ av.cuando }}
{{ t.colCode }}
{{ t.colProvider }}
{{ t.colPax }}
{{ t.colRoute }}
{{ t.colDate }}
{{ t.colAirline }}
{{ t.colStatus }}
{{ t.kpiCommission }}
{{ t.colTotal }}
{{ tk.code }}
{{ tk.pnr }}
{{ tk.provider }}
{{ tk.pax }}
{{ tk.route }}
{{ tk.date }}
{{ tk.airline }}
{{ tk.fare }}
{{ tk.statusLabel }}
{{ tk.commission }}
{{ tk.price }}
{{ t.pipelineTitle }}
{{ crmResumenPipeline }}
Todavía no hay un flujo publicado
Las columnas del tablero son las etapas del flujo del agente. Sin flujo no hay embudo que dibujar, aunque sí se guardan los mensajes que lleguen.
{{ pl.titulo }} {{ pl.count }}

{{ pl.subtitulo }}

vacío
{{ cd.name }} MANUAL
{{ cd.phone }}
{{ ch.text }}
{{ cd.when }} Ver ›
Fuera del embudo

Derivadas a una persona o cerradas. Se muestran aparte, no ocultas: siguen siendo gente esperando respuesta.

{{ cd.name }}
{{ cd.phone }}
{{ cd.when }} Ver ›
Esperando cotización
La IA ya les preguntó todo y quedó anotado. Cotizar lo hace una persona: una cotización es un compromiso comercial, y el precio que se dice es el que después se reclama.
Nadie esperando
Cuando alguien termine de dar sus datos, aparece acá.
{{ cd.name }} MANUAL
{{ cd.phone }}
{{ ch.text }}
{{ cd.when }} Cotizar ›
{{ t.chatsTitle }} {{ crmSinResponder }}
Aparecen apenas alguien escriba al WhatsApp conectado.
Cargando…
{{ chatName }}
{{ chatChannel }}
{{ ms.etiqueta }}
{{ ms.text }}
{{ ms.quien }} {{ ms.meta }} {{ ms.tick }}
⚠ La IA no encontró una respuesta válida y mandó esto de respaldo — revisar
IA escribiendo
{{ crmError }}
Pasaron más de 24 horas desde el último mensaje del cliente. WhatsApp solo acepta plantillas aprobadas fuera de esa ventana.
El flujo tal cual está configurado, con lo que la IA consiguió con este cliente. Lo verde se calcula con la misma función que abre las puertas del motor: no es un informe parecido, es lo que el sistema aplica de verdad.
{{ crmFlujoDesfase }}
Todavía no hay ningún flujo publicado.
Publica el cerebro para que esta pantalla tenga qué mostrar.
Flujos en esta conversación: {{ crmFlujosActivadosResumen }}
El recorrido {{ crmRecorridoCuenta }}
{{ bq.numero }} {{ bq.titulo }} aquí está ahora ✓ completo no llegó
{{ bq.objetivo }}
{{ ac.texto }} {{ ac.etiqueta }} {{ ac.cuando }}
{{ ac.error }}
{{ bq.cuenta }}
{{ pa.marca }} {{ pa.numero }} {{ pa.etiqueta }} obligatorio lo llena el sistema {{ pa.valor }}
FUERA DE LOS FLUJOS
{{ bq.numero }} {{ bq.titulo }} aquí está ahora no llegó
{{ bq.objetivo }}
{{ bq.cuenta }}
{{ pa.marca }} {{ pa.numero }} {{ pa.etiqueta }} {{ pa.valor }}
GUARDADO, PERO YA NO SE PIDE
Estos datos los consiguió antes de que la pregunta se borrara del cerebro. Siguen guardados.
{{ hu.campo }} {{ hu.valor }}
Un turno por cada vez que la IA habló: en qué bloque entró, con qué modelo, qué herramientas corrió y qué le corrigió el código antes de enviar. Si la última columna empieza a llenarse, algo se rompió.
La IA todavía no habló en esta conversación.
Aparece un turno por cada respuesta suya.
Lleva esta conversación al cerebro para que la revise.
{{ tu.paso }} {{ tu.when }} · {{ tu.modelo }}
{{ to.text }}
Sin correcciones
{{ pr.text }}

Elige una conversación

Selecciona a alguien de la lista para ver el chat, lo que la IA lleva capturado y su traza.

{{ t.clientsTitle }}
{{ t.colClient }}
{{ t.colContact }}
{{ t.colPhone }}
{{ t.colBookings }}
{{ t.kpiCommission }}
{{ t.colSpend }}
{{ cl.name }}
{{ cl.country }}
{{ cl.email }}
{{ cl.phone }}
{{ cl.bookings }}
{{ cl.commission }}
{{ cl.spend }}
{{ t.webOptsTitle }}
{{ t.webOptsSub }}
{{ t.optWhats }}
{{ t.optWhatsNote }}
{{ t.optTabsNote }}
{{ configError }}
{{ t.bannersTitle }}
{{ bannerCount }}
{{ bn.title }}
{{ bn.stateLabel }}
{{ t.tickerTitle }}

{{ t.tickerSub }}

{{ t.destManageTitle }}

{{ t.destManageSub }}

{{ t.destCity2 }}
{{ t.destPriceUsd }}
{{ t.destShown }}
{{ dr.city }}
{{ dr.code }}
{{ dr.price }}
Lo que gasta la IA
a
{{ costosRangoError }}
La pregunta no es cuánto se gastó —eso lo dice la factura— sino en qué se va. Cada llamada al modelo deja su registro con lo que costó, así que acá se ve qué parte es conversar con clientes y qué parte es probar cambios.
Cargando…
{{ kp.label }}
{{ kp.value }}
{{ kp.note }}
Parte de este gasto se calculó con un modelo que no está en la tabla de precios, así que el total es una estimación por arriba. {{ costosPreciosAl }}
En qué se va
Lo de la derecha es lo que cuesta hacerlo una vez: es el número con el que se decide, no el total del mes.
Todavía no hay gasto registrado en esta ventana.
{{ ac.etiqueta }} {{ ac.veces }} {{ ac.total }}
{{ ac.promedio }} {{ ac.porcentaje }}
Las conversaciones más caras
Las diez de arriba. Una lista de trescientas no se lee, y lo que se busca acá es cuál se fue de precio.
Ninguna todavía.
Por modelo
{{ mo.modelo }} {{ mo.veces }} {{ mo.total }}
Día a día
Todavía no hay días con gasto.
{{ di.dia }}
El cerebro de Laura
{{ cerebroTitulo }}
Lo que sabe, cómo habla y por qué pasos lleva la conversación. Publicar crea una versión nueva: las conversaciones en curso siguen con la que tenían, así que editar acá no deja a nadie a mitad de camino en un bloque que ya no existe.
Cargando…
El cerebro está con candado
Es lo único del sistema que le habla a clientes reales. El candado está aparte de tu sesión para que nadie lo toque de pasada, ni desde un computador que quedó abierto. Dura una jornada.
{{ cbClaveMal }}
El cerebro, tal cual
{{ id.titulo }}
{{ id.cuerpo }}
Qué ofrecen, y nada más
· {{ sv.text }}
Cómo habla
· {{ to.text }}
El recorrido
De acá no se sale: quien llegue a este paso se queda para siempre, aunque vuelva pidiendo otra cosa.
{{ pa.tramo }}: {{ pa.instruccion }}
Qué consigue acá
No pide ningún dato.
{{ da.etiqueta }} {{ da.fuerza }}
{{ da.comoPedirlo }}
{{ da.porque }}
Qué puede consultar
Nada. Acá solo conversa.
· {{ he.text }}
A su criterio
Nada suelto acá.
· {{ cr.text }}
Nunca hace
Nada prohibido en particular.
· {{ nu.text }}
{{ pa.pie }} · Se ve en {{ pa.columna }}
{{ cbReglasFolderTitulo }}
🛠️
Reglas del sistema
De fábrica, sin tocar · {{ cbReglasCantSistema }}
🧑‍💼
Reglas humanas
Las escribió o cambió el equipo · {{ cbReglasCantHumana }}
No hay reglas acá.
{{ cbPersonaAbierta.etiqueta }}
{{ cbPersonaAbierta.resto }}
Esto vive en un paso del flujo, no en la lista de reglas — para cambiarlo, pedilo por el chat.
{{ cbReglaAbierta.resto }}
¿Borrar esta regla? No tiene deshacer.
{{ er.text }}
{{ cbFlujosTitulo }}
FLUJO PADRE
Todavía no hay flujos armados. Se piden por el chat, como una regla o una acción — pedí, por ejemplo, "creá un flujo de Cruceros".
Así se ve este flujo activado con un cliente nuevo — sin datos todavía.
{{ bq.numero }} {{ bq.titulo }}
{{ bq.objetivo }}
{{ bq.cuenta }}
{{ pa.etiqueta }} obligatorio lo completa el sistema {{ pa.pregunta }}
{{ cbFlujoAbierto.notaSubcategoria }}
Activador
{{ cbFlujoAbierto.activador }}
{{ pa.titulo }}
{{ pr.etiqueta }}
{{ pr.comoPedirlo }}
No pide ningún dato en este paso.
Reglas de esta tarjeta
Todavía no hay reglas acá — se agregan por chat.
{{ cbFlujoAbierto.reglaAbierta.subcategoriaTexto }}
{{ cbFlujoAbierto.reglaAbierta.texto }}
¿Borrar esta regla? No tiene deshacer.
Historial de este flujo
Cargando…
Todavía no hay cambios publicados sobre este flujo.
{{ hf.origenTexto }} En uso
{{ hf.titulo }}
{{ hf.fecha }}
{{ cbReglasTitulo }}
{{ cbReglasVacioTexto }}
{{ cg.origenTexto }} {{ cg.fecha }} En uso
{{ cg.titulo }}
Cargando…
{{ cbCambioError }}
{{ cbCambioTitulo }}
{{ cbCambioFecha }}
Es la primera versión publicada: no hay una anterior con la que compararla.
{{ gr.texto }}
¿Este cambio necesita un ajuste? Se abre en el chat, con el diff de siempre antes de publicar.
Editando el documento a mano. Al guardar, se publica como una versión nueva.
{{ cbEditorError }}
Hablale al cerebro
Leyendo…
{{ cbConocimientoError }}
{{ cbConocimiento }}
Contale qué querés que cambie, con tus palabras. Puede ver todo el cerebro y decidir dónde va cada cosa — y también revisar una conversación real si algo salió mal.
{{ ch.texto }}
{{ cbCulpa }}
{{ cbTurnoSenalado }}
{{ pd.cabecera }}
🔎 {{ pd.registroEncontrado }} Este cambio la reemplaza — no crea una regla nueva.
Pediste: {{ pd.loQuePediste }}
{{ pd.explicacion }}
Así respondería de verdad
{{ pd.clienteEjemplo }}
{{ ej.text }}
⚠ Guardarraíl: {{ gu.text }}
{{ pd.tituloLugares }}
· {{ lu.text }}
{{ av.text }}
{{ di.donde }}
{{ tr.texto }}
Probar con otro mensaje
El ejemplo de arriba ya muestra cómo respondería. Si querés ver con otra frase del cliente, escribila acá. No se publica nada y nadie recibe un mensaje.
{{ cbEnsayoPaso }}
{{ bu.text }}
{{ cbEnsayoBurbujasCantidad }}
Ningún guardarraíl la bloqueó.
Guardarraíl: {{ gu.text }}
{{ cbEnsayoPasaria }}
Guardaría {{ ca.text }}
Para pasarle a quien programa
{{ cbParaProgramador }}
Copiado
{{ cbAdjunta }}
Buscá por nombre o teléfono. El editor mira la traza antes de proponer nada.
Buscando…
Contale al editor qué activa este flujo y qué necesita preguntar — arma el activador y los pasos, y podés probarlo abajo antes de publicar.
Todavía no hay flujos armados — creá uno primero con "Flujo nuevo".
Marca uno o varios destinos — la misma regla se manda a cada uno; si ya existe en alguno, no se duplica ahí.
{{ cbErrorEditor }}
{{ cp.nota }}
Cada bloque es un paso de la conversación. La IA no avanza al siguiente hasta tener lo que este pide, y el color dice en qué columna del pipeline se ve mientras está acá.
{{ cp.nota }}
Qué pregunta acá
{{ pr.campo }}
Una por línea. Hacen falta al menos dos.
{{ cp.nota }}
Este bloque no pide nada. La IA pasa de largo apenas entra.
A dónde sigue
Avanza exige tener todos los datos de este bloque. Vuelve no: se retrocede justo cuando lo de acá fracasó, y exigir el dato que define el éxito para declarar el fracaso es una contradicción.
{{ sa.titulo }}
Qué puede consultar acá
{{ cp.nota }}
Por acá entran las conversaciones nuevas, así que no se puede borrar.
Instrucciones que valen en varios bloques a la vez. Van arriba de todo lo demás en el prompt, así que ganan cuando chocan con el detalle de una pregunta.
Este flujo no tiene reglas de tramo.
{{ zo.titulo }} {{ zo.orden }} · alcanza a {{ zo.alcance }}
{{ cp.nota }}
Las reglas que valen en todos los pasos. Son largas y llevan ejemplos adentro a propósito: un modelo imita mucho mejor de lo que obedece, y un «así no / así sí» rinde más que tres párrafos de prohibición.
Lo que no se toca desde acá son las garantías —no inventar cifras, no confirmar una compra—: esas viven en los guardarraíles, y una garantía que cualquiera reescribe no es una garantía.
Este flujo no trae reglas propias, así que la IA está usando las del código. Agregá una para empezar a manejarlas desde acá.
{{ rg.n }}
Cada publicación queda guardada. Volver a una anterior no toca las conversaciones en curso: cada una terminó anclada a la versión con la que empezó, y vale para las que empiecen de ahora en adelante.
Todavía no publicaste ninguna versión.
{{ ve.n }}
{{ ve.cuando }} · {{ ve.notas }}
Así no se puede publicar
· {{ er.text }}
{{ cerebroOk }}
Hay cambios sin publicar: la IA sigue usando la versión anterior.
El agente de WhatsApp
Contesta solo los mensajes que llegan al WhatsApp conectado, siguiendo el flujo publicado. Nunca cobra, no emite y no confirma una compra: cuando llega ahí, deriva a una persona.
{{ agenteError }}
Con qué modelo conversa
Cambiarlo vale para todas las conversaciones, también las que están a medias. Cada uno necesita la credencial de su proveedor cargada en Integraciones.
Con qué modelo edita el cerebro
El que redacta las reglas y decide dónde va cada cosa cuando le pedís un cambio en el chat. Puede ser distinto al que conversa — {{ notaCredEditor }}.
Qué hace falta para que conteste
Las tres cosas. Sin cualquiera de ellas el interruptor puede estar encendido y aun así nadie responde.
{{ rq.label }} {{ rq.nota }}
{{ t.optionsTitle }}
Saldo con proveedores
Duffel no expone el saldo por su API, asi que este registro es la unica fuente de verdad del sistema. Cada recarga hay que anotarla aca, o el sistema creera que hay menos fondos de los que hay.
{{ sd.nombre }}
{{ sd.nivelTexto }}
{{ sd.disponible }}
Recargado {{ sd.recargado }} · gastado {{ sd.debitado }}
{{ sd.ultimo }}
{{ sd.ritmo }}
{{ sd.aviso }}
{{ sd.concCuando }}
{{ sd.concLimpiaTexto }}
{{ sd.concError }}
{{ ch.resumen }}
{{ sd.bloqueoTitulo }}
{{ sd.bloqueoMotivo }}
Registrar movimiento
El monto va en la moneda, no en centavos. Una recarga suma; un ajuste corrige un error de carga anterior, porque los movimientos no se editan ni se borran.
{{ sdError }}
Movimiento registrado.
Tipo
Monto
Motivo
Fecha
{{ mv.tipoTexto }}
{{ mv.monto }}
{{ mv.motivo }}
{{ mv.fecha }}
Sin movimientos. Registra la primera recarga para que el sistema sepa cuanto saldo hay.
Comisiones
Cuanto le suma la agencia al precio del proveedor. Gana la regla mas especifica: primero aerolinea, despues ruta, despues proveedor, y al final la general.
Regla
Aplica a
Margen
Piso
Techo
{{ cm.nombre }}prioridad {{ cm.prioridad }}
{{ cm.aplica }}
{{ cm.margenTexto }}
{{ cm.piso }}
{{ cm.techo }}
Sin reglas todavia. Sin ninguna regla que calce, los vuelos se venden al costo.
{{ cmTitulo }}
Deja en blanco lo que no aplique. Una regla sin aerolinea, ruta ni proveedor es la general.
{{ cmError }}
Integraciones
{{ integSubtitulo }}
Prueba y producción son cosas distintas. Una credencial de producción emite boletos reales y debita el saldo de la agencia. Un token de producción guardado en modo prueba se rechaza.
{{ gi.titulo }}
{{ gi.nota }}
Credencial {{ ig.mascara }}
{{ ig.estado }}
{{ ig.textoActiva }}
{{ ig.ayuda }}
1 Copia estos datos desde Meta
Los cuatro están en tu app de Meta. Empieza por acá: el token de verificación viene después.
{{ cp.pista }}
{{ ig.verifDetalle }}
Número: {{ ig.verifNumero }}
Cuenta: {{ ig.verifCuenta }}
2 Genera el token de verificación
Este no existe en Meta: se inventa acá. Genéralo, guarda, y recién ahí lo pegas allá.
Después de generarlo hay que guardar antes de pegarlo en Meta.
{{ cp.pista }}
{{ ig.error }}
✓ Credencial guardada.
3 Pega esto en Meta
Meta → tu app → WhatsApp → Configuración → Webhooks → Editar.
URL de devolución de llamada
{{ webhookWhatsapp }}
Cópiala con el botón. Sin barra al final, sin www y con https: al verificar, Meta no sigue redirecciones y cualquiera de las tres falla con el mismo error genérico.
Token de verificación
El del paso 2, con el botón Copiar.
4 Suscríbete al campo messages
En la misma pantalla, «Administrar». Sin esto Meta muestra la URL como verificada y aun así no llega ningún mensaje.
5 Escríbele al número
Si la conversación aparece en Chats, quedó conectado.
Recrearte Travels

{{ authTitle }}

{{ authSub }}

{{ t.emailInvalid }}
✓ {{ t.emailValid }}
{{ strengthLabel }}
{{ t.passMismatch }}
✓ {{ t.passMatch }}
{{ t.forgot }}
{{ authError }}
✓ {{ authDoneMsg }}
{{ t.authSideTitle }}
{{ t.authSideSub }}
{{ t.loadFlights }}
{{ t.loadHotels }}
{{ t.loadPackages }}
{{ t.loadDinero }}
{{ error }}
{{ t.hotelMode }}
{{ t.pkgMode }}
{{ depTitle }}
{{ calMonthLabel }}
{{ wd.w }}
{{ retTitle }}
{{ calMonthLabel }}
{{ wd.w }}
{{ t.adults }}
12+
{{ adults }}
{{ t.children }}
2–11
{{ children }}
{{ t.childAgesHelp }}
{{ en.label }}
{{ t.cabin }}
{{ b.glyph }}
{{ b.title }}
{{ b.sub }}
{{ bl.glyph }}
{{ bl.title }}
{{ bl.sub }}

{{ t.hotelsTitle }}

{{ t.hotelsSub }}

{{ h.name }}
{{ h.score }}
{{ h.city }} · {{ h.country }}
{{ h.price }} {{ h.perNight }}

{{ t.pkgTitle }}

{{ t.pkgSub }}

{{ p.city }}
{{ p.country }} · {{ p.nights }}
{{ p.note }}
{{ p.price }}

{{ t.featuredTitle }}

{{ t.featuredSub }}

{{ d.city }}
{{ d.city }}
{{ d.code }}
{{ d.country }}
{{ d.note }} {{ d.cta }} ›
{{ dmCity }}
{{ dmCity }}
{{ dmCountry }}
{{ dmTitle }}
{{ t.dmSub }}
{{ destTitle }}{{ dmCity }}, {{ dmCountry }}
{{ depTitle }}
{{ calMonthLabel }}
{{ dmw.w }}
{{ retTitle }}
{{ calMonthLabel }}
{{ dmrw.w }}
{{ t.adults }}
{{ adults }}
{{ t.children }}
{{ children }}
{{ t.childAgesHelp }}
{{ dme.label }}
{{ error }}
{{ t.nlTitle }}
{{ t.nlSub }}
✓ {{ t.nlOk }}
{{ routeLabel }}
{{ searchMeta }}
{{ resultCount }}
{{ g.titulo }}
{{ g.cuenta }}
{{ c.an }}
{{ c.an }}
{{ s.tag }} {{ s.dateT }}
{{ s.depT }}
{{ s.from }}
{{ s.durT }}
{{ s.stopsT }}
{{ s.arrT }}
{{ s.to }}
{{ s.nextDay }}
{{ t.moreBaggage }}
{{ t.baggageShort }}
{{ c.rotuloPrecio }}
{{ c.precioDestacado }}
{{ c.lineaPax }} {{ c.desglose.tarifa }}
{{ t.taxesLine }} {{ c.desglose.impuestos }}
{{ t.commissionLine }} {{ c.desglose.comision }}
{{ t.finalPrice }} {{ c.price }}
{{ c.totalNote }}
{{ t.noResults }}

{{ t.fareTitle }}

{{ t.fareSub }}

{{ t.recommended }}
{{ f.name }}
{{ f.rotuloPrecio }}
{{ f.precioDestacado }}
{{ f.lineaPax }} {{ f.desglose.tarifa }}
{{ t.taxesLine }} {{ f.desglose.impuestos }}
{{ t.commissionLine }} {{ f.desglose.comision }}
{{ t.finalPrice }} {{ f.price }}
{{ f.priceNote }}
{{ bg.cuanto }}
{{ bg.que }}
{{ ft.mark }} {{ ft.label }}

{{ t.checkoutTitle }}

{{ p.title }}
✓ {{ t.docRut }}
{{ t.docPass }}
{{ t.docBad }}
{{ t.docHint }}
{{ t.contactData }}
{{ t.mailBad }}
✓ {{ t.mailOk }}
{{ t.telBad }}
✓ {{ t.telOk }}
{{ t.extrasTitle }}

{{ t.payTitle }}

{{ pagoComprador }}
{{ t.payTitle }}

{{ t.confirmTitle }}

{{ t.confirmDemo }}

{{ confirmSub }}

{{ confCode }}
{{ t.pnrLabel }}: {{ confPnr }}
{{ t.itinerary }}
{{ cs.route }} {{ cs.detail }}
{{ t.passengers }}
{{ cp.name }} · {{ cp.type }}
{{ t.totalPaid }}{{ confTotal }}