Saltearse al contenido

Transporte de pasajeros

La Mini App Transporte de pasajeros centraliza la operación de empresas, remiserías y prestadores de traslados programados. Combina una consola para administradores y transportistas con herramientas para que un agente de Atendium identifique clientes, genere reservas, consulte la agenda y acompañe cada viaje usando datos reales de la Mini App.

El flujo está pensado para reducir errores en direcciones y horarios: el agente conversa, identifica a la persona y entrega formularios personales con Google Maps. Una vez enviado el viaje, el sistema lo cotiza, evalúa las reglas, busca transportista y notifica el resultado en la misma conversación.

Qué problemas resuelve

  • Registra viajes de solo ida, ida y vuelta o regreso a otro destino.
  • Calcula distancia y duración estimadas a partir de direcciones georreferenciadas.
  • Cotiza por kilómetros facturables según la categoría y tarifa vigente.
  • Organiza clientes, pasajeros, responsables, empresas y transportistas.
  • Reutiliza domicilios y destinos frecuentes.
  • Define zonas de cobertura por radio o por un perímetro dibujado.
  • Aplica reglas de aceptación, autorización, asignación, modificación y cancelación.
  • Controla solicitudes pendientes, asignación y estados del viaje.
  • Asigna automáticamente al transportista preferido o al disponible más conveniente.
  • Controla disponibilidad semanal, ausencias, solapamientos y tiempos de traslado entre viajes.
  • Genera enlaces privados para alta, solicitud de viaje e itinerarios compartibles.
  • Mantiene una cuenta corriente de transportistas con créditos, débitos y ajustes.
  • Mantiene el contexto de la conversación para que el agente conozca viajes, horarios, precios y transportistas.
  • Permite que el agente atienda a clientes, administradores y transportistas según su identidad y permisos.

Secciones de la Mini App

SecciónPara qué se usa
Panel generalIndicadores, próximos viajes, situaciones que necesitan atención y acceso a las instrucciones ideales del agente.
ViajesAgenda en lista o calendario, filtros, vista diaria por horas y detalle de cada traslado.
SolicitudesPedidos que requieren aprobación o asignación, con rechazo y asignación asistida.
PersonasAlta y edición de transportistas, clientes, pasajeros, responsables y empresas.
CobranzasCuenta corriente y movimientos relacionados con transportistas.
ConfiguraciónEstado de preparación, operación general y administradores de direcciones, categorías, zonas, tarifas y reglas.

Orden recomendado de configuración

Para poder cotizar y asignar correctamente, configurá la Mini App en este orden:

  1. Ajustes generales de operación.
  2. Revisá la Categoría por defecto, creada automáticamente.
  3. Creá al menos una tarifa para esa categoría.
  4. Direcciones frecuentes y zonas de operación.
  5. Transportistas y sus puntos iniciales habituales.
  6. Clientes y pasajeros, con domicilio y categoría predeterminada.
  7. Reglas de aceptación, asignación y cancelación.
  8. Vinculación del agente y aplicación de las instrucciones ideales.
  9. Prueba completa desde cada canal que vayas a utilizar.

Configuración general

En Configuración → Operación → Editar definís:

  • Zona horaria: se usa para interpretar agenda, anticipación y horarios de regreso.
  • Duración predeterminada: respaldo operativo cuando todavía no existe un cálculo de ruta.
  • Margen entre viajes: tiempo adicional necesario antes de considerar libre al transportista.
  • Ventana de recurrencias: cantidad de días futuros que se materializan para viajes repetitivos.
  • Distancia máxima al origen: límite operativo para el recorrido del transportista hasta buscar al pasajero.
  • Aprobación humana fuera de WhatsApp: hace que los pedidos de webchat, chat de prueba u otros canales queden pendientes de aprobación administrativa.
  • Mostrar precio estimado al pasajero: permite decidir si el formulario público y la confirmación conversacional muestran el valor calculado. El administrador siempre conserva acceso al precio.

La aprobación humana no elimina la solicitud: la guarda con estado Pendiente de aprobación para que el operador pueda revisarla.

Categorías de viaje

Las categorías clasifican el servicio y determinan qué tarifa y reglas se aplican. Ejemplos: transporte escolar, traslado médico, viaje particular o traslado corporativo.

Para cada categoría configurá:

  • Nombre: debe ser fácil de reconocer tanto para operadores como para el agente.
  • Margen operativo posterior: minutos para descenso, asistencia, entrega o preparación luego del recorrido.
  • Descripción: explica cuándo corresponde utilizarla.

La duración del traslado no se define en la categoría. Se calcula para cada viaje usando la ruta y el tránsito previsto para el horario solicitado. El margen operativo sí se agrega después de esa duración.

Categoría predeterminada del cliente

En la ficha de cada cliente podés elegir una categoría predeterminada. El agente debe usarla automáticamente para precios y reglas, salvo que la persona pida expresamente otro tipo de viaje.

Toda instancia incluye una Categoría por defecto. Si el cliente no tiene otra categoría asignada, el viaje usa esa categoría automáticamente. El pasajero no necesita conocer esta clasificación interna y el agente no debe mencionarla.

Tarifas

Cada tarifa pertenece a una categoría y se guarda de forma versionada, para conservar qué condiciones se usaron en cotizaciones anteriores.

  • Precio por kilómetro: valor multiplicado por los kilómetros facturables.
  • Tarifa mínima: piso monetario aunque el recorrido sea corto.
  • Kilómetros mínimos: cantidad mínima que se factura.
  • Moneda: actualmente ARS o USD desde la interfaz.
  • Redondeo: el cálculo operativo redondea los kilómetros facturables hacia arriba según la configuración vigente.

Ejemplo: si Google calcula 12,1 km y el redondeo es de 1 km, se facturan 13 km. Luego se compara el resultado con la tarifa mínima y se utiliza el mayor valor.

Ajuste manual del precio por tramo

El cálculo automático funciona como valor inicial, pero un administrador puede corregir el precio de cada tramo mientras el viaje esté en borrador, pendiente de aprobación, pendiente de transportista o confirmado.

  1. Abrí el viaje desde la vista Lista o Calendario.
  2. En el tramo que corresponda, seleccioná Editar precio.
  3. Ingresá el nuevo importe y guardá.

El total del viaje se recalcula automáticamente. El sistema conserva el precio calculado originalmente y registra quién hizo el cambio y en qué fecha y hora. La indicación de ajuste manual y su historial son exclusivamente administrativos: no se muestran al pasajero, al transportista ni en el itinerario compartido.

Una vez que el viaje está en curso, completado, cancelado o rechazado, el precio ya no puede modificarse.

Google Maps y direcciones

El origen, el destino, el domicilio del pasajero, el punto inicial del transportista y las direcciones frecuentes deben seleccionarse desde el autocompletado. La selección guarda dirección normalizada, latitud, longitud e identificador de Google.

Las direcciones frecuentes aparecen antes que los resultados generales de Google Maps. Usalas para escuelas, centros médicos, empresas o destinos visitados habitualmente.

El buscador incluye direcciones y lugares —por ejemplo, clínicas, aeropuertos o comercios— siempre que se elija una sugerencia de Google. Escribir texto sin seleccionar un resultado no alcanza para guardar una ubicación exacta.

Para el funcionamiento completo se necesitan:

  • Maps JavaScript API y la biblioteca Places, para autocompletado y mapa interactivo en el navegador.
  • Routes API, para distancia, duración y tránsito desde el servidor.
  • Facturación activa en el proyecto de Google Cloud.
  • Una clave web restringida por dominio para el frontend y, de ser posible, una clave de servidor restringida para Routes API.

Los mapas públicos de solicitud e itinerario utilizan el modo vial, una presentación en escala de grises y resaltan el recorrido y sus puntos de origen y destino.

Zonas de operación

Una zona representa el área habitual de cobertura. Puede definirse de dos maneras:

Dirección y radio

Seleccioná un punto central desde Google Maps y cargá el radio en kilómetros. Es apropiado para coberturas aproximadamente circulares.

Perímetro personalizado

Abrí el editor de mapa, hacé clic para marcar al menos tres puntos y cerrá el área. Los vértices se pueden arrastrar antes de confirmar. Es apropiado cuando la cobertura sigue barrios, rutas o límites irregulares.

Las zonas pueden activarse o desactivarse y luego utilizarse dentro de las reglas.

Transportistas

Cada transportista puede tener nombre, teléfono, email, documento, estado, vehículo, dominio o patente y punto inicial habitual. El punto inicial permite estimar la distancia no facturable hasta el origen del pasajero.

Estados habituales:

  • Disponible: puede recibir asignaciones.
  • No disponible: permanece registrado, pero no debe asignarse.
  • Inactivo: queda fuera de la operación corriente.

Un transportista autorizado por teléfono puede consultar su agenda y actualizar únicamente sus viajes. No obtiene acceso automático a la agenda de otros transportistas ni a toda la administración.

Disponibilidad semanal

En la ficha del transportista podés cargar varias franjas por día. Los horarios se eligen en intervalos de 15 minutos y muestran claramente a. m. o p. m.. El botón duplicar copia una franja al día siguiente para acelerar cargas repetitivas.

Si no se carga ninguna franja, la disponibilidad se considera abierta. Cuando existen franjas, una asignación debe quedar dentro de ellas.

Al volver a abrir un transportista, los campos Desde y Hasta muestran las horas guardadas. La interfaz también normaliza horarios provenientes de versiones anteriores para que valores con segundos no aparezcan vacíos.

Ausencias

Registrá vacaciones, enfermedad u otras ausencias con fecha de inicio, fecha de fin y motivo. Si la persona ya tiene viajes afectados, la operación permite decidir entre reasignarlos automáticamente o dejarlos sin asignar para revisión manual.

La disponibilidad efectiva también considera:

  • Viajes que se superponen.
  • Margen configurado entre servicios.
  • Tiempo para llegar desde el viaje anterior.
  • Tiempo necesario para alcanzar el viaje siguiente.
  • Distancia máxima permitida hasta el origen.

Clientes y pasajeros

Una persona puede representar al cliente que contrata, al pasajero que viaja, a un responsable o a una empresa pagadora. La ficha admite:

  • Nombre o razón social.
  • Función.
  • Teléfono, email y documento.
  • Domicilio georreferenciado.
  • Categoría predeterminada.
  • Transportista habitual.
  • Observaciones operativas necesarias.

Alta de un cliente nuevo desde el agente

Si el agente no encuentra a la persona, puede generar un enlace personal de alta. El formulario solicita nombre y apellido, teléfono, DNI y domicilio. El domicilio debe seleccionarse desde Google Maps.

El enlace de alta:

  • Es único y de un solo uso.
  • Vence según la configuración; el valor predeterminado es 24 horas.
  • Se invalida después de completar el alta.
  • Conserva la conversación y el agente que lo generaron.

Después de completar el alta, el sistema notifica al cliente por su nombre y le entrega automáticamente otro enlace para solicitar el viaje. No hace falta que escriba “Listo” ni que vuelva a informar sus datos.

Identificación según el canal

  • WhatsApp: el agente intenta identificar automáticamente a la persona por su teléfono.
  • Webchat, chat de prueba y otros canales: el agente no supone una identidad. En un mismo mensaje ofrece enviar el DNI si ya es cliente o completar el enlace de alta si es su primer viaje.
  • El nombre puede ayudar a encontrar una coincidencia, pero no habilita información privada hasta verificar el DNI.

Una vez usado un enlace de alta o de viaje, la conversación queda vinculada al cliente. Las consultas siguientes recuperan sus viajes sin volver a iniciar el proceso de registro.

Reglas operativas

Las reglas determinan cómo responder ante distintas condiciones. Configurá un nombre claro, tipo, decisión, prioridad y criterios.

Tipos disponibles:

  • Aceptación o rechazo.
  • Asignación.
  • Modificación.
  • Cancelación.

Decisiones posibles:

  • Aceptar automáticamente.
  • Rechazar automáticamente.
  • Solicitar autorización.

Una regla puede limitarse por categoría, zona, kilómetros mínimos o máximos, distancia del transportista, anticipación, cancelaciones previas y ventana de cancelación sin cargo. También puede notificar al transportista, al administrador, a ambos o a nadie.

Usá prioridades para resolver reglas superpuestas. Si no existe una regla que rechace o solicite autorización, el flujo continúa automáticamente.

Las condiciones de una misma regla se evalúan juntas. Para situaciones diferentes, creá reglas separadas. Ejemplos:

  • Avisar si el transportista está a más de 20 km: regla de asignación, distancia máxima al origen de 20 km, decisión de revisión y aviso al transportista o a ambos.
  • Revisar viajes menores a 10 km: regla de aceptación, kilómetros del viaje hasta 10, decisión de revisión y destinatario administrador.
  • Cobrar una cancelación tardía: regla de cancelación, ventana sin cargo, decisión y cargo administrativo correspondiente.

El editor presenta las reglas como Cuándo, Qué condiciones y Qué debe suceder, y muestra un resumen legible. Un número de prioridad menor se evalúa primero.

Los cargos definidos en este editor corresponden a cancelaciones. El precio base por distancia se configura en Tarifas; no uses una regla operativa para simular una tarifa escalonada.

Crear un viaje

El formulario Nuevo viaje solicita cliente o pasajero, categoría, origen, destino, modalidad y fecha de salida.

Modalidades:

  • Solo ida.
  • Ida y vuelta: el regreso vuelve al origen inicial.
  • Regreso a otro destino: requiere la dirección final del regreso.

Al seleccionar un cliente, el sistema puede sugerir su domicilio como origen, su categoría predeterminada y destinos utilizados anteriormente. Google Maps calcula distancia y duración; la tarifa determina el precio estimado.

Los horarios se eligen en intervalos de 15 minutos y comienzan en la próxima hora completa. El administrador también puede seleccionar un transportista en el mismo formulario para dejar el viaje confirmado desde el alta.

Si el transportista elegido no puede tomar el servicio —por ejemplo, porque queda fuera de sus franjas habituales— el formulario permanece abierto y muestra el motivo devuelto por el sistema. Corregí el horario, elegí otra persona o dejá el viaje sin asignar antes de volver a guardar.

Un viaje atraviesa estados como borrador, pendiente de aprobación, pendiente de transportista, confirmado, en curso, completado, cancelado o rechazado. No debe comunicarse como confirmado hasta que realmente alcance ese estado.

Solicitud mediante el agente

Para clientes, el agente no recopila direcciones y horarios por texto. Después de identificar a la persona genera un enlace personal y de un solo uso que:

  • Precarga al pasajero y su domicilio como origen.
  • Sugiere el destino del último viaje cuando existe.
  • Permite cambiar origen y destino mediante Google Maps.
  • Ofrece Solo ida, Ida y vuelta o Vuelta a otro destino.
  • Solicita los horarios necesarios para cada tramo.
  • Muestra u oculta el precio según la configuración.
  • Presenta el mapa, recorrido y confirmación final.

Al enviarlo, el agente recibe el resultado en la misma conversación y confirma inmediatamente si quedó aprobado, pendiente o confirmado.

Asignación automática

Si ninguna regla exige revisión y existe disponibilidad, el sistema intenta confirmar el viaje automáticamente:

  1. Prioriza al transportista preferido del pasajero.
  2. Si no puede cubrir todos los tramos, intenta asignarle al menos uno.
  3. Para los restantes, busca transportistas activos y disponibles.
  4. Ordena los candidatos por cercanía real al origen.
  5. Verifica franjas semanales, ausencias, solapamientos, margen entre viajes y tiempo de llegada desde y hacia otros servicios.

Si no encuentra una opción válida, el viaje queda Sin transportista para resolución administrativa.

Asignación asistida

Desde Solicitudes o desde un viaje sin transportista, Asignar abre un asistente en lugar de un desplegable simple. Para cada candidato muestra disponibilidad, distancia al origen, viaje anterior, viaje siguiente, márgenes y motivos por los cuales podría no ser viable. La API vuelve a validar esas condiciones al confirmar para evitar asignaciones incorrectas por cambios simultáneos.

Lista y calendario

La agenda puede verse como lista o calendario y filtrarse por estado, pasajero y fechas.

En Lista, seleccioná cualquier parte libre de una fila para abrir el detalle completo del viaje. También podés hacerlo con teclado usando Enter o la barra espaciadora. Los enlaces de pasajero y transportista, y las acciones Asignar, Aprobar o Rechazar, siguen funcionando de manera independiente y no abren el viaje por accidente.

En Calendario:

  • Seleccionar un día abre la vista horaria completa.
  • Seleccionar un espacio vacío inicia un viaje con esa fecha y hora.
  • Seleccionar un viaje abre su detalle.

Desde ambas vistas, los nombres de pasajero y transportista abren sus fichas en modo consulta; Editar habilita cambios. Desde Personas se abren directamente en edición.

Cobranzas y cuenta corriente

La cuenta corriente registra créditos, débitos, pagos, adelantos y ajustes de cada transportista. Cada movimiento necesita importe, moneda, descripción y una clave de idempotencia para evitar duplicados.

Las correcciones se realizan mediante movimientos compensatorios; no conviene borrar el historial contable.

Itinerario compartible

Después de registrar el viaje, el pasajero puede usar Compartir itinerario. El enlace es de solo consulta y permanece activo hasta ocho horas después del horario previsto del viaje.

La página compartida muestra:

  • Estado real del viaje.
  • Fecha y horario.
  • Direcciones de origen y destino.
  • Mapa vial en escala de grises con el recorrido resaltado.
  • Nombre del transportista cuando está asignado.
  • Vehículo y últimos tres caracteres del dominio, sin exponer la patente completa.

El enlace puede enviarse a familiares, responsables o instituciones. No permite modificar ni cancelar el viaje.

Vincular un agente

Desde la configuración de tools del agente, agregá Transporte de pasajeros, elegí la instancia y guardá. La vinculación debe aparecer entre las tools activas del agente. Después definí permisos para:

  • Preparar la conversación e identificar al interlocutor.
  • Consultar información general, categorías y tarifas.
  • Registrar clientes o generar enlaces de alta.
  • Consultar viajes y agenda.
  • Cotizar y crear solicitudes.
  • Reprogramar o cancelar.
  • Buscar y asignar transportistas.
  • Cambiar estados.
  • Consultar cuentas corrientes.

La herramienta incluye operaciones específicas para preparar la conversación, consultar información, buscar agenda, listar viajes del cliente, cotizar, generar altas y formularios de viaje, reprogramar, cancelar, buscar transportistas, asignar, cambiar estados y consultar cuentas corrientes.

Instrucciones ideales

En el Panel general aparece Instrucciones ideales para tu agente hasta que se abre por primera vez. Luego queda disponible en Configuración. Desde allí podés:

  • Copiar el texto al portapapeles.
  • Aplicarlo directamente al agente vinculado.

Estas instrucciones complementan las descripciones de las tools y establecen que el agente debe usar la Mini App como fuente de verdad, verificar identidad, no inventar disponibilidad ni precios y no mencionar categorías internas a pasajeros.

Qué sabe el agente después de una solicitud

El enlace conserva agente, canal, conversación y cliente. Al completar el formulario se persiste y entrega una confirmación en esa misma conversación. Si el usuario pregunta después, el agente recupera:

  • Estado del viaje.
  • Origen y destino.
  • Fecha y horarios.
  • Precio, cuando esté permitido mostrarlo.
  • Transportista asignado.
  • Vehículo y terminación de patente.

No debe volver a pedir DNI ni ofrecer un alta nueva en una conversación ya vinculada.

Prueba recomendada del agente

Antes de publicarlo, realizá estos casos en el chat de test:

  1. Cliente existente reconocido por teléfono en WhatsApp.
  2. En web, mensaje único con alternativa de DNI o enlace de alta.
  3. Cliente existente verificado por DNI y entrega inmediata del formulario de viaje.
  4. Cliente nuevo: alta, confirmación automática y entrega del formulario sin escribir “Listo”.
  5. Domicilio y último destino precargados.
  6. Lugar de Google —por ejemplo, un sanatorio— encontrado y seleccionado.
  7. Solo ida, ida y vuelta y regreso a otro destino.
  8. Precio visible y precio oculto según la configuración.
  9. Asignación automática del transportista preferido y alternativa más cercana.
  10. Solicitud que queda pendiente por una regla o por canal.
  11. Confirmación inmediata en el chat después de enviar el formulario.
  12. Consulta posterior del viaje sin volver a pedir identidad.
  13. Enlace de itinerario compartido y vigente.
  14. Consulta de agenda de un transportista autorizado.
  15. Intento de acceder a viajes ajenos, que debe ser rechazado.

Errores frecuentes

SituaciónQué revisar
No se puede calcular la rutaRoutes API, clave del servidor, facturación y coordenadas de ambos puntos.
No aparecen sugerencias de direcciónMaps JavaScript API, Places, clave web y restricciones de dominio.
El agente no reconoce al clienteVinculación activa, teléfono normalizado, DNI o nombre completo exacto.
La tool no apareceVolvé a guardar la vinculación del agente y reiniciá el servicio MCP si hubo una actualización.
No se calcula el precioCategoría seleccionada, tarifa vigente y ruta calculada.
No encuentro dónde editar el precioAbrí el viaje desde Lista o Calendario y usá Editar precio en el tramo correspondiente. Solo está disponible antes de iniciar el viaje.
El viaje queda pendienteRevisá reglas, asignación y aprobación humana por canal.
No se puede guardar con el transportista elegidoLeé el motivo visible en el formulario. Revisá sus franjas, ausencias, otros viajes y tiempo de traslado; luego cambiá el horario, elegí otro transportista o guardalo sin asignar.
Las franjas horarias aparecen vacías al editarVolvé a cargar la ficha después de guardar. Los horarios deben mostrarse en intervalos de 15 minutos; si persiste, verificá que frontend y API estén actualizados a la misma versión.
El agente no confirma al enviar el formularioVerificá que el enlace se haya generado en esa conversación y que API, MCP y el agente del canal estén activos. La confirmación también debe quedar persistida en el historial.
El agente vuelve a pedir DNI después del viajeConfirmá que se esté usando la misma conversación y que el enlace figure utilizado; la tool recupera al cliente desde ese vínculo.
El itinerario figura vencido inmediatamenteCompartí solo la URL completa. El sistema tolera texto anexado por aplicaciones de compartir, pero no tokens cortados.
El itinerario abre pero no muestra mapaMaps JavaScript API, clave web, dominio autorizado y coordenadas del recorrido.