HANMOV Cargo/goods handling and movement message (D01C)

This is the standard EDIFACT D01C spec, with 23 loops and 86 segment positions, as OpenEDI JSON, an ediFabric C# template and an ediFabric Native model. To change it for a trading partner, customize it in the EDI Spec Builder.

Loading the spec…
The spec as an OpenAPI 3 schema with x-openedi-* extensions, for ediFabric Native, ediFabric Cloud and the EDI Spec Builder. Download OpenEDI (113 KB) Generate classes
The ediFabric .NET template, class TSHANMOV. It needs the common segments, composites and codes of EDIFACT D01C, one download for every transaction in the version. Download C# (2 KB) Common files (57 KB)
The intermediary model ediFabric Native loads with set_map. Native supports X12 today, and EDIFACT is coming. Download Native (1 KB)

Use the HANMOV spec in your code

ediFabric .NET

Add the C# template and its common files to your project, or reference the template NuGet package, and read HANMOV files into TSHANMOV objects. See ediFabric .NET.

ediFabric Native

Native supports X12 today, and EDIFACT is coming. When it's available, map version D01C to this Native model with set_map to parse HANMOV files to JSON from Python, Java, C or C#. See ediFabric Native.

OpenEDI

Select Customize in Spec Builder to copy the spec under your own name, change it for your partner, and parse files against it in EdiNation, ediFabric Native or ediFabric Cloud. Read about OpenEDI.

Generate HANMOV classes in Python, Java, Node.js, Go, Rust or C

The OpenEDI file describes each HANMOV as JSON. To work with HANMOV data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSHANMOV. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats. Read more in Generate a class from OpenEDI.

Python: datamodel-code-generator. Node.js: openapi-typescript. Java, Go, Rust and C: OpenAPI Generator.

HANMOV structure

Loops and segments of the standard HANMOV, with their usage and maximum repeats.

IDNameUsageMax use
UNHMessage HeaderOptional1
BGMBEGINNING OF MESSAGEMandatory1
DTMDATE/TIME/PERIODOptional9
HANHANDLING INSTRUCTIONSOptional9
FTXFREE TEXTOptional9
CNTCONTROL TOTALOptional9
CUXCURRENCIESOptional9
Loop TCCCHARGE/RATE CALCULATIONSOptional9
TCCCHARGE/RATE CALCULATIONSMandatory1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
FTXFREE TEXTOptional9
CUXCURRENCIESOptional9
Loop RFFREFERENCEOptional9
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional9
Loop STSSTATUSOptional9
STSSTATUSMandatory1
DTMDATE/TIME/PERIODOptional9
FTXFREE TEXTOptional9
HANHANDLING INSTRUCTIONSOptional9
MOAMONETARY AMOUNTOptional9
Loop NADNAME AND ADDRESSOptional9
NADNAME AND ADDRESSMandatory1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
DOCDOCUMENT/MESSAGE DETAILSOptional9
Loop RFFREFERENCEOptional9
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional9
Loop CTACONTACT INFORMATIONOptional1
CTACONTACT INFORMATIONMandatory1
COMCOMMUNICATION CONTACTOptional9
Loop TDTDETAILS OF TRANSPORTOptional9
TDTDETAILS OF TRANSPORTMandatory1
Loop STSSTATUSOptional1
STSSTATUSMandatory1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
DTMDATE/TIME/PERIODOptional9
Loop RFFREFERENCEOptional1
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional9
Loop DOCDOCUMENT/MESSAGE DETAILSOptional1
DOCDOCUMENT/MESSAGE DETAILSMandatory1
DTMDATE/TIME/PERIODOptional9
Loop TODTERMS OF DELIVERY OR TRANSPORTOptional9
TODTERMS OF DELIVERY OR TRANSPORTMandatory1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
Loop LINLINE ITEMOptional99
LINLINE ITEMMandatory1
Loop STSSTATUSOptional1
STSSTATUSMandatory1
PIAADDITIONAL PRODUCT IDOptional9
IMDITEM DESCRIPTIONOptional99
HANHANDLING INSTRUCTIONSOptional9
TCCCHARGE/RATE CALCULATIONSOptional9
Loop NADNAME AND ADDRESSOptional9
NADNAME AND ADDRESSMandatory1
Loop CTACONTACT INFORMATIONOptional9
CTACONTACT INFORMATIONMandatory1
COMCOMMUNICATION CONTACTOptional9
MEAMEASUREMENTSOptional9
QTYQUANTITYOptional9
GINGOODS IDENTITY NUMBEROptional99
GIRRELATED IDENTIFICATION NUMBERSOptional99
Loop DTMDATE/TIME/PERIODOptional1
DTMDATE/TIME/PERIODMandatory1
QTYQUANTITYOptional9
FTXFREE TEXTOptional9
Loop RFFREFERENCEOptional1
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional9
LOCPLACE/LOCATION IDENTIFICATIONOptional9
Loop PACPACKAGEOptional1
PACPACKAGEMandatory1
MEAMEASUREMENTSOptional9
QTYQUANTITYOptional9
Loop PCIPACKAGE IDENTIFICATIONOptional9
PCIPACKAGE IDENTIFICATIONMandatory1
GINGOODS IDENTITY NUMBEROptional9
Loop GIDGOODS ITEM DETAILSOptional9
GIDGOODS ITEM DETAILSMandatory1
HANHANDLING INSTRUCTIONSOptional9
CSTCUSTOMS STATUS OF GOODSOptional9
TMPTEMPERATUREOptional9
RNGRANGE DETAILSOptional9
LOCPLACE/LOCATION IDENTIFICATIONOptional9
MOAMONETARY AMOUNTOptional9
PIAADDITIONAL PRODUCT IDOptional9
FTXFREE TEXTOptional9
NADNAME AND ADDRESSOptional9
MEAMEASUREMENTSOptional9
DIMDIMENSIONSOptional9
RFFREFERENCEOptional9
PCIPACKAGE IDENTIFICATIONOptional9
Loop DOCDOCUMENT/MESSAGE DETAILSOptional9
DOCDOCUMENT/MESSAGE DETAILSMandatory1
DTMDATE/TIME/PERIODOptional9
SGPSPLIT GOODS PLACEMENTOptional9
TCCCHARGE/RATE CALCULATIONSOptional9
Loop DGSDANGEROUS GOODSOptional9
DGSDANGEROUS GOODSMandatory1
FTXFREE TEXTOptional9
MEAMEASUREMENTSOptional9
Loop EQDEQUIPMENT DETAILSOptional9
EQDEQUIPMENT DETAILSMandatory1
EQNNUMBER OF UNITSOptional9
SELSEAL NUMBEROptional9
EQAATTACHED EQUIPMENTOptional99
RFFREFERENCEOptional9
UNTMessage TrailerOptional1