Unidades de Transporte
Gestión completa del ciclo de vida de unidades de transporte — desde el registro de entrada hasta el pesaje, inspección y despacho de salida con cadenas de evidencia completas.
Última actualización: 2025-02-18
Unidades de Transporte
Las unidades de transporte son la entidad central en el flujo de trabajo aduanero de Certexi. Cada unidad representa un vehículo, contenedor o envío que se mueve a través del proceso de despacho de la instalación.
certexi.com/app/workflow/kanban
Loading interactive demo...
Kanban de 4 etapas — Aduana, Báscula, Carga, Salida. Arrastra tarjetas para avanzar unidades de transporte.
Ciclo de Vida
Cada unidad de transporte sigue un ciclo de vida definido desde la creación hasta la finalización:
Loading diagram…
Tarjeta de Unidad de Transporte
<Card className="w-72"> <CardHeader className="pb-2"> <div className="flex items-center justify-between"> <CardTitle className="text-sm font-mono">TU-2025-00042</CardTitle> <Badge className="bg-amber-500 text-white text-[10px]">Urgente</Badge> </div> <CardDescription>Importación — Hub Monterrey</CardDescription> </CardHeader> <CardContent className="space-y-2"> <div className="grid grid-cols-2 gap-2 text-xs"> <div> <span className="text-muted-foreground">Etapa</span> <div className="font-medium mt-0.5">Báscula</div> </div> <div> <span className="text-muted-foreground">Operador</span> <div className="font-medium mt-0.5">C. Mendez</div> </div> <div> <span className="text-muted-foreground">Tipo</span> <div className="font-medium mt-0.5">Contenedor 40ft</div> </div> <div> <span className="text-muted-foreground">Tiempo en etapa</span> <div className="font-medium mt-0.5">12 min</div> </div> </div> <div className="space-y-1"> <div className="flex justify-between text-xs"> <span className="text-muted-foreground">Evidencia</span> <span>4/6 elementos</span> </div> <Progress value={67} className="h-1.5" /> </div> <div className="flex gap-1 pt-1"> <Button size="sm" variant="outline" className="flex-1 text-xs h-7">Historial</Button> <Button size="sm" className="flex-1 text-xs h-7">Avanzar</Button> </div> </CardContent> </Card>
Modelo de Datos
| Campo | Tipo | Descripción |
|---|---|---|
id | serial | Clave primaria auto-incremental |
tu_id | text | ID legible (ej., TU-2025-00042) |
type | enum | container, truck, trailer, railcar |
operation | enum | import, export, transit |
current_stage | enum | aduana, bascula, supervisor, salida, completed, hold |
priority | enum | normal, urgent, critical |
assigned_operator | text | Referencia del operador actual |
entry_weight_kg | number | Peso bruto en entrada |
exit_weight_kg | number | Peso tara en salida |
net_weight_kg | computed | Peso de entrada - peso de salida |
seal_number | text | Identificador de sello aduanero |
created_at | timestamp | Fecha de creación |
completed_at | timestamp | Fecha de finalización (nullable) |
Requisitos por Etapa
Cada etapa tiene requisitos de evidencia específicos que deben cumplirse antes de que la unidad pueda avanzar:
Entrada (Aduana)
| Requisito | Tipo | Obligatorio |
|---|---|---|
| Escaneo de etiqueta NFC | Escaneo | Sí |
| Foto de placa | Foto | Sí |
| Verificación de número de sello | Texto | Sí |
| ID del conductor | Texto | Sí |
| Revisión de documentación | Booleano | Sí |
Pesaje (Báscula)
| Requisito | Tipo | Obligatorio |
|---|---|---|
| Lectura de báscula | Número (kg) | Sí |
| Foto de certificado de peso | Foto | Sí |
| Verificación de calibración | Booleano | Sí |
Inspección (Supervisor)
| Requisito | Tipo | Obligatorio |
|---|---|---|
| Fotos de inspección física | Foto (2+) | Sí |
| Notas de inspección | Texto | Sí |
| Verificación de integridad de sello | Booleano | Sí |
| Aprobación del supervisor | Firma | Sí |
Salida
| Requisito | Tipo | Obligatorio |
|---|---|---|
| Peso de salida | Número (kg) | Sí |
| Verificación de sello | Booleano | Sí |
| Aprobación final | Firma | Sí |
| Foto de puerta de salida | Foto | Opcional |
Verificación de Peso
<Card className="w-80"> <CardHeader className="pb-2"> <CardTitle className="text-sm">Verificación de Peso</CardTitle> <CardDescription>TU-2025-00042</CardDescription> </CardHeader> <CardContent className="space-y-3"> <div className="grid grid-cols-3 gap-2 text-center"> <div className="p-2 rounded bg-muted"> <div className="text-lg font-bold">24,500</div> <div className="text-[10px] text-muted-foreground">Entrada (kg)</div> </div> <div className="p-2 rounded bg-muted"> <div className="text-lg font-bold">8,200</div> <div className="text-[10px] text-muted-foreground">Salida (kg)</div> </div> <div className="p-2 rounded bg-green-500/10"> <div className="text-lg font-bold text-green-600">16,300</div> <div className="text-[10px] text-muted-foreground">Neto (kg)</div> </div> </div> <div className="flex items-center justify-between text-xs"> <span className="text-muted-foreground">Tolerancia</span> <Badge variant="outline">Dentro del 0.5%</Badge> </div> <Alert> <AlertTitle className="text-xs">Verificación Aprobada</AlertTitle> <AlertDescription className="text-xs">Peso neto dentro del rango esperado para la mercancía declarada.</AlertDescription> </Alert> </CardContent> </Card>
Endpoints de API
| Endpoint | Método | Descripción |
|---|---|---|
/api/whms/transport-units | GET | Listar todas las unidades de transporte |
/api/whms/transport-units/:id | GET | Obtener detalles de una unidad de transporte |
/api/whms/transport-units | POST | Crear una nueva unidad de transporte |
/api/whms/transport-units/:id/advance | POST | Avanzar a la siguiente etapa |
/api/whms/transport-units/:id/hold | POST | Poner en espera |
/api/whms/transport-units/:id/release | POST | Liberar de espera |