EG Logo
Diagrama de arquitectura del sistema Traccar mostrando la comunicación entre móviles, servidor VPS y dashboard web.
Proyectos

Sistema de Seguimiento de Repartidores con Traccar para Restaurantes

Cómo implementé un sistema de rastreo GPS en tiempo real para repartidores usando Traccar, reduciendo costes operativos y mejorando la coordinación del servicio de delivery.

12/14/2025 Eder Gil

Un restaurante de comida china gestiona 40-50 pedidos diarios a domicilio con repartidores propios. Usar plataformas como Glovo o Uber Eats no es una opción: las comisiones del 30-35% harían inviable el negocio. Los repartidores propios son más rentables, pero generan un problema operativo constante:

Una vez que el repartidor sale del local, desaparece.

Un cliente llama: “¿Dónde está mi pedido?”. El gerente no lo sabe. Tiene que llamar al repartidor, que probablemente esté conduciendo y no pueda responder. El cliente espera en la línea. Si el repartidor responde, pierde tiempo en plena ruta. Si no responde, el gerente solo puede decir “está de camino, supongo”.

Esta coordinación a ciegas generaba:

  • Clientes frustrados esperando respuestas vagas
  • Tiempo perdido en llamadas constantes
  • Imposibilidad de optimizar rutas o redistribuir pedidos
  • Dificultad para localizar a un trabajador en una emergencia
  • Reseñas negativas en Google por falta de información

La solución no podía ser contratar a las plataformas (demasiado caro) ni añadir más personal de coordinación (ineficiente). Necesitábamos visibilidad en tiempo real sin disparar los costes.

Implementé un sistema de seguimiento GPS en tiempo real usando Traccar, un software open-source. Coste mensual: 5€ (un servidor en la nube básico). Ahorro estimado: +3.500€/mes en comisiones de plataformas evitadas. Tiempo de implementación: 2 días.

Repetición de ruta de una jornada de un repartidor en Traccar.

Evaluando las opciones: ¿comprar o construir?

Antes de comprometernos con una solución, evaluamos las alternativas disponibles.

SoluciónCoste mensualCoste anualLimitaciones
Glovo/Uber Eats~3.000€~36.000€Sin control, dependencia externa
TomTom Webfleet90-240€1.080-2.880€Funciones innecesarias, contratos anuales
Traccar (DIY)5€60€Requiere conocimientos técnicos

Plataformas de delivery como Glovo, Uber Eats o Just Eat quedaban descartadas desde el inicio. Las comisiones del 30-35% por pedido supondrían alrededor de 3.000€ mensuales, haciendo inviable el modelo de negocio. Además, perderíamos el control sobre la experiencia del cliente y dependeríamos de la disponibilidad de repartidores externos.

Sistemas GPS comerciales como TomTom o Verizon Connect ofrecían funcionalidades robustas, pero diseñadas para flotas grandes con necesidades complejas: telemetría avanzada de vehículos pesados, gestión de combustible, mantenimiento predictivo. Para nuestro caso (6 repartidores y algunas motos) era como usar un cañón para matar moscas. El coste rondaba entre 15-40€ mensuales por dispositivo, sumando entre 90-240€ al mes, con contratos anuales y poca flexibilidad para integraciones personalizadas.

Apps básicas de rastreo como Life360 o compartir ubicación por WhatsApp tampoco cumplían los requisitos. No están pensadas para uso comercial, carecen de históricos detallados de rutas, y no ofrecen APIs para integraciones con sistemas propios.

Por qué Traccar

Traccar es un software open-source de rastreo GPS que encajaba perfectamente con nuestras necesidades. Es completamente gratuito, solo requiere un servidor para alojarlo (unos 5€ mensuales en cualquier VPS básico). Al ser software libre, mantenemos control total sobre nuestros datos sin depender de servicios externos ni estar sujetos a cambios de precios o políticas.

La plataforma es compatible tanto con aplicaciones móviles (Android e iOS) como con dispositivos GPS dedicados, lo que nos permitía rastrear simultáneamente los teléfonos de los repartidores y los vehículos del establecimiento. Además, Traccar ofrece una API REST y servidor WebSocket para futuras integraciones con nuestro sistema de gestión de pedidos.

La instalación tampoco representaba un obstáculo: Traccar puede desplegarse fácilmente mediante Docker en cualquier servidor, con una configuración inicial sencilla.

Decidimos invertir 2 días en implementar y probar Traccar antes que comprometer más de 1.000€ anuales en soluciones comerciales sobredimensionadas para nuestro caso de uso.

Arquitectura de la solución

El sistema se compone de dos partes esenciales: el servidor y los clientes. Los clientes pueden ser móviles, vehículos como motos o coches, o en general cualquier dispositivo GPS que utilice uno de los más de 200 protocolos soportados por Traccar.

Diagrama de arquitectura del sistema Traccar mostrando la comunicación entre móviles, servidor VPS y dashboard web.

Arquitectura del sistema de seguimiento GPS con Traccar.

Servidor Traccar y base de datos

El servidor se desplegó en un VPS de OVH con Ubuntu Server. Aunque Traccar puede instalarse directamente, opté por usar Docker para mayor portabilidad y facilidad de actualización.

Primero configuré PostgreSQL como base de datos. Esta almacena todo el histórico de ubicaciones, configuraciones de usuarios, permisos, y geofences (zonas virtuales). PostgreSQL es más robusta que la opción por defecto (H2) para entornos de producción con múltiples dispositivos.

Esta es la configuración del docker-compose.yml utilizado:

services:
  traccar:
    image: traccar/traccar:latest
    container_name: traccar
    restart: unless-stopped
    environment:
      CONFIG_USE_ENVIRONMENT_VARIABLES: "true"
      DATABASE_DRIVER: org.postgresql.Driver
      DATABASE_URL: jdbc:postgresql://host.docker.internal:5432/traccar
      DATABASE_USER: traccar
      DATABASE_PASSWORD: your-password
      GEOLOCATION_ENABLE: true
      # OpenCellID permite geolocalización usando torres de telecomunicaciones
      # cuando el GPS no está disponible. Requiere registro gratuito.
      GEOLOCATION_TYPE: opencellid
      GEOLOCATION_KEY: your-opencellid-key
    ports:
      - "127.0.0.1:8082:8082"
    volumes:
      - /opt/traccar/logs:/opt/traccar/logs

El puerto 8082 queda expuesto solo en localhost porque delante del contenedor configuré Nginx como proxy inverso con SSL de Let’s Encrypt. Esto permite acceder al dashboard mediante HTTPS desde cualquier lugar de forma segura.

La configuración GEOLOCATION_ENABLE activa el posicionamiento mediante torres de telefonía móvil (OpenCellID) como respaldo cuando el GPS puro falla, especialmente útil en interiores o calles estrechas del casco urbano.

Aplicación móvil en los dispositivos

Traccar ofrece dos aplicaciones: Traccar Client (Android | iOS) para enviar ubicación, y Traccar Manager (Android | iOS) para visualizar y gestionar. Los repartidores instalaron Traccar Client en sus teléfonos Android, ya que es lo que llevan consigo en todo momento.

La configuración varía según el fabricante del móvil, pero en todos los casos fue necesario:

  1. Permisos de ubicación: Conceder acceso a ubicación exacta y permitir el uso en segundo plano.
  2. Desactivar optimización de batería: Algunos fabricantes (Xiaomi, Huawei) matan aplicaciones en segundo plano agresivamente. Hay que excluir Traccar Client de estas optimizaciones.

Una vez concedidos los permisos, la configuración de la app quedó así:

Captura de pantalla de la apliación Traccar Client. Mostrando el botón de activar y desactivar seguimiento GPS

Traccar Client. Los repartidores pueden activar y desactivar el seguimiento en cualquier momento.

Configuración de precisión y frecuencia:

  • Precisión de ubicación: Máxima
  • Distancia (metros): 10 (envía actualización solo si se movió al menos 10m)
  • Intervalo (segundos): 20 (frecuencia máxima de actualización)
  • Ángulo (grados): 25 (envía actualización si cambió de dirección más de 25°)
  • Refresco en reposo (segundos): 60 (cuando está parado, actualiza cada minuto)
  • Ajustes avanzados:
    • Intervalo más rápido (segundos): 5 (en movimiento rápido)
    • Búfer sin conexión: Sí (guarda ubicaciones si pierde cobertura y las envía después)
    • Bloqueo de suspensión: No (para no drenar batería innecesariamente)
    • Detección de parada: Sí (reduce actualizaciones cuando está parado)

Estos valores fueron el resultado de varias iteraciones buscando el equilibrio entre precisión, consumo de batería, y carga del servidor.

Frontend: Dashboard web integrado

El servidor Traccar incluye un dashboard web completo sin necesidad de desarrollo adicional. Los coordinadores acceden mediante navegador a https://gps.dominio.com y ven en tiempo real:

Captura de pantalla del dashboard de Traccar, mostrando reportes de viajes con hora de inicio, fin, velocidad media y distancia recorrida.

Reportes de viajes en dashboard de Traccar (se omiten nombres de los dispositivos)

  • Mapa con todos los repartidores activos: Cada dispositivo aparece como un icono con su identificador.
  • Datos de cada dispositivo: Velocidad actual, dirección, última actualización, estado de batería.
  • Histórico de rutas: Seleccionando un rango de fechas, se puede reproducir toda la ruta de un repartidor como si fuera un video.
  • Reportes automáticos: Distancia recorrida, tiempo en movimiento, paradas realizadas.

Aunque la interfaz no es visualmente moderna, es completamente funcional y suficiente para las necesidades operativas del restaurante.

Flujo operativo diario

Para que el sistema funcione correctamente, establecimos un protocolo de uso claro que todos los repartidores debían seguir:

1. Inicio de turno
El repartidor llega al restaurante y activa Traccar Client en su móvil. Si la app está configurada para inicio automático, solo verifica que esté activa (icono verde en la barra de notificaciones). Avisa al coordinador mediante WhatsApp que está “online”.

2. Asignación de pedidos
Cuando llega un pedido, el coordinador consulta el mapa web para ver qué repartidor está disponible o más cercano a la zona de entrega. Asigna el pedido por el canal habitual (WhatsApp grupal) indicando dirección y detalles.

3. Monitorización durante la ruta
Mientras el repartidor está de camino, el coordinador puede seguir su progreso en tiempo real. Si un cliente llama preguntando por su pedido, el coordinador mira el mapa y responde con precisión: “El repartidor está en la Calle Mayor, llegará en unos 5 minutos” en lugar de un genérico “está de camino”.

4. Finalización de entrega
Una vez completada la entrega, el repartidor regresa al restaurante para el siguiente pedido. El sistema registra automáticamente toda la ruta, distancia recorrida y tiempo empleado sin intervención manual.

5. Fin de turno
Al terminar su jornada, el repartidor desactiva manualmente Traccar Client desde la app o simplemente la cierra. Es importante que se acostumbren a este paso para respetar su privacidad fuera del horario laboral.

Desafíos encontrados y soluciones

Adopción por parte de los repartidores

La implementación técnica fue la parte sencilla. El verdadero desafío fue la adopción humana.

Antes de comenzar, consulté con asesores laborales sobre la legalidad de rastrear la ubicación de trabajadores. En horario laboral está permitido, siempre que se respete la privacidad personal fuera del mismo y se informe claramente del propósito.

Cuando presenté el sistema a los repartidores, hubo resistencia inicial. La preocupación principal era sentirse vigilados, como si no confiaran en ellos. “¿Ahora nos van a controlar todo el tiempo?”

La estrategia fue comunicar con transparencia los beneficios para ellos:

  • Menos interrupciones: Nada de llamadas en plena ruta preguntando dónde están.
  • Mejor organización: El coordinador puede distribuir pedidos de forma más justa según quien esté más cerca.
  • Clientes más satisfechos: Menos quejas significan menos tensión con los clientes cuando llegan a la puerta.
  • Protección en emergencias: Si tienen un accidente laboral o problema, pueden localizarlos inmediatamente.

También establecí reglas claras desde el principio:

  • El rastreo solo está activo durante el horario laboral.
  • Pueden desactivar la app en cualquier momento (pausas, fin de turno).
  • El histórico se revisa periódicamente y se elimina información de horarios en los que no deberían estar trabajando.

Tras un período de prueba de dos semanas, la resistencia desapareció. Los repartidores apreciaron no recibir llamadas constantemente y el coordinador dejó de perder tiempo preguntando ubicaciones.

Consumo de batería y rendimiento

Las primeras semanas los repartidores se quejaron de que sus móviles se quedaban sin batería a mitad del turno. Las mediciones GPS constantes drenan batería rápidamente, especialmente en móviles de gama baja.

El problema se agravaba con la configuración inicial: actualizaciones cada 10 segundos con precisión máxima. Era excesivo para nuestras necesidades reales.

La solución fue ajustar la configuración de forma individualizada según el modelo de cada móvil:

Móviles de gama alta:

  • Intervalo: 20 segundos
  • Precisión: Máxima
  • Sin problemas de autonomía

Móviles de gama media-baja:

  • Intervalo: 30 segundos
  • Distancia mínima: 20 metros (reduce actualizaciones cuando está parado)
  • Precisión: Alta (no máxima)
  • Refresco en reposo: 120 segundos

Además, recomendamos a los repartidores usar baterías externas. Con estos ajustes, el consumo de batería se redujo a niveles manejables: una jornada de 6-7 horas consume aproximadamente un 30-35% adicional respecto al uso normal del móvil.

Privacidad y horarios

Una de las preocupaciones principales era evitar rastrear a los trabajadores fuera de su horario. El restaurante no tiene ningún interés en conocer la vida personal de su equipo, y era fundamental dejar esto claro desde el inicio.

La solución fue triple:

1. Control manual por parte del repartidor: Tienen acceso directo a la app y pueden activar/desactivar el envío de ubicación con un botón. Es su responsabilidad hacerlo al inicio y fin de cada turno.

2. Revisión periódica de históricos: Cada semana reviso el histórico y elimino datos de horarios en los que no debería haber actividad (madrugadas, días libres). Esto lo automaticé con un script que consulta la API de Traccar y borra registros fuera de horario comercial.

3. Transparencia total: Los repartidores saben que pueden solicitar ver su propio histórico en cualquier momento y verificar qué datos están almacenados.

Esta política clara generó confianza. Ha habido casos de repartidores que olvidaron desactivar la app al terminar el turno, pero al revisar semanalmente los datos, simplemente los eliminé sin mayor problema.

Resultados e impacto

Tras tres meses de operación continua, los resultados han sido medibles:

Reducción de interrupciones: Antes, el coordinador interrumpía a los repartidores 15-20 veces por turno para preguntar ubicaciones. Ahora, las llamadas durante el reparto se redujeron a casos excepcionales (menos de 3 por día), generalmente por cambios de última hora en pedidos.

Mejora en atención al cliente: En lugar de respuestas vagas (“está de camino, creo que unos 15 minutos”), ahora el coordinador da ETAs precisos basados en la ubicación real: “El repartidor está en tu calle, llegará en 3-4 minutos”. Esto mejoró notablemente las reseñas de Google del restaurante.

Datos para optimización: Por primera vez, el gerente tiene datos objetivos de rendimiento:

  • Kilómetros recorridos por repartidor por turno (promedio: 25-30 km)
  • Tiempo promedio de entrega por zona (centro: 12 min, afueras: 22 min)
  • Entregas por repartidor por día (promedio: 8-10 pedidos)

Esta información permitió identificar que ciertas zonas alejadas no eran rentables y ajustar la zona de cobertura del servicio.

Resolución de disputas: En dos ocasiones, clientes reclamaron que su pedido nunca llegó. El histórico GPS demostró que el repartidor estuvo en la dirección indicada a la hora correcta, proporcionando evidencia objetiva que resolvió la disputa sin conflicto.

Seguridad en emergencias: Un repartidor tuvo un pequeño accidente con la moto. El coordinador notó que llevaba 10 minutos parado en la misma ubicación sin moverse, llamó para verificar, y pudo enviar ayuda inmediatamente conociendo su ubicación exacta.

Limitaciones y mejoras futuras

Limitaciones actuales

Dependencia técnica: El sistema requiere conocimientos de Linux, Docker y redes para su mantenimiento. Si el servidor falla o necesita actualizarse, no cualquier persona del restaurante puede resolverlo. Esto crea cierta dependencia de soporte técnico externo.

Interfaz funcional pero poco intuitiva: El dashboard web de Traccar cumple su función pero no es especialmente user-friendly. Para alguien no técnico, puede resultar intimidante al principio con todas sus opciones y configuraciones.

Dependencia de conexión móvil: Si un repartidor entra en una zona sin cobertura (túneles, parkings subterráneos), las actualizaciones se interrumpen. El búfer sin conexión ayuda, pero durante ese tiempo no hay visibilidad en tiempo real.

Mejoras planificadas

Seguimiento para clientes finales: Estamos considerando crear un sistema donde el cliente reciba un enlace temporal para ver el estado de su pedido y la ubicación del repartidor en tiempo real, similar a lo que ofrecen Glovo o Uber Eats. Esto requeriría desarrollo adicional usando la API de Traccar.

Integración con el sistema de pedidos: Actualmente, Traccar funciona como herramienta separada. La siguiente fase es integrarlo con el software interno de gestión del restaurante donde se registran pedidos, clientes y órdenes en curso. Esto permitiría asignación automática de pedidos al repartidor más cercano.

Optimización de tiempos de cocina: Con datos de ubicación en tiempo real, la cocina podría ajustar los tiempos de preparación para que el pedido esté listo justo cuando el repartidor llega, manteniendo la comida caliente y mejorando la experiencia del cliente.

Análisis predictivo de tiempos de entrega: Con suficientes datos históricos, podríamos desarrollar modelos que predigan tiempos de entrega según zona, hora del día, y condiciones de tráfico, mejorando las estimaciones que actualmente se hacen “a ojo”.

Conclusión

Este proyecto demuestra que la tecnología open-source permite a pequeños negocios implementar capacidades que antes solo estaban al alcance de grandes corporaciones con presupuestos enormes. Con una inversión de 5€ mensuales y 2 días de trabajo, el restaurante obtuvo un sistema de rastreo GPS profesional que habría costado más de 1.000€ anuales con soluciones comerciales.

Los principios que hicieron este proyecto exitoso son aplicables más allá del caso específico:

Evaluar opciones open-source primero: No asumir que las soluciones comerciales son superiores simplemente por ser de pago. Muchas herramientas open-source como Traccar son sorprendentemente robustas y maduras.

Validar necesidades reales antes de construir: Traccar en su versión estándar cubría el 90% de nuestras necesidades sin desarrollo adicional. No caer en la tentación de construir desde cero cuando ya existe algo funcional.

Comunicación y transparencia son clave: El mejor sistema técnico falla si el equipo no lo adopta. La confianza se construye con límites claros, especialmente en temas sensibles como la privacidad.

Empezar simple e iterar: No intentar construir el sistema perfecto desde el primer día. Implementar lo básico, validar que funciona, y mejorar basándose en feedback real.

Si gestionas un negocio con servicio de delivery propio y enfrentas desafíos similares de coordinación, Traccar puede ser una solución viable y económica. La barrera técnica no es tan alta como parece, y el retorno de inversión se alcanza en semanas.


¿Gestionas un negocio con repartidores propios? ¿Has implementado soluciones similares de rastreo?
Me encantaría conocer tu experiencia o ayudarte a evaluar si esta solución se adapta a tu caso. Encuéntrame en LinkedIn o escríbeme a mi correo electrónico.