1use crate::d00b::*;
2use edifact_types_macros::{DisplayEdifact, DisplayEdifactSg, ParseMsg, ParseSg};
3use serde::{Deserialize, Serialize};
4use std::fmt;
5
6#[derive(Default, Debug, Serialize, Deserialize, DisplayEdifact, ParseMsg)]
7pub struct IFTMIN {
8 pub unh: UNH,
9 pub bgm: BGM,
10 pub cta: Option<CTA>,
11 pub com: Vec<COM>,
12 pub dtm: Vec<DTM>,
13 pub tsr: Vec<TSR>,
14 pub cux: Vec<CUX>,
15 pub moa: Vec<MOA>,
16 pub ftx: Vec<FTX>,
17 pub cnt: Vec<CNT>,
18 pub doc: Vec<DOC>,
19 pub gds: Vec<GDS>,
20 pub segment_group_1: Vec<IFTMINSegmentgroup1>,
21 pub segment_group_2: Vec<IFTMINSegmentgroup2>,
22 pub segment_group_3: Vec<IFTMINSegmentgroup3>,
23 pub segment_group_4: Vec<IFTMINSegmentgroup4>,
24 pub segment_group_6: Vec<IFTMINSegmentgroup6>,
25 pub segment_group_7: Vec<IFTMINSegmentgroup7>,
26 pub segment_group_8: Vec<IFTMINSegmentgroup8>,
27 pub segment_group_11: Vec<IFTMINSegmentgroup11>,
28 pub segment_group_18: Vec<IFTMINSegmentgroup18>,
29 pub segment_group_37: Vec<IFTMINSegmentgroup37>,
30 pub unt: UNT,
31}
32
33#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
34pub struct IFTMINSegmentgroup1 {
35 pub loc: LOC,
36 pub dtm: Vec<DTM>,
37}
38
39#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
40pub struct IFTMINSegmentgroup10 {
41 pub rff: RFF,
42 pub dtm: Option<DTM>,
43}
44
45#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
46pub struct IFTMINSegmentgroup11 {
47 pub nad: NAD,
48 pub loc: Vec<LOC>,
49 pub moa: Vec<MOA>,
50 pub segment_group_12: Vec<IFTMINSegmentgroup12>,
51 pub segment_group_13: Vec<IFTMINSegmentgroup13>,
52 pub segment_group_14: Vec<IFTMINSegmentgroup14>,
53 pub segment_group_15: Vec<IFTMINSegmentgroup15>,
54 pub segment_group_16: Vec<IFTMINSegmentgroup16>,
55 pub segment_group_17: Vec<IFTMINSegmentgroup17>,
56}
57
58#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
59pub struct IFTMINSegmentgroup12 {
60 pub cta: CTA,
61 pub com: Vec<COM>,
62}
63
64#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
65pub struct IFTMINSegmentgroup13 {
66 pub doc: DOC,
67 pub dtm: Option<DTM>,
68}
69
70#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
71pub struct IFTMINSegmentgroup14 {
72 pub tcc: TCC,
73 pub cux: Option<CUX>,
74 pub pri: Option<PRI>,
75 pub eqn: Option<EQN>,
76 pub pcd: Option<PCD>,
77 pub moa: Vec<MOA>,
78 pub qty: Vec<QTY>,
79}
80
81#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
82pub struct IFTMINSegmentgroup15 {
83 pub rff: RFF,
84 pub dtm: Vec<DTM>,
85}
86
87#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
88pub struct IFTMINSegmentgroup16 {
89 pub cpi: CPI,
90 pub rff: Vec<RFF>,
91 pub cux: Option<CUX>,
92 pub loc: Vec<LOC>,
93 pub moa: Vec<MOA>,
94}
95
96#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
97pub struct IFTMINSegmentgroup17 {
98 pub tsr: TSR,
99 pub rff: Option<RFF>,
100 pub loc: Option<LOC>,
101 pub tpl: Option<TPL>,
102 pub ftx: Vec<FTX>,
103}
104
105#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
106pub struct IFTMINSegmentgroup18 {
107 pub gid: GID,
108 pub han: Vec<HAN>,
109 pub tmp: Option<TMP>,
110 pub rng: Option<RNG>,
111 pub tmd: Option<TMD>,
112 pub loc: Vec<LOC>,
113 pub moa: Vec<MOA>,
114 pub pia: Vec<PIA>,
115 pub ftx: Vec<FTX>,
116 pub pcd: Vec<PCD>,
117 pub segment_group_19: Vec<IFTMINSegmentgroup19>,
118 pub gds: Vec<GDS>,
119 pub segment_group_20: Vec<IFTMINSegmentgroup20>,
120 pub segment_group_21: Vec<IFTMINSegmentgroup21>,
121 pub segment_group_22: Vec<IFTMINSegmentgroup22>,
122 pub segment_group_23: Vec<IFTMINSegmentgroup23>,
123 pub segment_group_24: Vec<IFTMINSegmentgroup24>,
124 pub segment_group_25: Vec<IFTMINSegmentgroup25>,
125 pub segment_group_27: Vec<IFTMINSegmentgroup27>,
126 pub segment_group_29: Vec<IFTMINSegmentgroup29>,
127 pub segment_group_31: Vec<IFTMINSegmentgroup31>,
128 pub segment_group_32: Vec<IFTMINSegmentgroup32>,
129}
130
131#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
132pub struct IFTMINSegmentgroup19 {
133 pub nad: NAD,
134 pub dtm: Option<DTM>,
135 pub loc: Vec<LOC>,
136}
137
138#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
139pub struct IFTMINSegmentgroup2 {
140 pub tod: TOD,
141 pub loc: Vec<LOC>,
142}
143
144#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
145pub struct IFTMINSegmentgroup20 {
146 pub mea: MEA,
147 pub eqn: Option<EQN>,
148}
149
150#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
151pub struct IFTMINSegmentgroup21 {
152 pub dim: DIM,
153 pub eqn: Option<EQN>,
154}
155
156#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
157pub struct IFTMINSegmentgroup22 {
158 pub rff: RFF,
159 pub dtm: Vec<DTM>,
160}
161
162#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
163pub struct IFTMINSegmentgroup23 {
164 pub pci: PCI,
165 pub rff: Option<RFF>,
166 pub dtm: Option<DTM>,
167 pub gin: Vec<GIN>,
168}
169
170#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
171pub struct IFTMINSegmentgroup24 {
172 pub doc: DOC,
173 pub dtm: Vec<DTM>,
174}
175
176#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
177pub struct IFTMINSegmentgroup25 {
178 pub gor: GOR,
179 pub dtm: Vec<DTM>,
180 pub loc: Vec<LOC>,
181 pub sel: Vec<SEL>,
182 pub ftx: Vec<FTX>,
183 pub segment_group_26: Vec<IFTMINSegmentgroup26>,
184}
185
186#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
187pub struct IFTMINSegmentgroup26 {
188 pub doc: DOC,
189 pub dtm: Option<DTM>,
190}
191
192#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
193pub struct IFTMINSegmentgroup27 {
194 pub tpl: TPL,
195 pub segment_group_28: Vec<IFTMINSegmentgroup28>,
196}
197
198#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
199pub struct IFTMINSegmentgroup28 {
200 pub mea: MEA,
201 pub eqn: Option<EQN>,
202}
203
204#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
205pub struct IFTMINSegmentgroup29 {
206 pub sgp: SGP,
207 pub segment_group_30: Vec<IFTMINSegmentgroup30>,
208}
209
210#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
211pub struct IFTMINSegmentgroup3 {
212 pub rff: RFF,
213 pub dtm: Vec<DTM>,
214}
215
216#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
217pub struct IFTMINSegmentgroup30 {
218 pub mea: MEA,
219 pub eqn: Option<EQN>,
220}
221
222#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
223pub struct IFTMINSegmentgroup31 {
224 pub tcc: TCC,
225 pub cux: Option<CUX>,
226 pub pri: Option<PRI>,
227 pub eqn: Option<EQN>,
228 pub pcd: Option<PCD>,
229 pub moa: Vec<MOA>,
230 pub qty: Vec<QTY>,
231 pub loc: Vec<LOC>,
232}
233
234#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
235pub struct IFTMINSegmentgroup32 {
236 pub dgs: DGS,
237 pub ftx: Vec<FTX>,
238 pub segment_group_33: Vec<IFTMINSegmentgroup33>,
239 pub segment_group_34: Vec<IFTMINSegmentgroup34>,
240 pub segment_group_35: Vec<IFTMINSegmentgroup35>,
241}
242
243#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
244pub struct IFTMINSegmentgroup33 {
245 pub cta: CTA,
246 pub com: Vec<COM>,
247}
248
249#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
250pub struct IFTMINSegmentgroup34 {
251 pub mea: MEA,
252 pub eqn: Option<EQN>,
253}
254
255#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
256pub struct IFTMINSegmentgroup35 {
257 pub sgp: SGP,
258 pub segment_group_36: Vec<IFTMINSegmentgroup36>,
259}
260
261#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
262pub struct IFTMINSegmentgroup36 {
263 pub mea: MEA,
264 pub eqn: Option<EQN>,
265}
266
267#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
268pub struct IFTMINSegmentgroup37 {
269 pub eqd: EQD,
270 pub eqn: Option<EQN>,
271 pub tmd: Option<TMD>,
272 pub mea: Vec<MEA>,
273 pub dim: Vec<DIM>,
274 pub sel: Vec<SEL>,
275 pub tpl: Vec<TPL>,
276 pub han: Option<HAN>,
277 pub tmp: Option<TMP>,
278 pub ftx: Vec<FTX>,
279 pub rff: Vec<RFF>,
280 pub segment_group_38: Vec<IFTMINSegmentgroup38>,
281 pub segment_group_39: Vec<IFTMINSegmentgroup39>,
282 pub segment_group_41: Vec<IFTMINSegmentgroup41>,
283 pub segment_group_42: Vec<IFTMINSegmentgroup42>,
284}
285
286#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
287pub struct IFTMINSegmentgroup38 {
288 pub tcc: TCC,
289 pub cux: Option<CUX>,
290 pub pri: Option<PRI>,
291 pub eqn: Option<EQN>,
292 pub pcd: Option<PCD>,
293 pub moa: Vec<MOA>,
294 pub qty: Vec<QTY>,
295}
296
297#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
298pub struct IFTMINSegmentgroup39 {
299 pub nad: NAD,
300 pub dtm: Option<DTM>,
301 pub segment_group_40: Vec<IFTMINSegmentgroup40>,
302}
303
304#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
305pub struct IFTMINSegmentgroup4 {
306 pub gor: GOR,
307 pub dtm: Vec<DTM>,
308 pub loc: Vec<LOC>,
309 pub sel: Vec<SEL>,
310 pub ftx: Vec<FTX>,
311 pub segment_group_5: Vec<IFTMINSegmentgroup5>,
312}
313
314#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
315pub struct IFTMINSegmentgroup40 {
316 pub cta: CTA,
317 pub com: Vec<COM>,
318}
319
320#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
321pub struct IFTMINSegmentgroup41 {
322 pub eqa: EQA,
323 pub eqn: Option<EQN>,
324}
325
326#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
327pub struct IFTMINSegmentgroup42 {
328 pub dgs: DGS,
329 pub ftx: Vec<FTX>,
330 pub segment_group_43: Vec<IFTMINSegmentgroup43>,
331}
332
333#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
334pub struct IFTMINSegmentgroup43 {
335 pub cta: CTA,
336 pub com: Vec<COM>,
337}
338
339#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
340pub struct IFTMINSegmentgroup5 {
341 pub doc: DOC,
342 pub dtm: Option<DTM>,
343}
344
345#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
346pub struct IFTMINSegmentgroup6 {
347 pub cpi: CPI,
348 pub rff: Vec<RFF>,
349 pub cux: Option<CUX>,
350 pub loc: Vec<LOC>,
351 pub moa: Vec<MOA>,
352}
353
354#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
355pub struct IFTMINSegmentgroup7 {
356 pub tcc: TCC,
357 pub loc: Option<LOC>,
358 pub ftx: Option<FTX>,
359 pub cux: Option<CUX>,
360 pub pri: Option<PRI>,
361 pub eqn: Option<EQN>,
362 pub pcd: Option<PCD>,
363 pub moa: Vec<MOA>,
364 pub qty: Vec<QTY>,
365}
366
367#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
368pub struct IFTMINSegmentgroup8 {
369 pub tdt: TDT,
370 pub dtm: Vec<DTM>,
371 pub tsr: Vec<TSR>,
372 pub segment_group_9: Vec<IFTMINSegmentgroup9>,
373 pub segment_group_10: Vec<IFTMINSegmentgroup10>,
374}
375
376#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
377pub struct IFTMINSegmentgroup9 {
378 pub loc: LOC,
379 pub dtm: Vec<DTM>,
380}