PNREXC PNR Data Exchange (11.1)

This is the standard IATA PADIS 11.1 spec, with 20 loops and 90 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 (153 KB) Generate classes
The ediFabric .NET template, class TSPNREXC. It needs the common segments, composites and codes of IATA PADIS 11.1, one download for every transaction in the version. Download C# (2 KB) Common files (55 KB)
The intermediary model ediFabric Native loads with set_map. Native supports X12 today, and IATA is coming. Download Native (1 KB)

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

ediFabric Native

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

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

PNREXC structure

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

IDNameUsageMax use
UNHUNHMandatory1
Loop ORGORGOptional1
ORGORGMandatory1
ABIABIOptional3
RCIRCIOptional1
TXDTXDOptional4
MSGMSGOptional9
IFTIFTOptional999
Loop ERCERCOptional5
ERCERCMandatory1
IFTIFTOptional1
Loop SSRSSROptional999
SSRSSRMandatory1
SRPSRPOptional1
REFREFOptional1
Loop TIFTIFOptional2000
TIFTIFMandatory1
IFTIFTOptional99
FTIFTIOptional1
TRTTRTOptional1
FARFAROptional3
Loop SSRSSROptional999
SSRSSRMandatory1
SRPSRPOptional1
REFREFOptional1
Loop PTKPTKOptional1
PTKPTKMandatory1
EQNEQNOptional1
CVRCVROptional1
Loop DIDDIDOptional1
DIDDIDMandatory1
RCIRCIOptional1
TIFTIFOptional999
Loop TVLTVLOptional99
TVLTVLMandatory1
MSGMSGOptional1
RCIRCIOptional1
RPIRPIOptional1
APDAPDOptional1
EQNEQNOptional1
SDTSDTOptional1
IFTIFTOptional99
Loop TIITIIOptional3
TIITIIMandatory1
APDAPDOptional1
Loop SSRSSROptional999
SSRSSRMandatory1
SRPSRPOptional1
Loop TIFTIFOptional999
TIFTIFMandatory1
FTIFTIOptional1
FARFAROptional3
CRICRIOptional1
PMTPMTOptional1
IFTIFTOptional99
Loop SSRSSROptional999
SSRSSRMandatory1
SRPSRPOptional1
Loop DUMDUMOptional1
DUMDUMMandatory1
AAIAAIOptional1
ASDASDOptional1
ATIATIOptional1
CRICRIOptional1
DISDISOptional1
TFFTFFOptional1
CMNCMNOptional1
PMTPMTOptional9
VEHVEHOptional9
DATDATOptional1
Loop REFREFOptional999
REFREFMandatory1
SPISPIOptional1
EQNEQNOptional1
PTKPTKOptional1
FOPFOPOptional1
ITMITMOptional1
IFTIFTOptional1
ORGORGOptional1
TAITAIOptional1
TKTTKTOptional1
Loop STDSTDOptional999
STDSTDMandatory1
PTKPTKOptional1
Loop FARFARMandatory3
FARFARMandatory1
CVRCVROptional1
MONMONOptional1
EQNEQNOptional1
TXDTXDOptional3
IFTIFTOptional9
Loop FCCFCCOptional99
FCCFCCMandatory1
MONMONOptional1
Loop TIITIIOptional99
TIITIIMandatory1
MONMONOptional1
FARFAROptional1
EQNEQNOptional1
PDIPDIOptional1
EBDEBDOptional1
Loop FCCFCCOptional99
FCCFCCMandatory1
MONMONOptional1
Loop TVLTVLOptional99
TVLTVLMandatory1
RPIRPIOptional1
TIITIIOptional1
EBDEBDOptional1
UNTUNTMandatory1