1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5#[derive(
9 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
10)]
11pub struct DMA {
12 #[serde(rename = "01")]
13 pub _01: Option<String>,
14 #[serde(rename = "02")]
15 pub _02: Option<String>,
16 #[serde(rename = "03")]
17 pub _03: Option<String>,
18 #[serde(rename = "04")]
19 pub _04: Option<String>,
20 #[serde(rename = "05")]
21 pub _05: Option<String>,
22 #[serde(rename = "06")]
23 pub _06: Option<String>,
24 #[serde(rename = "07")]
25 pub _07: Option<String>,
26 #[serde(rename = "08")]
27 pub _08: Option<String>,
28 #[serde(rename = "09")]
29 pub _09: Option<String>,
30 #[serde(rename = "10")]
31 pub _10: Option<String>,
32 #[serde(rename = "11")]
33 pub _11: Option<String>,
34 #[serde(rename = "12")]
35 pub _12: Option<String>,
36 #[serde(rename = "13")]
37 pub _13: Option<String>,
38 #[serde(rename = "14")]
39 pub _14: Option<String>,
40 #[serde(rename = "15")]
41 pub _15: Option<String>,
42 #[serde(rename = "16")]
43 pub _16: Option<String>,
44 #[serde(rename = "17")]
45 pub _17: Option<String>,
46 #[serde(rename = "18")]
47 pub _18: Option<String>,
48}
49
50#[derive(
65 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
66)]
67pub struct DEP {
68 #[serde(rename = "01")]
69 pub _01: String,
70 #[serde(rename = "02")]
71 pub _02: String,
72 #[serde(rename = "03")]
73 pub _03: Option<String>,
74 #[serde(rename = "04")]
75 pub _04: Option<String>,
76 #[serde(rename = "05")]
77 pub _05: crate::v005010::element::E506,
78 #[serde(rename = "06")]
79 pub _06: String,
80 #[serde(rename = "07")]
81 pub _07: Option<crate::v005010::element::E569>,
82 #[serde(rename = "08")]
83 pub _08: Option<String>,
84}
85
86#[derive(
103 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
104)]
105pub struct DD {
106 #[serde(rename = "01")]
107 pub _01: Option<String>,
108 #[serde(rename = "02")]
109 pub _02: Option<String>,
110 #[serde(rename = "03")]
111 pub _03: Option<String>,
112 #[serde(rename = "04")]
113 pub _04: Option<String>,
114 #[serde(rename = "05")]
115 pub _05: Option<String>,
116 #[serde(rename = "06")]
117 pub _06: Option<String>,
118 #[serde(rename = "07")]
119 pub _07: Option<String>,
120 #[serde(rename = "08")]
121 pub _08: Option<crate::v005010::element::E1073>,
122 #[serde(rename = "09")]
123 pub _09: Option<String>,
124 #[serde(rename = "10")]
125 pub _10: Option<String>,
126}
127
128#[derive(
140 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
141)]
142pub struct DEG {
143 #[serde(rename = "01")]
144 pub _01: String,
145 #[serde(rename = "02")]
146 pub _02: Option<String>,
147 #[serde(rename = "03")]
148 pub _03: Option<String>,
149 #[serde(rename = "04")]
150 pub _04: Option<String>,
151 #[serde(rename = "05")]
152 pub _05: Option<crate::v005010::element::E641>,
153}
154
155#[derive(
157 Serialize,
158 Deserialize,
159 Clone,
160 Default,
161 Debug,
162 Validate,
163 PartialEq,
164 Eq,
165 DisplaySegment,
166 ParseSegment,
167)]
168pub struct DMG {
169 #[serde(rename = "01")]
170 pub _01: Option<String>,
171 #[serde(rename = "02")]
172 pub _02: Option<String>,
173 #[serde(rename = "03")]
174 pub _03: Option<String>,
175 #[serde(rename = "04")]
176 pub _04: Option<String>,
177 #[serde(rename = "05")]
178 pub _05: Option<String>,
179 #[serde(rename = "06")]
180 pub _06: Option<String>,
181 #[serde(rename = "07")]
182 pub _07: Option<String>,
183 #[serde(rename = "08")]
184 pub _08: Option<String>,
185 #[serde(rename = "09")]
186 pub _09: Option<String>,
187 #[serde(rename = "10")]
188 pub _10: Option<String>,
189 #[serde(rename = "11")]
190 pub _11: Option<String>,
191}
192
193#[derive(
195 Serialize,
196 Deserialize,
197 Clone,
198 Default,
199 Debug,
200 Validate,
201 PartialEq,
202 Eq,
203 DisplaySegment,
204 ParseSegment,
205)]
206pub struct DN1 {
207 #[serde(rename = "01")]
208 pub _01: Option<String>,
209 #[serde(rename = "02")]
210 pub _02: Option<String>,
211 #[serde(rename = "03")]
212 pub _03: Option<String>,
213 #[serde(rename = "04")]
214 pub _04: Option<String>,
215}
216
217#[derive(
219 Serialize,
220 Deserialize,
221 Clone,
222 Default,
223 Debug,
224 Validate,
225 PartialEq,
226 Eq,
227 DisplaySegment,
228 ParseSegment,
229)]
230pub struct DN2 {
231 #[serde(rename = "01")]
232 pub _01: String,
233 #[serde(rename = "02")]
234 pub _02: Option<String>,
235 #[serde(rename = "03")]
236 pub _03: Option<String>,
237 #[serde(rename = "04")]
238 pub _04: Option<String>,
239 #[serde(rename = "05")]
240 pub _05: Option<String>,
241 #[serde(rename = "06")]
242 pub _06: String,
243}
244
245#[derive(
247 Serialize,
248 Deserialize,
249 Clone,
250 Default,
251 Debug,
252 Validate,
253 PartialEq,
254 Eq,
255 DisplaySegment,
256 ParseSegment,
257)]
258pub struct DSB {
259 #[serde(rename = "01")]
260 pub _01: String,
261 #[serde(rename = "02")]
262 pub _02: Option<String>,
263 #[serde(rename = "03")]
264 pub _03: Option<String>,
265 #[serde(rename = "04")]
266 pub _04: Option<String>,
267 #[serde(rename = "05")]
268 pub _05: Option<String>,
269 #[serde(rename = "06")]
270 pub _06: Option<String>,
271 #[serde(rename = "07")]
272 pub _07: Option<String>,
273 #[serde(rename = "08")]
274 pub _08: Option<String>,
275}
276
277#[derive(
279 Serialize,
280 Deserialize,
281 Clone,
282 Default,
283 Debug,
284 Validate,
285 PartialEq,
286 Eq,
287 DisplaySegment,
288 ParseSegment,
289)]
290pub struct DTM {
291 #[serde(rename = "01")]
293 pub _01: crate::v005010::element::E374,
294 #[serde(rename = "02")]
296 pub _02: Option<crate::v005010::element::E373>,
297 #[serde(rename = "03")]
299 pub _03: Option<crate::v005010::element::E337>,
300 #[serde(rename = "04")]
301 pub _04: Option<String>,
302 #[serde(rename = "05")]
304 pub _05: Option<crate::v005010::element::E1250>,
305 #[serde(rename = "06")]
306 pub _06: Option<String>,
307}
308
309#[derive(
311 Serialize,
312 Deserialize,
313 Clone,
314 Default,
315 Debug,
316 Validate,
317 PartialEq,
318 Eq,
319 DisplaySegment,
320 ParseSegment,
321)]
322pub struct DTP {
323 #[serde(rename = "01")]
325 pub _01: crate::v005010::element::E374,
326 #[serde(rename = "02")]
328 pub _02: crate::v005010::element::E1250,
329 #[serde(rename = "03")]
330 pub _03: String,
331}
332
333#[derive(
335 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
336)]
337pub struct DED {
338 #[serde(rename = "01")]
339 pub _01: Option<String>,
340 #[serde(rename = "02")]
341 pub _02: Option<String>,
342 #[serde(rename = "03")]
343 pub _03: Option<String>,
344 #[serde(rename = "04")]
345 pub _04: Option<String>,
346 #[serde(rename = "05")]
347 pub _05: Option<String>,
348 #[serde(rename = "06")]
349 pub _06: Option<String>,
350 #[serde(rename = "07")]
351 pub _07: Option<String>,
352 #[serde(rename = "08")]
353 pub _08: Option<String>,
354 #[serde(rename = "09")]
355 pub _09: Option<String>,
356 #[serde(rename = "10")]
357 pub _10: Option<String>,
358 #[serde(rename = "11")]
359 pub _11: Option<String>,
360 #[serde(rename = "12")]
361 pub _12: Option<String>,
362 #[serde(rename = "13")]
363 pub _13: Option<String>,
364 #[serde(rename = "14")]
365 pub _14: Option<String>,
366 #[serde(rename = "15")]
367 pub _15: Option<String>,
368 #[serde(rename = "16")]
369 pub _16: Option<String>,
370 #[serde(rename = "17")]
371 pub _17: Option<String>,
372 #[serde(rename = "18")]
373 pub _18: Option<String>,
374 #[serde(rename = "19")]
375 pub _19: Option<String>,
376 #[serde(rename = "20")]
377 pub _20: Option<String>,
378 #[serde(rename = "21")]
379 pub _21: Option<String>,
380 #[serde(rename = "22")]
381 pub _22: Option<String>,
382 #[serde(rename = "23")]
383 pub _23: Option<String>,
384 #[serde(rename = "24")]
385 pub _24: Option<String>,
386 #[serde(rename = "25")]
387 pub _25: Option<String>,
388}
389
390#[derive(
392 Serialize,
393 Deserialize,
394 Clone,
395 Default,
396 Debug,
397 Validate,
398 PartialEq,
399 Eq,
400 DisplaySegment,
401 ParseSegment,
402)]
403pub struct DIS {
404 #[serde(rename = "01")]
405 pub _01: Option<String>,
406 #[serde(rename = "02")]
407 pub _02: Option<String>,
408 #[serde(rename = "03")]
409 pub _03: Option<String>,
410 #[serde(rename = "04")]
411 pub _04: Option<String>,
412 #[serde(rename = "05")]
413 pub _05: Option<String>,
414 #[serde(rename = "06")]
415 pub _06: Option<String>,
416}
417
418#[derive(
420 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
421)]
422pub struct D9 {
423 #[serde(rename = "01")]
424 pub _01: Option<String>,
425 #[serde(rename = "02")]
426 pub _02: String,
427 #[serde(rename = "03")]
428 pub _03: String,
429 #[serde(rename = "04")]
430 pub _04: Option<String>,
431 #[serde(rename = "05")]
432 pub _05: Option<String>,
433 #[serde(rename = "06")]
434 pub _06: Option<String>,
435 #[serde(rename = "07")]
436 pub _07: Option<String>,
437 #[serde(rename = "08")]
438 pub _08: Option<String>,
439 #[serde(rename = "09")]
440 pub _09: Option<String>,
441 #[serde(rename = "10")]
442 pub _10: Option<String>,
443 #[serde(rename = "11")]
444 pub _11: Option<String>,
445 #[serde(rename = "12")]
446 pub _12: Option<String>,
447}