IATA PADIS PNRGOV Passenger Name Record Data

PNRGOV is the IATA/WCO/ICAO standard airlines use to push passenger name record (PNR) data to government authorities for border security. It is an EDIFACT message in the IATA PADIS directory.

The message identifies the flight, then repeats one group per PNR with the record locator, travellers, itinerary, ticketing, payment and seat information.

At a glance

Standard
IATA PADIS
Version
PADIS 11.1
Sent by
Airline to government authority
Responses
Acknowledgment per country agreement
ediFabric .NET template
TSPNRGOV in EdiFabric.Templates.Padis
OpenEDI definition
View PNRGOV in the spec library

PNRGOV structure

The full IATA PADIS PNRGOV layout from its OpenEDI definition, the same model ediFabric uses to parse, validate and generate it: 12 loops and 57 segment positions, in file order. Loops are shaded and their segments indented; Max use is how many times a segment or loop may repeat.

Segment / loop Name Usage Max use
UNHMessage headerMandatory1
MSGMESSAGEFUNCTIONBUSINESSDETAILS, Response TypeMandatory1
ORGOriginator of request detailsMandatory1
TVLTravel product informationMandatory1
EQNNumber of unitsMandatory1
SRC loopSegment repetition controlOptional999
SRCSegment repetition controlMandatory1
RCIReservation control informationMandatory1
SSRSpecial requirements detailsOptional999
DATDate and time informationOptional1
IFTInteractive free textOptional999
ORGOriginator of request detailsMandatory1
ADDAddressOptional99
EBDExcess baggage detailsOptional9
TIF loopTraveller informationOptional999
TIFTraveller informationMandatory1
FTIFrequent traveller informationOptional1
IFTInteractive free textOptional99
REFREFERENCINGDETAILSOptional1
EBDExcess baggage detailsOptional1
FARFare informationOptional9
SSRSpecial requirements detailsOptional999
ADDAddressOptional99
TKT loopTicket number detailsOptional999
TKTTicket number detailsMandatory1
MONMonetary informationOptional1
PTKPricing/ticketing detailsOptional1
TXDTax detailsOptional99
DATDate and time informationOptional1
FOP loopForm of paymentOptional1
FOPForm of paymentMandatory1
IFTInteractive free textOptional1
ADDAddressOptional1
TVL loopTravel product informationOptional999
TVLTravel product informationMandatory1
TRACOMPANYIDENTIFICATION, PRODUCTIDENTIFICATIONDETAILSOptional1
RPIQuantity, StatusOptional1
APDADDITIONALPRODUCTDETAILS, STATIONINFORMATION1, STATIONINFORMATION2Optional1
SSRSpecial requirements detailsOptional99
RCIReservation control informationOptional1
IFTInteractive free textOptional99
DAT loopDate and time informationOptional999
DATDate and time informationMandatory1
ORGOriginator of request detailsOptional1
TRI loopTraveller reference informationOptional999
TRITraveller reference informationMandatory1
TIFTraveller informationOptional1
SSDSeat selection detailsOptional1
TBDTraveller baggage detailsOptional1
EQN loopNumber of unitsOptional99
EQNNumber of unitsMandatory1
RCIReservation control informationMandatory1
MSG loopMESSAGEFUNCTIONBUSINESSDETAILS, Response TypeOptional9
MSGMESSAGEFUNCTIONBUSINESSDETAILS, Response TypeMandatory1
TVLTravel product informationOptional99
ABI loopSOURCETYPE, ORIGINATORDETAILS, LOCATIONOptional999
ABISOURCETYPE, ORIGINATORDETAILS, LOCATIONMandatory1
DATDate and time informationOptional1
SAC loopStatus Indicator, Place Location Identification, StatusOptional99
SACStatus Indicator, Place Location Identification, StatusMandatory1
TIFTraveller informationOptional1
SSRSpecial requirements detailsOptional1
IFTInteractive free textOptional1
TBDTraveller baggage detailsOptional1
TVL loopTravel product informationOptional2
TVLTravel product informationMandatory1
RPIQuantity, StatusOptional1
LTSLong text stringOptional9
UNTMessage trailerMandatory1

Mandatory segments must be sent, Optional ones only when the data applies. Trading partners often add their own rules in companion guides - ediFabric templates can be adjusted to match. Open the element-level definition in the EdiNation spec library.

Sample PNRGOV file

A PNRGOV message with passenger name records for one flight. Paste it into EdiNation to see every element named and validated.

UNA:+.?*'
UNB+IATA:1+AM+MXPNRGOV+130522:1540+13052210400995+PNRGOV'
UNG+PNRGOV+AM+MXPNRGOV+130522:1540+13052210400995+IA+11:1'
UNH+13052210400995+PNRGOV:11:1:IA+AM498/230513/1142'
MSG+:22'
ORG+AM'
TVL+230513:1039:230513:1142+MTY+LAS+AM+498'
EQN+1'
SRC'
RCI+AM:XXXYET::300413:115500'
SSR+OTHS:::::::: ADV TKT NUMBER BY 03MAY13 1800CO OR WILL CANCEL'
SSR+OTHS:::::::: IF THE FARE RULE TL DIFFERS FROM THE AUTOMATIC'
SSR+OTHS:::::::: TL THE MOST RESTRICTIVE TL WILL APPLY'
DAT+700:180513:1502'
ORG+AM:BOG'
TIF+TESTSURNAMEONE+TESTNAMEONE MRS:A:1.1:1'
SSR+INFT:NN:1:AM:::::TESTSURNAMETWO/TESTNAMETWO/10AUG11+::1.1'
SSR+INFT:NN:1:AM:::::TESTSURNAMETWO/TESTNAMETWO/10AUG11+::1.1'
SSR+TKNE:HK:1:AM:::MEX:CUN:1392178947000C2+::1.1'
SSR+TKNE:HK:1:AM:::CUN:BOG:1392178947000C3+::1.1'
SSR+TKNE:HK:1:AM:::MEX:CUN:INF1392178947000C2+::1.1'
SSR+TKNE:HK:1:AM:::CUN:BOG:INF1392178947000C3+::1.1'
SSR+DOCS:HK:1:AM:::::/P/CO/52263000/CO/30MAY76/F/31OCT15/TESTSURNAMEONE/TESTNAMEONE MRS+::1.1'
SSR+DOCS:HK:1:AM:::::/P/COL/AO234000/COL/10AUG11/FI/21DEC22/TESTSURNAMETWO/TESTNAMETWO+::1.1'
TIF+TESTSURNAMETWO+TESTNAMETWO:IN:2.1'
IFT+4:28+AM INF'
TVL+150513:0105:150513:0557+BOG+MEX+AM+709:R'
RPI+1+YG'
APD+737'
RCI+AM:XXXYET::300413:115500'
TVL+190513:1500:190513:1710+MEX+CUN+AM+445:S'
RPI+1+HK'
APD+738'
SSR+INFT:NN:1:AM:::::TESTSURNAMETWO/TESTNAMETWO/10AUG11'
SSR+TKNE:HK:1:AM:::MEX:CUN:1392178947000C2'
SSR+TKNE:HK:1:AM:::MEX:CUN:INF1392178947000C2'
RCI+AM:XXXYET::300413:115500'
TVL+230513:0135:230513:0500+CUN+BOG+AM+718:Q'
RPI+1+HK'
APD+737'
SSR+INFT:NN:1:AM:::::TESTSURNAMETWO/TESTNAMETWO/10AUG11'
SSR+TKNE:HK:1:AM:::CUN:BOG:1392178947000C3'
SSR+TKNE:HK:1:AM:::CUN:BOG:INF1392178947000C3'
RCI+AM:XXXYET::300413:115500'
UNT+42+13052210400995'
UNE+1+13052210400995'
UNZ+1+13052210400995'

The same PNRGOV as JSON

ediFabric turns every loop, segment and element into a named field. This is the transaction from the sample, in the JSON that ediFabric Native and Cloud return and accept.

{
  "UNH": {
    "MessageReferenceNumber_01": "13052210400995",
    "MessageIdentifier_02": {
      "MessageType_01": "PNRGOV",
      "MessageVersionNumber_02": "11",
      "MessageReleaseNumber_03": "1",
      "ControllingAgencyCoded_04": "IA"
    },
    "CommonAccessReference_03": "AM498/230513/1142"
  },
  "MSG": {
    "MESSAGEFUNCTIONBUSINESSDETAILS_01": {
      "MessageFunction_02": "22"
    }
  },
  "ORG": {
    "SYSTEMDETAILS_01": {
      "CompanyIdentification_01": "AM"
    }
  },
  "TVL": {
    "PRODUCTDATETIME_01": {
      "FirstDate_01": "230513",
      "FirstTime_02": "1039",
      "SecondDate_03": "230513",
      "SecondTime_04": "1142"
    },
    "LOCATION_02": {
      "PlaceLocationIdentification_01": "MTY"
    },
    "LOCATION2_03": {
      "PlaceLocationIdentification_01": "LAS"
    },
    "COMPANYIDENTIFICATION_04": {
      "CompanyIdentification_01": "AM"
    },
    "PRODUCTIDENTIFICATIONDETAILS_05": {
      "ProductionIdentification_01": "498"
    }
  },
  "EQN": {
    "NUMBEROFUNITDETAILS_01": {
      "NumberOfUnits_01": "1"
    }
  },
  "GR1_SRCLoop": [
    {
      "RCI": {
        "RESERVATIONCONTROLINFORMATION_01": {
          "CompanyIdentification_01": "AM",
          "ReservationControlNumber_02": "XXXYET",
          "FirstDate_04": "300413",
          "Time_05": "115500"
        }
      },
      "SSR": [
        {
          "SPECIALREQUIREMENTTYPEDETAILS_01": {
            "SpecialRequirementType_01": "OTHS",
            "PlaceLocationIdentification2_09": " ADV TKT NUMBER BY 03MAY13 1800CO OR WILL CANCEL"
          }
        },
        {
          "SPECIALREQUIREMENTTYPEDETAILS_01": {
            "SpecialRequirementType_01": "OTHS",
            "PlaceLocationIdentification2_09": " IF THE FARE RULE TL DIFFERS FROM THE AUTOMATIC"
          }
        },
        {
          "SPECIALREQUIREMENTTYPEDETAILS_01": {
            "SpecialRequirementType_01": "OTHS",
            "PlaceLocationIdentification2_09": " TL THE MOST RESTRICTIVE TL WILL APPLY"
          }
        }
      ],
      "DAT": {
        "DATEANDTIMEDETAILS_01": {
          "DateTimePeriodQualifier_01": "700",
          "FirstDate_02": "180513",
          "FirstTime_03": "1502"
        }
      },
      "ORG": {
        "SYSTEMDETAILS_01": {
          "CompanyIdentification_01": "AM",
          "PlaceLocationIdentification_02": "BOG"
        }
      },
      "GR2_TIFLoop": [
        {
          "TIF": {
            "TRAVELLERSURNAMEINFORMATION_01": {
              "TravellerSurname_01": "TESTSURNAMEONE"
            },
            "TRAVELLERDETAILS_02": {
              "TravellerGivenName_01": "TESTNAMEONE MRS",
              "NumberOfUnitsQualifier_02": "A",
              "TravellerReferenceNumber_03": "1.1",
              "TravellerAccompaniedByInfantIndicator_04": "1"
            }
          },
          "SSR": [
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "INFT",
                "Status_02": "NN",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "PlaceLocationIdentification2_09": "TESTSURNAMETWO/TESTNAMETWO/10AUG11"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "INFT",
                "Status_02": "NN",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "PlaceLocationIdentification2_09": "TESTSURNAMETWO/TESTNAMETWO/10AUG11"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "MEX",
                "PlaceLocationIdentification_08": "CUN",
                "PlaceLocationIdentification2_09": "1392178947000C2"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "CUN",
                "PlaceLocationIdentification_08": "BOG",
                "PlaceLocationIdentification2_09": "1392178947000C3"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "MEX",
                "PlaceLocationIdentification_08": "CUN",
                "PlaceLocationIdentification2_09": "INF1392178947000C2"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "CUN",
                "PlaceLocationIdentification_08": "BOG",
                "PlaceLocationIdentification2_09": "INF1392178947000C3"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "DOCS",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "PlaceLocationIdentification2_09": "/P/CO/52263000/CO/30MAY76/F/31OCT15/TESTSURNAMEONE/TESTNAMEONE MRS"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "DOCS",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "PlaceLocationIdentification2_09": "/P/COL/AO234000/COL/10AUG11/FI/21DEC22/TESTSURNAMETWO/TESTNAMETWO"
              },
              "SPECIALREQUIREMENTDATADETAILS_02": {
                "TravellerReferenceNumber_03": "1.1"
              }
            }
          ]
        },
        {
          "TIF": {
            "TRAVELLERSURNAMEINFORMATION_01": {
              "TravellerSurname_01": "TESTSURNAMETWO"
            },
            "TRAVELLERDETAILS_02": {
              "TravellerGivenName_01": "TESTNAMETWO",
              "NumberOfUnitsQualifier_02": "IN",
              "TravellerReferenceNumber_03": "2.1"
            }
          },
          "IFT": [
            {
              "FREETEXTQUALIFICATION_01": {
                "TextSubjectQualifier_01": "4",
                "InformationType_02": "28"
              },
              "FreeText_02": "AM INF"
            }
          ]
        }
      ],
      "GR5_TVLLoop": [
        {
          "TVL": {
            "PRODUCTDATETIME_01": {
              "FirstDate_01": "150513",
              "FirstTime_02": "0105",
              "SecondDate_03": "150513",
              "SecondTime_04": "0557"
            },
            "LOCATION_02": {
              "PlaceLocationIdentification_01": "BOG"
            },
            "LOCATION2_03": {
              "PlaceLocationIdentification_01": "MEX"
            },
            "COMPANYIDENTIFICATION_04": {
              "CompanyIdentification_01": "AM"
            },
            "PRODUCTIDENTIFICATIONDETAILS_05": {
              "ProductionIdentification_01": "709",
              "CharacteristicIdentification_02": "R"
            }
          },
          "RPI": {
            "Quantity_01": "1",
            "Status_02": "YG"
          },
          "APD": {
            "ADDITIONALPRODUCTDETAILS_01": {
              "TypeOfMeansOfTransport_01": "737"
            }
          },
          "RCI": {
            "RESERVATIONCONTROLINFORMATION_01": {
              "CompanyIdentification_01": "AM",
              "ReservationControlNumber_02": "XXXYET",
              "FirstDate_04": "300413",
              "Time_05": "115500"
            }
          }
        },
        {
          "TVL": {
            "PRODUCTDATETIME_01": {
              "FirstDate_01": "190513",
              "FirstTime_02": "1500",
              "SecondDate_03": "190513",
              "SecondTime_04": "1710"
            },
            "LOCATION_02": {
              "PlaceLocationIdentification_01": "MEX"
            },
            "LOCATION2_03": {
              "PlaceLocationIdentification_01": "CUN"
            },
            "COMPANYIDENTIFICATION_04": {
              "CompanyIdentification_01": "AM"
            },
            "PRODUCTIDENTIFICATIONDETAILS_05": {
              "ProductionIdentification_01": "445",
              "CharacteristicIdentification_02": "S"
            }
          },
          "RPI": {
            "Quantity_01": "1",
            "Status_02": "HK"
          },
          "APD": {
            "ADDITIONALPRODUCTDETAILS_01": {
              "TypeOfMeansOfTransport_01": "738"
            }
          },
          "SSR": [
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "INFT",
                "Status_02": "NN",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "PlaceLocationIdentification2_09": "TESTSURNAMETWO/TESTNAMETWO/10AUG11"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "MEX",
                "PlaceLocationIdentification_08": "CUN",
                "PlaceLocationIdentification2_09": "1392178947000C2"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "MEX",
                "PlaceLocationIdentification_08": "CUN",
                "PlaceLocationIdentification2_09": "INF1392178947000C2"
              }
            }
          ],
          "RCI": {
            "RESERVATIONCONTROLINFORMATION_01": {
              "CompanyIdentification_01": "AM",
              "ReservationControlNumber_02": "XXXYET",
              "FirstDate_04": "300413",
              "Time_05": "115500"
            }
          }
        },
        {
          "TVL": {
            "PRODUCTDATETIME_01": {
              "FirstDate_01": "230513",
              "FirstTime_02": "0135",
              "SecondDate_03": "230513",
              "SecondTime_04": "0500"
            },
            "LOCATION_02": {
              "PlaceLocationIdentification_01": "CUN"
            },
            "LOCATION2_03": {
              "PlaceLocationIdentification_01": "BOG"
            },
            "COMPANYIDENTIFICATION_04": {
              "CompanyIdentification_01": "AM"
            },
            "PRODUCTIDENTIFICATIONDETAILS_05": {
              "ProductionIdentification_01": "718",
              "CharacteristicIdentification_02": "Q"
            }
          },
          "RPI": {
            "Quantity_01": "1",
            "Status_02": "HK"
          },
          "APD": {
            "ADDITIONALPRODUCTDETAILS_01": {
              "TypeOfMeansOfTransport_01": "737"
            }
          },
          "SSR": [
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "INFT",
                "Status_02": "NN",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "PlaceLocationIdentification2_09": "TESTSURNAMETWO/TESTNAMETWO/10AUG11"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "CUN",
                "PlaceLocationIdentification_08": "BOG",
                "PlaceLocationIdentification2_09": "1392178947000C3"
              }
            },
            {
              "SPECIALREQUIREMENTTYPEDETAILS_01": {
                "SpecialRequirementType_01": "TKNE",
                "Status_02": "HK",
                "Quantity_03": "1",
                "CompanyIdentification_04": "AM",
                "ItemDescription_07": "CUN",
                "PlaceLocationIdentification_08": "BOG",
                "PlaceLocationIdentification2_09": "INF1392178947000C3"
              }
            }
          ],
          "RCI": {
            "RESERVATIONCONTROLINFORMATION_01": {
              "CompanyIdentification_01": "AM",
              "ReservationControlNumber_02": "XXXYET",
              "FirstDate_04": "300413",
              "Time_05": "115500"
            }
          }
        }
      ]
    }
  ],
  "UNT": {
    "NumberofSegmentsinaMessage_01": "42",
    "MessageReferenceNumber_02": "13052210400995"
  }
}

Parse and validate a PNRGOV file

Read the file into typed objects with ediFabric .NET, or post it to the ediFabric Cloud REST API from any language and get JSON back.

using EdiFabric.Templates.Iata131;

License.SetSerial("YOUR_SERIAL_KEY");

using (var stream = File.OpenRead(@"C:\edi\PassengerData.txt"))
using (var reader = new EdifactReader(stream, (unb, ung, unh) => typeof(TSPNRGOV).GetTypeInfo()))
{
    var items = await reader.ReadToEndAsync();
    foreach (var transaction in items.OfType<TSPNRGOV>())
    {
        if (transaction.IsValid(out MessageErrorContext errors))
            Console.WriteLine($"{transaction.UNH.MessageReferenceNumber_01} is valid");
        else
            Console.WriteLine(string.Join(Environment.NewLine, errors.Flatten()));
    }
}
curl -X POST 'https://api.edination.com/v2/edifact/read' \
-H 'Ocp-Apim-Subscription-Key: YOUR_SERIAL_KEY' \
-H 'Content-Type: application/octet-stream' \
--data-binary '@PassengerData.txt'

Generate a PNRGOV file

Populate a TSPNRGOV object in .NET, or post JSON in the shape shown above to ediFabric Cloud, and get a valid PNRGOV file back.

using EdiFabric.Templates.Iata131;

License.SetSerial("YOUR_SERIAL_KEY");

var transaction = new TSPNRGOV();

//  Message header
transaction.UNH = new UNH();
transaction.UNH.MessageReferenceNumber_01 = "0001";
transaction.UNH.MessageIdentifier_02 = new S009();
transaction.UNH.MessageIdentifier_02.MessageType_01 = "PNRGOV";
transaction.UNH.MessageIdentifier_02.MessageVersionNumber_02 = "11";
transaction.UNH.MessageIdentifier_02.MessageReleaseNumber_03 = "1";
transaction.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "IA";
transaction.UNH.CommonAccessReference_03 = "AM498/230513/1142";

//  Code to specify the message function
transaction.MSG = new MSG();
transaction.MSG.MESSAGEFUNCTIONBUSINESSDETAILS_01 = new C302();
transaction.MSG.MESSAGEFUNCTIONBUSINESSDETAILS_01.MessageFunction_02 = "22";

//  The originator of the request is AM
transaction.ORG = new ORG();
transaction.ORG.SYSTEMDETAILS_01 = new C336();
transaction.ORG.SYSTEMDETAILS_01.CompanyIdentification_01 = "AM";

// ... set the remaining loops and segments the same way

// SegmentBuilders is in the Common project of the example repository
using (var stream = new MemoryStream())
{
    using (var writer = new EdifactWriter(stream))
    {
        writer.Write(SegmentBuilders.BuildUnb("1"));
        writer.Write(SegmentBuilders.BuildUng("1", "PNRGOV"));
        writer.Write(transaction);
    }
    Console.WriteLine(Encoding.UTF8.GetString(stream.ToArray()));
}
# the JSON returned by /read, edited or produced by your application
curl -X POST 'https://api.edination.com/v2/edifact/write' \
-H 'Ocp-Apim-Subscription-Key: YOUR_SERIAL_KEY' \
-H 'Content-Type: application/json' \
--data-binary '@PassengerData.json' \
-o 'PassengerData.txt'

PNRGOV questions

What is the difference between PNRGOV and PAXLST?

PAXLST carries advance passenger information (API): identity and document data from check-in. PNRGOV carries the reservation (PNR) data, such as itinerary, contact and payment details.

When is PNRGOV sent?

At times set by each government, typically several times before departure and again at departure.

Which version is used?

The authority's implementation guide sets the PNRGOV version, such as 11.1 or 13.1.

How do I parse and generate IATA PADIS PNRGOV files in .NET?

In .NET, install EdiFabric and EdiFabric.Templates.Padis, read the file with EdifactReader into TSPNRGOV objects and write them back with EdifactWriter. From any other language, post the file to the ediFabric Cloud REST API, which returns the same structure as JSON and converts JSON back to IATA PADIS.

Parse your first PNRGOV in five minutes

The Community plan is free forever and needs no credit card. It includes ediFabric .NET, Native and Cloud.