Hub OS — Multi-hub y transferencias
Soporte completo multi-hub: crea transferencias entre hubs del mismo owner, selecciona paquetes elegibles, despacha (todos pasan a in_transit) e imprime manifiesto. El hub destino recibe escaneando barcode interno; cada paquete reasigna hub y ubicación (rack/shelf/locker/bin/pickup_zone/consolidation_zone). La transferencia se cierra sola cuando todos los items se reciben. Se bloquea transferir entregados, recogidos, archivados, consolidados o con cargos pendientes (configurable). Cross-tenant bloqueado a nivel de trigger. Cada cambio queda en hub_transfer_history (append-only) y en hub_package_status_history. Roles: owner/admin/manager full, cashier recibe/escanea si tiene permiso. Cero regresión en intake, portal, requests, charges, POS, sales, billing.
Aspectos destacados
- /hub/transfers con lista, creación, despacho, recepción y manifiesto
- Estados: draft, pending_dispatch, in_transit, partially_received, received, cancelled
- Escaneo paquete por paquete con asignación de ubicación al recibir
- Transfer code server-side (TRYYMMDD-####) e idempotency_key
- Bloqueo de paquetes no transferibles + cross-tenant bloqueado por trigger
- Manifiesto imprimible reutilizando label_branding
- Historial append-only por transferencia y por paquete