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

CampoTipoDescripción
idserialClave primaria auto-incremental
tu_idtextID legible (ej., TU-2025-00042)
typeenumcontainer, truck, trailer, railcar
operationenumimport, export, transit
current_stageenumaduana, bascula, supervisor, salida, completed, hold
priorityenumnormal, urgent, critical
assigned_operatortextReferencia del operador actual
entry_weight_kgnumberPeso bruto en entrada
exit_weight_kgnumberPeso tara en salida
net_weight_kgcomputedPeso de entrada - peso de salida
seal_numbertextIdentificador de sello aduanero
created_attimestampFecha de creación
completed_attimestampFecha 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)

RequisitoTipoObligatorio
Escaneo de etiqueta NFCEscaneo
Foto de placaFoto
Verificación de número de selloTexto
ID del conductorTexto
Revisión de documentaciónBooleano

Pesaje (Báscula)

RequisitoTipoObligatorio
Lectura de básculaNúmero (kg)
Foto de certificado de pesoFoto
Verificación de calibraciónBooleano

Inspección (Supervisor)

RequisitoTipoObligatorio
Fotos de inspección físicaFoto (2+)
Notas de inspecciónTexto
Verificación de integridad de selloBooleano
Aprobación del supervisorFirma

Salida

RequisitoTipoObligatorio
Peso de salidaNúmero (kg)
Verificación de selloBooleano
Aprobación finalFirma
Foto de puerta de salidaFotoOpcional

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

EndpointMétodoDescripción
/api/whms/transport-unitsGETListar todas las unidades de transporte
/api/whms/transport-units/:idGETObtener detalles de una unidad de transporte
/api/whms/transport-unitsPOSTCrear una nueva unidad de transporte
/api/whms/transport-units/:id/advancePOSTAvanzar a la siguiente etapa
/api/whms/transport-units/:id/holdPOSTPoner en espera
/api/whms/transport-units/:id/releasePOSTLiberar de espera

Relacionado