TUPREQ Travel (D15A)
This is the standard EDIFACT D15A spec, with 42 loops and 150 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.
Use the TUPREQ 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 TUPREQ files into TSTUPREQ objects. See ediFabric .NET.
ediFabric Native
Native supports X12 today, and EDIFACT is coming. When it's available, map version D15A to this Native model with set_map to parse TUPREQ 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 TUPREQ classes in Python, Java, Node.js, Go, Rust or C
The OpenEDI file describes each TUPREQ as JSON. To work with TUPREQ data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSTUPREQ. 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.
TUPREQ structure
Loops and segments of the standard TUPREQ, with their usage and maximum repeats.
| ID | Name | Usage | Max use |
|---|---|---|---|
| UIH | UIH | Mandatory | 1 |
| MSD | MSD | Mandatory | 1 |
| ORG | ORG | Mandatory | 1 |
| NUN | NUN | Mandatory | 1 |
| Loop TVL | TVL | Optional | 999 |
| TVL | TVL | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| Loop DTI | DTI | Optional | 99 |
| DTI | DTI | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| NUN | NUN | Optional | 1 |
| Loop RPI | RPI | Optional | 99 |
| RPI | RPI | Mandatory | 1 |
| Loop RTC | RTC | Optional | 999 |
| RTC | RTC | Mandatory | 1 |
| SDT | SDT | Optional | 1 |
| PRD | PRD | Optional | 1 |
| TFF | TFF | Optional | 1 |
| Loop PDT | PDT | Optional | 999 |
| PDT | PDT | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| TFF | TFF | Optional | 1 |
| RTC | RTC | Optional | 1 |
| POS | POS | Optional | 1 |
| RPI | RPI | Optional | 1 |
| Loop MAP | MAP | Optional | 999 |
| MAP | MAP | Mandatory | 1 |
| Loop TVL | TVL | Optional | 999 |
| TVL | TVL | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| DTI | DTI | Optional | 1 |
| Loop RTC | RTC | Optional | 999 |
| RTC | RTC | Mandatory | 1 |
| DTI | DTI | Optional | 1 |
| ODS | ODS | Optional | 1 |
| SSR | SSR | Optional | 1 |
| RUL | RUL | Optional | 1 |
| TFF | TFF | Optional | 1 |
| ITM | ITM | Optional | 1 |
| CMN | CMN | Optional | 1 |
| CUR | CUR | Optional | 1 |
| PMT | PMT | Optional | 1 |
| NUN | NUN | Optional | 1 |
| IFT | IFT | Optional | 99 |
| Loop PDT | PDT | Optional | 99 |
| PDT | PDT | Mandatory | 1 |
| TFF | TFF | Optional | 1 |
| Loop RTI | RTI | Optional | 999 |
| RTI | RTI | Mandatory | 1 |
| Loop PDT | PDT | Optional | 999 |
| PDT | PDT | Mandatory | 1 |
| TFF | TFF | Optional | 1 |
| ODS | ODS | Optional | 1 |
| Loop PRD | PRD | Optional | 999 |
| PRD | PRD | Mandatory | 1 |
| DTI | DTI | Optional | 1 |
| RTI | RTI | Optional | 1 |
| TFF | TFF | Optional | 1 |
| RTC | RTC | Optional | 1 |
| ODS | ODS | Optional | 1 |
| NUN | NUN | Optional | 1 |
| PMT | PMT | Optional | 1 |
| NME | NME | Optional | 1 |
| ITM | ITM | Optional | 1 |
| Loop RUL | RUL | Optional | 99 |
| RUL | RUL | Mandatory | 1 |
| DTI | DTI | Optional | 1 |
| ITM | ITM | Optional | 1 |
| Loop ITD | ITD | Optional | 99 |
| ITD | ITD | Mandatory | 1 |
| Loop NME | NME | Optional | 9 |
| NME | NME | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| Loop MAP | MAP | Optional | 3 |
| MAP | MAP | Mandatory | 1 |
| ADS | ADS | Optional | 1 |
| CON | CON | Optional | 1 |
| CRI | CRI | Optional | 1 |
| ORG | ORG | Optional | 1 |
| Loop SDT | SDT | Optional | 99 |
| SDT | SDT | Mandatory | 1 |
| POS | POS | Optional | 1 |
| Loop ODS | ODS | Optional | 99 |
| ODS | ODS | Mandatory | 1 |
| IFT | IFT | Optional | 9 |
| DTI | DTI | Optional | 1 |
| Loop RUL | RUL | Optional | 99 |
| RUL | RUL | Mandatory | 1 |
| DTI | DTI | Optional | 1 |
| ITM | ITM | Optional | 1 |
| Loop TVL | TVL | Optional | 999 |
| TVL | TVL | Mandatory | 1 |
| DTI | DTI | Optional | 1 |
| Loop SDT | SDT | Optional | 99 |
| SDT | SDT | Mandatory | 1 |
| POS | POS | Optional | 1 |
| CRI | CRI | Optional | 1 |
| Loop ODS | ODS | Optional | 99 |
| ODS | ODS | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| IFT | IFT | Optional | 1 |
| CRI | CRI | Optional | 1 |
| ATI | ATI | Optional | 1 |
| Loop ADS | ADS | Optional | 9 |
| ADS | ADS | Mandatory | 1 |
| DTI | DTI | Optional | 1 |
| Loop CON | CON | Optional | 9 |
| CON | CON | Mandatory | 1 |
| DTI | DTI | Optional | 1 |
| Loop PRD | PRD | Optional | 999 |
| PRD | PRD | Mandatory | 1 |
| VEH | VEH | Optional | 1 |
| NUN | NUN | Optional | 1 |
| RUL | RUL | Optional | 1 |
| RPI | RPI | Optional | 1 |
| Loop ICI | ICI | Optional | 9 |
| ICI | ICI | Mandatory | 1 |
| IFT | IFT | Optional | 9 |
| Loop MOV | MOV | Optional | 9 |
| MOV | MOV | Mandatory | 1 |
| RPI | RPI | Optional | 1 |
| TFF | TFF | Optional | 1 |
| IFT | IFT | Optional | 9 |
| Loop SSR | SSR | Optional | 99 |
| SSR | SSR | Mandatory | 1 |
| TFF | TFF | Optional | 1 |
| RUL | RUL | Optional | 1 |
| IFT | IFT | Optional | 9 |
| Loop ALS | ALS | Optional | 999 |
| ALS | ALS | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| IFT | IFT | Optional | 1 |
| CUR | CUR | Optional | 1 |
| Loop TVL | TVL | Optional | 999 |
| TVL | TVL | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| MAP | MAP | Optional | 1 |
| NME | NME | Optional | 1 |
| PLI | PLI | Optional | 1 |
| NUN | NUN | Optional | 1 |
| CON | CON | Optional | 1 |
| CUR | CUR | Optional | 1 |
| SSR | SSR | Optional | 1 |
| IFT | IFT | Optional | 9 |
| Loop ODS | ODS | Optional | 99 |
| ODS | ODS | Mandatory | 1 |
| NUN | NUN | Optional | 1 |
| Loop PMT | PMT | Optional | 99 |
| PMT | PMT | Mandatory | 1 |
| ADS | ADS | Optional | 1 |
| Loop PDT | PDT | Optional | 9 |
| PDT | PDT | Mandatory | 1 |
| RPI | RPI | Optional | 1 |
| Loop RTC | RTC | Optional | 99 |
| RTC | RTC | Mandatory | 1 |
| IFT | IFT | Optional | 1 |
| Loop DTI | DTI | Optional | 99 |
| DTI | DTI | Mandatory | 1 |
| Loop PDT | PDT | Optional | 99 |
| PDT | PDT | Mandatory | 1 |
| QTI | QTI | Optional | 1 |
| Loop TIF | TIF | Optional | 9 |
| TIF | TIF | Mandatory | 1 |
| ITM | ITM | Optional | 1 |
| Loop MAP | MAP | Optional | 3 |
| MAP | MAP | Mandatory | 1 |
| ADS | ADS | Optional | 5 |
| CON | CON | Optional | 1 |
| CRI | CRI | Optional | 1 |
| PMT | PMT | Optional | 1 |
| TDI | TDI | Optional | 1 |
| ALS | ALS | Optional | 1 |
| ODS | ODS | Optional | 1 |
| Loop SDT | SDT | Optional | 2 |
| SDT | SDT | Mandatory | 1 |
| PRD | PRD | Optional | 1 |
| ICI | ICI | Optional | 1 |
| SSR | SSR | Optional | 1 |
| PMT | PMT | Optional | 1 |
| Loop MSD | MSD | Optional | 9 |
| MSD | MSD | Mandatory | 1 |
| TFF | TFF | Optional | 1 |
| Loop ALS | ALS | Optional | 9 |
| ALS | ALS | Mandatory | 1 |
| PRD | PRD | Optional | 1 |
| ICI | ICI | Optional | 1 |
| SSR | SSR | Optional | 1 |
| PMT | PMT | Optional | 1 |
| Loop MSD | MSD | Optional | 9 |
| MSD | MSD | Mandatory | 1 |
| TFF | TFF | Optional | 1 |
| UIT | UIT | Mandatory | 1 |