edifact_types/d00b/message/
iftmin.rs

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}