1use serde::{Deserialize, Serialize};
2use x12_types_macros::{DisplaySegment, ParseSegment};
3
4#[derive(
18 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
19)]
20pub struct C2 {
21 #[serde(rename = "01")]
22 pub _01: crate::v004010::element::E100,
23 #[serde(rename = "02")]
24 pub _02: crate::v004010::element::E100,
25 #[serde(rename = "03")]
26 pub _03: crate::v004010::element::E100,
27 #[serde(rename = "04")]
28 pub _04: Option<crate::v004010::element::E100>,
29 #[serde(rename = "05")]
30 pub _05: Option<crate::v004010::element::E100>,
31 #[serde(rename = "06")]
32 pub _06: Option<crate::v004010::element::E100>,
33 #[serde(rename = "07")]
34 pub _07: Option<crate::v004010::element::E100>,
35}
36
37#[derive(
48 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
49)]
50pub struct C3 {
51 #[serde(rename = "01")]
52 pub _01: crate::v004010::element::E100,
53 #[serde(rename = "02")]
54 pub _02: Option<crate::v004010::element::E100>,
55 #[serde(rename = "03")]
56 pub _03: Option<crate::v004010::element::E100>,
57 #[serde(rename = "04")]
58 pub _04: Option<crate::v004010::element::E100>,
59}
60
61#[derive(
72 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
73)]
74pub struct C8 {
75 #[serde(rename = "01")]
76 pub _01: Option<crate::v004010::element::E100>,
77 #[serde(rename = "02")]
78 pub _02: Option<crate::v004010::element::E100>,
79 #[serde(rename = "03")]
80 pub _03: Option<crate::v004010::element::E100>,
81 #[serde(rename = "04")]
82 pub _04: Option<crate::v004010::element::E100>,
83}
84
85#[derive(
95 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
96)]
97pub struct C8C {
98 #[serde(rename = "01")]
99 pub _01: crate::v004010::element::E100,
100 #[serde(rename = "02")]
101 pub _02: Option<crate::v004010::element::E100>,
102 #[serde(rename = "03")]
103 pub _03: Option<crate::v004010::element::E100>,
104}
105
106#[derive(
122 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
123)]
124pub struct CAD {
125 #[serde(rename = "01")]
126 pub _01: crate::v004010::element::E100,
127 #[serde(rename = "02")]
128 pub _02: Option<crate::v004010::element::E100>,
129 #[serde(rename = "03")]
130 pub _03: Option<crate::v004010::element::E100>,
131 #[serde(rename = "04")]
132 pub _04: Option<crate::v004010::element::E100>,
133 #[serde(rename = "05")]
134 pub _05: Option<crate::v004010::element::E100>,
135 #[serde(rename = "06")]
136 pub _06: Option<crate::v004010::element::E100>,
137 #[serde(rename = "07")]
138 pub _07: Option<crate::v004010::element::E100>,
139 #[serde(rename = "08")]
140 pub _08: Option<crate::v004010::element::E100>,
141 #[serde(rename = "09")]
142 pub _09: Option<crate::v004010::element::E100>,
143}
144
145#[derive(
166 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
167)]
168pub struct CD3 {
169 #[serde(rename = "01")]
170 pub _01: Option<crate::v004010::element::E100>,
171 #[serde(rename = "02")]
172 pub _02: Option<crate::v004010::element::E100>,
173 #[serde(rename = "03")]
174 pub _03: Option<crate::v004010::element::E100>,
175 #[serde(rename = "04")]
176 pub _04: Option<crate::v004010::element::E100>,
177 #[serde(rename = "05")]
178 pub _05: Option<crate::v004010::element::E100>,
179 #[serde(rename = "06")]
180 pub _06: Option<crate::v004010::element::E100>,
181 #[serde(rename = "07")]
182 pub _07: Option<crate::v004010::element::E100>,
183 #[serde(rename = "08")]
184 pub _08: Option<crate::v004010::element::E100>,
185 #[serde(rename = "09")]
186 pub _09: Option<crate::v004010::element::E100>,
187 #[serde(rename = "10")]
188 pub _10: Option<crate::v004010::element::E100>,
189 #[serde(rename = "11")]
190 pub _11: Option<crate::v004010::element::E100>,
191 #[serde(rename = "12")]
192 pub _12: Option<crate::v004010::element::E100>,
193 #[serde(rename = "13")]
194 pub _13: Option<crate::v004010::element::E100>,
195 #[serde(rename = "14")]
202 pub _14: Option<crate::v004010::element::E100>,
203}
204
205#[derive(
229 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
230)]
231pub struct CM {
232 #[serde(rename = "01")]
233 pub _01: Option<crate::v004010::element::E100>,
234 #[serde(rename = "02")]
235 pub _02: Option<crate::v004010::element::E100>,
236 #[serde(rename = "03")]
237 pub _03: Option<crate::v004010::element::E100>,
238 #[serde(rename = "04")]
245 pub _04: Option<crate::v004010::element::E373>,
246 #[serde(rename = "05")]
247 pub _05: Option<crate::v004010::element::E100>,
248 #[serde(rename = "06")]
249 pub _06: Option<crate::v004010::element::E100>,
250 #[serde(rename = "07")]
251 pub _07: Option<crate::v004010::element::E100>,
252 #[serde(rename = "08")]
259 pub _08: Option<crate::v004010::element::E373>,
260 #[serde(rename = "09")]
261 pub _09: Option<crate::v004010::element::E100>,
262 #[serde(rename = "10")]
263 pub _10: Option<crate::v004010::element::E100>,
264 #[serde(rename = "11")]
265 pub _11: Option<crate::v004010::element::E100>,
266 #[serde(rename = "12")]
267 pub _12: Option<crate::v004010::element::E100>,
268 #[serde(rename = "13")]
269 pub _13: Option<crate::v004010::element::E100>,
270 #[serde(rename = "14")]
277 pub _14: Option<String>,
278 #[serde(rename = "15")]
279 pub _15: Option<crate::v004010::element::E100>,
280 #[serde(rename = "16")]
281 pub _16: Option<crate::v004010::element::E100>,
282 #[serde(rename = "17")]
283 pub _17: Option<crate::v004010::element::E100>,
284}
285
286#[derive(
300 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
301)]
302pub struct CRC {
303 #[serde(rename = "01")]
304 pub _01: crate::v004010::element::E100,
305 #[serde(rename = "02")]
306 pub _02: crate::v004010::element::E100,
307 #[serde(rename = "03")]
308 pub _03: crate::v004010::element::E100,
309 #[serde(rename = "04")]
310 pub _04: Option<crate::v004010::element::E100>,
311 #[serde(rename = "05")]
312 pub _05: Option<crate::v004010::element::E100>,
313 #[serde(rename = "06")]
314 pub _06: Option<crate::v004010::element::E100>,
315 #[serde(rename = "07")]
316 pub _07: Option<crate::v004010::element::E100>,
317}
318
319#[derive(
337 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
338)]
339pub struct CTP {
340 #[serde(rename = "01")]
341 pub _01: Option<crate::v004010::element::E100>,
342 #[serde(rename = "02")]
343 pub _02: Option<crate::v004010::element::E100>,
344 #[serde(rename = "03")]
345 pub _03: Option<crate::v004010::element::E100>,
346 #[serde(rename = "04")]
347 pub _04: Option<crate::v004010::element::E100>,
348 #[serde(rename = "05")]
349 pub _05: Option<crate::v004010::element::E100>,
350 #[serde(rename = "06")]
351 pub _06: Option<crate::v004010::element::E100>,
352 #[serde(rename = "07")]
353 pub _07: Option<crate::v004010::element::E100>,
354 #[serde(rename = "08")]
355 pub _08: Option<crate::v004010::element::E100>,
356 #[serde(rename = "09")]
357 pub _09: Option<crate::v004010::element::E100>,
358 #[serde(rename = "10")]
359 pub _10: Option<crate::v004010::element::E100>,
360 #[serde(rename = "11")]
361 pub _11: Option<crate::v004010::element::E100>,
362}
363
364#[derive(
378 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
379)]
380pub struct CTT {
381 #[serde(rename = "01")]
382 pub _01: crate::v004010::element::E354,
383 #[serde(rename = "02")]
384 pub _02: Option<crate::v004010::element::E347>,
385 #[serde(rename = "03")]
386 pub _03: Option<crate::v004010::element::E81>,
387 #[serde(rename = "04")]
388 pub _04: Option<String>,
389 #[serde(rename = "05")]
390 pub _05: Option<crate::v004010::element::E183>,
391 #[serde(rename = "06")]
392 pub _06: Option<String>,
393 #[serde(rename = "07")]
394 pub _07: Option<String>,
395}
396
397#[derive(
425 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
426)]
427pub struct CUR {
428 #[serde(rename = "01")]
429 pub _01: String,
430 #[serde(rename = "02")]
431 pub _02: crate::v004010::element::E100,
432 #[serde(rename = "03")]
433 pub _03: Option<crate::v004010::element::E280>,
434 #[serde(rename = "04")]
435 pub _04: Option<String>,
436 #[serde(rename = "05")]
437 pub _05: Option<crate::v004010::element::E100>,
438 #[serde(rename = "06")]
439 pub _06: Option<crate::v004010::element::E280>,
440 #[serde(rename = "07")]
441 pub _07: Option<String>,
442 #[serde(rename = "08")]
443 pub _08: Option<crate::v004010::element::E100>,
444 #[serde(rename = "09")]
445 pub _09: Option<crate::v004010::element::E280>,
446 #[serde(rename = "10")]
447 pub _10: Option<String>,
448 #[serde(rename = "11")]
449 pub _11: Option<crate::v004010::element::E100>,
450 #[serde(rename = "12")]
451 pub _12: Option<crate::v004010::element::E280>,
452 #[serde(rename = "13")]
453 pub _13: Option<String>,
454 #[serde(rename = "14")]
455 pub _14: Option<crate::v004010::element::E100>,
456 #[serde(rename = "15")]
457 pub _15: Option<crate::v004010::element::E280>,
458 #[serde(rename = "16")]
459 pub _16: Option<String>,
460 #[serde(rename = "17")]
461 pub _17: Option<crate::v004010::element::E100>,
462 #[serde(rename = "18")]
463 pub _18: Option<crate::v004010::element::E280>,
464 #[serde(rename = "19")]
465 pub _19: Option<String>,
466 #[serde(rename = "20")]
467 pub _20: Option<crate::v004010::element::E100>,
468 #[serde(rename = "21")]
469 pub _21: Option<crate::v004010::element::E280>,
470}
471
472#[derive(
499 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
500)]
501pub struct CLD {
502 #[serde(rename = "01")]
503 pub _01: crate::v004010::element::E100,
504 #[serde(rename = "02")]
505 pub _02: crate::v004010::element::E100,
506 #[serde(rename = "03")]
507 pub _03: Option<crate::v004010::element::E100>,
508 #[serde(rename = "04")]
509 pub _04: Option<crate::v004010::element::E100>,
510 #[serde(rename = "05")]
511 pub _05: Option<crate::v004010::element::E100>,
512 #[serde(rename = "06")]
513 pub _06: Option<crate::v004010::element::E100>,
514 #[serde(rename = "07")]
515 pub _07: Option<crate::v004010::element::E100>,
516 #[serde(rename = "08")]
517 pub _08: Option<crate::v004010::element::E100>,
518 #[serde(rename = "09")]
519 pub _09: Option<crate::v004010::element::E100>,
520 #[serde(rename = "10")]
521 pub _10: Option<crate::v004010::element::E100>,
522 #[serde(rename = "11")]
523 pub _11: Option<crate::v004010::element::E100>,
524 #[serde(rename = "12")]
525 pub _12: Option<crate::v004010::element::E100>,
526 #[serde(rename = "13")]
527 pub _13: Option<crate::v004010::element::E100>,
528 #[serde(rename = "14")]
529 pub _14: Option<crate::v004010::element::E100>,
530 #[serde(rename = "15")]
531 pub _15: Option<crate::v004010::element::E100>,
532 #[serde(rename = "16")]
533 pub _16: Option<crate::v004010::element::E100>,
534 #[serde(rename = "17")]
535 pub _17: Option<crate::v004010::element::E100>,
536 #[serde(rename = "18")]
537 pub _18: Option<crate::v004010::element::E100>,
538 #[serde(rename = "19")]
539 pub _19: Option<crate::v004010::element::E100>,
540 #[serde(rename = "20")]
541 pub _20: Option<crate::v004010::element::E100>,
542}