Caso de estudio · Full stack
Whatxi
Taxis seguros en Fusagasugá: un servicio de taxi que se pide por WhatsApp, con app para los Whatxistas, API, panel de administración y web de seguimiento.
Qué resuelve
Pedidos por WhatsApp
La pasajera comparte origen y destino y ve la tarifa antes de confirmar.
Taxis verificados con QR
Cada taxi lleva un QR en la parte trasera y otro en el interior: la pasajera los escanea para confirmar que el taxi y el Whatxista son los que le asignaron.
Registro con escáner de documentos
El Whatxista escanea su cédula, su licencia y la tarjeta de propiedad desde la app; el equipo valida cada taxi antes de que pueda trabajar.
Saldo y comisión por viaje
El Whatxista recarga saldo con Wompi y cada viaje descuenta una comisión configurable. Sin membresías.
Cómo funciona un viaje
Cinco momentos de un mismo viaje en taxi: lo que ve la pasajera, lo que ve el Whatxista y lo que hace el sistema.
-
1
La pasajera pide un taxi
Escribe por WhatsApp y comparte dónde la recogen. El Whatxista ya está conectado con su taxi, esperando viajes.
En el sistema: El bot lleva la conversación paso a paso: recogida, destino y confirmación. Todo pedido es de taxi, así que no pregunta por el tipo de vehículo.

Pasajera · WhatsApp 
Whatxista · App -
2
Confirma el viaje y un Whatxista acepta
Con el destino, ve la tarifa y confirma. La oferta le llega al Whatxista conectado más cercano, con la distancia, la tarifa y la comisión que se le descontará.
En el sistema: La API calcula la ruta y cotiza con el modelo de tarifa activo en el panel: por distancia o taxímetro. Cada oferta se reserva de forma atómica y el Whatxista tiene 40 segundos para responder; dos Whatxistas nunca toman el mismo viaje.

Pasajera · WhatsApp 
Whatxista · App -
3
Recogida verificada
La pasajera recibe el nombre del Whatxista, la placa, un código de 4 dígitos y el enlace para seguir el viaje. Escanea el QR de la parte trasera del taxi y el del interior; el Whatxista ingresa el código para empezar.
En el sistema: El código se genera al asignar el viaje y la API lo valida, con intentos limitados, antes de iniciarlo.

Pasajera · WhatsApp 
Whatxista · App -
4
Camino al destino
El Whatxista sigue la ruta en la app, o en Waze o Google Maps si prefiere. La pasajera ve el taxi en vivo desde el enlace del chat.
En el sistema: La app envía su ubicación cada 15 segundos; la página de seguimiento pide una actualización a la vez y corta a los pocos segundos si la API no responde.

Pasajera · Web 
Whatxista · App -
5
Llegada, pago y calificación
Al llegar, la pasajera paga en efectivo el valor del viaje y ambos se califican. Del saldo del Whatxista se descuenta la comisión del viaje.
En el sistema: La tarifa queda congelada al cotizar: por distancia, el precio cotizado es el final; con taxímetro, el valor final suma la distancia de la ruta y el tiempo transcurrido. La comisión se descuenta una sola vez por viaje, aunque la app reintente, y cada movimiento del saldo queda registrado.

Pasajera · WhatsApp 
Whatxista · App
Las pantallas de WhatsApp son una recreación con los mensajes reales del bot. Todos los datos son de demostración.
Para los Whatxistas
La misma app con la que reciben viajes les sirve para elegir el taxi de la jornada, recargar saldo y ver la comisión de cada viaje antes de aceptarlo.
Su taxi o el de otro dueño
Un Whatxista puede registrar sus taxis o manejar el de otro dueño que lo invite. Al conectarse elige con cuál trabaja ese día. Cada taxi lo usa un Whatxista a la vez.
Saldo prepago
Recarga desde la app con Nequi, PSE o tarjeta a través de Wompi, y cada recarga aprobada deja su comprobante. Si paga por otro medio, el equipo de Whatxi le abona el saldo desde el panel.
Una comisión por viaje
Por cada viaje completado se descuenta del saldo una comisión: un valor fijo o un porcentaje de la tarifa. La solicitud le muestra cuánto es antes de aceptar, los viajes cancelados no pagan y, si el saldo no alcanza, ese viaje no le llega. El pasajero le paga directamente al Whatxista.
En el sistema: Se cobra la comisión vigente cuando el Whatxista aceptó el viaje; un cambio en el panel no altera los viajes que ya están en curso.


Panel de operación
El equipo valida a los Whatxistas y sus taxis, define las tarifas, los recargos y la comisión, y revisa las recargas de saldo.
Arquitectura
- Bases separadas por dominio: usuarios, viajes y clientes, cada una con sus migraciones.
- Estados del viaje con bloqueo optimista: si dos acciones llegan a la vez, solo una gana y la otra recibe un conflicto claro.
- Saldo con bloqueo de fila y cobros idempotentes: cada viaje se cobra una sola vez.
- Tiempo real en Redis: ofertas, disponibilidad y candados de vehículo con operaciones atómicas.
- Tiempos máximos en todo: si la base de datos o un servicio externo se pone lento, la API responde con un error en vez de quedarse esperando.
- Dos auditorías internas, de seguridad y de concurrencia, con cada corrección cubierta por un test.



