Hub OS — Intake, Paquetes y Barcodes
Esta versión agrega el módulo completo de intake y paquetes a Hub OS. Los barcodes se generan exclusivamente en el servidor mediante hub_next_barcode (transaccional, retry-safe, secuencia diaria por owner). hub_packages incluye desde el inicio tenant_owner_id, hub_id, store_id, customer_id, box_id, linked_sale_id, linked_wholesale_order_id, linked_fulfillment_id, linked_marketplace_order_id, external_tracking, external_ref, legacy_ref, meta, intake_source, intake_operator_id, created_by/updated_by, archived_at, idempotency_key y campos preparados para consolidación, transferencia entre hubs y shipping requests. El intake soporta paquete individual, bulk, múltiples cajas por orden, condición, ubicación inmediata, fotos opcionales en bucket privado hub-package-photos (RLS por owner/hub/customer) y customers package-only. El historial de estados es append-only (trigger automático). Etiquetas 4x6/4x2 thermal-first con bulk print, reprint y branding configurable. Búsqueda ultra rápida con índices específicos en barcode y external_tracking. Protección contra doble intake vía idempotency_key + warning de tracking duplicado. Cero impacto en POS, /sales, /portal, /addons, billing ni en el modo simple de Hub OS.
Aspectos destacados
- Barcodes server-side, transaccionales y retry-safe
- Intake scanner-first en menos de 15 segundos
- Historial inmutable de status y ubicación (trigger)
- Fotos en bucket privado con RLS por owner/hub/customer
- Etiquetas térmicas 4x6 y 4x2 con bulk print + reprint
- Búsqueda indexada por barcode y external_tracking
- Protección anti doble intake (idempotency_key + warning)