Skip to content

Ciclo de Caducidad

Cuando un paquete excede su periodo de retencion en un centro PUDO sin ser recogido, entra en el camino de caducidad. Esta es una progresion de 4 estados desde CADUCADO hasta RETIRADO, culminando en una exportacion al sistema ERP ALINA.

Flujo de Caducidad

Conceptos Clave

Deteccion Automatica de Caducidad

El servicio ws-pprx-expired (puerto 8095) ejecuta un trabajo programado que busca expediciones en estado RECEPCIONADO cuya fecCaducidad (fecha de caducidad) haya pasado. La transicion a CADUCADO es completamente automatizada — no requiere accion humana ni endpoint del BFF.

Patron de Outbox Transaccional

Cuando una expedicion transiciona a CADUCADO, el servicio de caducidad escribe una fila en el outbox en la misma transaccion de base de datos que el cambio de estado. Esto garantiza que el mensaje de exportacion a ALINA nunca se pierda, incluso si el mecanismo de entrega asincrono falla temporalmente. Las entregas fallidas van a una Cola de Mensajes Muertos (DLQ) para reintento.

Recogida por Transportista

Una vez que un paquete esta marcado como CADUCADO, el transportista puede iniciar la recogida a traves de la pestana Caducados en la app del transportista. El flujo es:

  1. CADUCADO -> LOCKED_FOR_RETRIEVAL — el transportista inicia via POST /api/v1/shipments/{barcode}/retrieve
  2. LOCKED_FOR_RETRIEVAL -> RECOGIDO — el transportista recoge fisicamente el paquete
  3. RECOGIDO -> RETIRADO — ciclo de recogida completo

WARNING

ALINA y NOVA son sistemas externos que estan simulados (stub) en el entorno de desarrollo local v2.0. El patron de outbox esta completamente implementado, pero los mensajes son consumidos por stubs en lugar de servicios ERP/notificaciones reales.

Ecosistema PUDO de PROXIMITI — documentacion interna