2026-07-09 — Distancia y ETA en vivo por oferta
Para front-end y mobile del cliente (integradores de
/api/v1).
Summary
Al comparar ofertas, el cliente ahora ve qué tan cerca está cada conductor y en
cuánto llegaría. Cada oferta PENDING incorpora distance_km, eta_minutes y
driver_busy, calculados en vivo desde la ubicación actual del conductor. Todo es
aditivo: los campos existentes de la oferta no cambian.
New
Los siguientes campos se agregan a cada oferta PENDING dentro de order.offers[],
solo en la vista CLIENT de estos endpoints:
| Método | Endpoint | Rol | Para qué sirve |
|---|---|---|---|
| GET | /orders/{orderId} |
cliente | Detalle del pedido con ofertas enriquecidas. |
| GET | /orders/active |
cliente | Pedido activo con ofertas enriquecidas. |
Campos nuevos por oferta:
distance_km(number|null): distancia del conductor al punto de entrega.eta_minutes(number|null): minutos estimados de llegada; se encadena (suma un buffer) cuandodriver_busyestrue.driver_busy(boolean):truesi el conductor debe terminar una entrega en curso antes de venir.
Notas:
- Se recalculan en vivo desde la posición actual del conductor; pueden ser
nullsi no hay GPS reciente. offers[].driversigue exponiendo solo campos públicos: las coordenadas crudas del conductor no se incluyen en la respuesta del cliente.- En pedidos cerrados (
DELIVERED,CANCELLED,EXPIRED) no se recalculan ETAs.
Objeto oferta: snapshot de ubicación
El objeto oferta suma driver_latitude y driver_longitude, la posición del
conductor al momento de ofertar (null si no había GPS reciente). Se conservan para
métricas.