TUPRSP Travel (D16A)

This is the standard EDIFACT D16A spec, with 48 loops and 166 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 (110 KB) Generate classes
The ediFabric .NET template, class TSTUPRSP. It needs the common segments, composites and codes of EDIFACT D16A, one download for every transaction in the version. Download C# (2 KB) Common files (69 KB)
The intermediary model ediFabric Native loads with set_map. Native supports X12 today, and EDIFACT is coming. Download Native (1 KB)

Use the TUPRSP 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 TUPRSP files into TSTUPRSP objects. See ediFabric .NET.

ediFabric Native

Native supports X12 today, and EDIFACT is coming. When it's available, map version D16A to this Native model with set_map to parse TUPRSP 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 TUPRSP classes in Python, Java, Node.js, Go, Rust or C

The OpenEDI file describes each TUPRSP as JSON. To work with TUPRSP data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSTUPRSP. 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.

TUPRSP structure

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

IDNameUsageMax use
UIHUIHMandatory1
MSDMSDMandatory1
Loop ERIERIOptional99
ERIERIMandatory1
ITMITMOptional1
IFTIFTOptional1
Loop TVLTVLOptional999
TVLTVLMandatory1
ITMITMOptional1
Loop ERIERIOptional5
ERIERIMandatory1
ITMITMOptional1
IFTIFTOptional1
Loop DTIDTIOptional99
DTIDTIMandatory1
ITMITMOptional1
NUNNUNOptional1
Loop RPIRPIOptional99
RPIRPIMandatory1
Loop RTCRTCOptional999
RTCRTCMandatory1
SDTSDTOptional1
PRDPRDOptional1
TFFTFFOptional1
Loop PDTPDTOptional999
PDTPDTMandatory1
ITMITMOptional1
TFFTFFOptional1
RTCRTCOptional1
POSPOSOptional1
RPIRPIOptional1
Loop MAPMAPOptional999
MAPMAPMandatory1
Loop TVLTVLOptional999
TVLTVLMandatory1
ITMITMOptional1
DTIDTIOptional1
Loop ERIERIOptional5
ERIERIMandatory1
ITMITMOptional1
IFTIFTOptional1
Loop RTCRTCOptional999
RTCRTCMandatory1
DTIDTIOptional1
ODSODSOptional1
SSRSSROptional1
RULRULOptional1
TFFTFFOptional1
ITMITMOptional1
CMNCMNOptional1
CURCUROptional1
PMTPMTOptional1
NUNNUNOptional1
IFTIFTOptional99
Loop PDTPDTOptional99
PDTPDTMandatory1
TFFTFFOptional1
Loop RTIRTIOptional999
RTIRTIMandatory1
Loop PDTPDTOptional999
PDTPDTMandatory1
TFFTFFOptional1
ODSODSOptional1
Loop PRDPRDOptional999
PRDPRDMandatory1
DTIDTIOptional1
RTIRTIOptional1
TFFTFFOptional1
RTCRTCOptional1
ODSODSOptional1
NUNNUNOptional1
PMTPMTOptional1
NMENMEOptional1
ITMITMOptional1
Loop RULRULOptional99
RULRULMandatory1
DTIDTIOptional1
ITMITMOptional1
Loop ITDITDOptional99
ITDITDMandatory1
Loop NMENMEOptional9
NMENMEMandatory1
ITMITMOptional1
Loop ERIERIOptional5
ERIERIMandatory1
ITMITMOptional1
IFTIFTOptional1
Loop MAPMAPOptional3
MAPMAPMandatory1
ADSADSOptional1
CONCONOptional1
CRICRIOptional1
ORGORGOptional1
Loop SDTSDTOptional99
SDTSDTMandatory1
POSPOSOptional1
Loop ODSODSOptional99
ODSODSMandatory1
IFTIFTOptional9
DTIDTIOptional1
Loop RULRULOptional99
RULRULMandatory1
DTIDTIOptional1
ITMITMOptional1
Loop TVLTVLOptional999
TVLTVLMandatory1
DTIDTIOptional1
Loop SDTSDTOptional99
SDTSDTMandatory1
POSPOSOptional1
CRICRIOptional1
Loop ODSODSOptional99
ODSODSMandatory1
ITMITMOptional1
IFTIFTOptional1
CRICRIOptional1
ATIATIOptional1
Loop ADSADSOptional9
ADSADSMandatory1
DTIDTIOptional1
Loop CONCONOptional9
CONCONMandatory1
DTIDTIOptional1
Loop PRDPRDOptional999
PRDPRDMandatory1
VEHVEHOptional1
NUNNUNOptional1
RULRULOptional1
RPIRPIOptional1
Loop ICIICIOptional9
ICIICIMandatory1
IFTIFTOptional9
Loop MOVMOVOptional9
MOVMOVMandatory1
RPIRPIOptional1
TFFTFFOptional1
IFTIFTOptional9
Loop SSRSSROptional99
SSRSSRMandatory1
TFFTFFOptional1
RULRULOptional1
IFTIFTOptional9
Loop ALSALSOptional999
ALSALSMandatory1
ITMITMOptional1
IFTIFTOptional1
CURCUROptional1
Loop ERIERIOptional5
ERIERIMandatory1
ITMITMOptional1
IFTIFTOptional1
Loop TVLTVLOptional999
TVLTVLMandatory1
ITMITMOptional1
MAPMAPOptional1
NMENMEOptional1
PLIPLIOptional1
NUNNUNOptional1
CONCONOptional1
CURCUROptional1
SSRSSROptional1
IFTIFTOptional9
Loop ODSODSOptional99
ODSODSMandatory1
NUNNUNOptional1
Loop PMTPMTOptional99
PMTPMTMandatory1
ADSADSOptional1
Loop PDTPDTOptional9
PDTPDTMandatory1
RPIRPIOptional1
Loop RTCRTCOptional99
RTCRTCMandatory1
IFTIFTOptional1
Loop DTIDTIOptional99
DTIDTIMandatory1
Loop PDTPDTOptional99
PDTPDTMandatory1
QTIQTIOptional1
Loop TIFTIFOptional9
TIFTIFMandatory1
ITMITMOptional1
Loop ERIERIOptional5
ERIERIMandatory1
ITMITMOptional1
IFTIFTOptional1
Loop MAPMAPOptional3
MAPMAPMandatory1
ADSADSOptional5
CONCONOptional1
CRICRIOptional1
PMTPMTOptional1
TDITDIOptional1
ALSALSOptional1
ODSODSOptional1
Loop SDTSDTOptional2
SDTSDTMandatory1
PRDPRDOptional1
ICIICIOptional1
SSRSSROptional1
PMTPMTOptional1
Loop MSDMSDOptional9
MSDMSDMandatory1
TFFTFFOptional1
Loop ALSALSOptional9
ALSALSMandatory1
PRDPRDOptional1
ICIICIOptional1
SSRSSROptional1
PMTPMTOptional1
Loop MSDMSDOptional9
MSDMSDMandatory1
TFFTFFOptional1
UITUITMandatory1