1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5#[derive(
29 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
30)]
31pub struct ADJ {
32 #[serde(rename = "01")]
33 pub _01: crate::v005010::element::E952,
34 #[serde(rename = "02")]
35 pub _02: crate::v005010::element::E782,
36 #[serde(rename = "03")]
37 pub _03: Option<crate::v005010::element::E782>,
38 #[serde(rename = "04")]
39 pub _04: String,
40 #[serde(rename = "05")]
41 pub _05: String,
42 #[serde(rename = "06")]
43 pub _06: Option<crate::v005010::element::E1470>,
44 #[serde(rename = "07")]
45 pub _07: Option<String>,
46 #[serde(rename = "08")]
47 pub _08: Option<String>,
48 #[serde(rename = "09")]
49 pub _09: Option<String>,
50 #[serde(rename = "10")]
51 pub _10: Option<crate::v005010::element::E610>,
52 #[serde(rename = "11")]
53 pub _11: Option<crate::v005010::element::E610>,
54 #[serde(rename = "12")]
55 pub _12: Option<crate::v005010::element::E610>,
56 #[serde(rename = "13")]
57 pub _13: Option<String>,
58 #[serde(rename = "14")]
59 pub _14: Option<String>,
60 #[serde(rename = "15")]
61 pub _15: Option<String>,
62 #[serde(rename = "16")]
63 pub _16: Option<String>,
64 #[serde(rename = "17")]
65 pub _17: Option<String>,
66}
67
68#[derive(
77 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
78)]
79pub struct AVA {
80 #[serde(rename = "01")]
81 pub _01: crate::v005010::element::E782,
82 #[serde(rename = "02")]
83 pub _02: crate::v005010::element::E895,
84}
85
86#[derive(
96 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
97)]
98pub struct ATA {
99 #[serde(rename = "01")]
100 pub _01: String,
101 #[serde(rename = "02")]
102 pub _02: String,
103 #[serde(rename = "03")]
104 pub _03: Option<String>,
105}
106
107#[derive(
122 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
123)]
124pub struct API {
125 #[serde(rename = "01")]
126 pub _01: crate::v005010::element::E1136,
127 #[serde(rename = "02")]
128 pub _02: Option<String>,
129 #[serde(rename = "03")]
130 pub _03: Option<crate::v005010::element::E875>,
131 #[serde(rename = "04")]
132 pub _04: Option<crate::v005010::element::E641>,
133 #[serde(rename = "05")]
134 pub _05: Option<crate::v005010::element::E1469>,
135 #[serde(rename = "06")]
136 pub _06: Option<crate::v005010::element::E1336>,
137 #[serde(rename = "07")]
138 pub _07: Option<crate::v005010::element::E1262>,
139 #[serde(rename = "08")]
140 pub _08: Option<crate::v005010::element::E1201>,
141}
142
143#[derive(
145 Serialize,
146 Deserialize,
147 Clone,
148 Default,
149 Debug,
150 Validate,
151 PartialEq,
152 Eq,
153 DisplaySegment,
154 ParseSegment,
155)]
156pub struct AAA {
157 #[serde(rename = "01")]
158 pub _01: Option<String>,
159 #[serde(rename = "02")]
160 pub _02: Option<String>,
161 #[serde(rename = "03")]
162 pub _03: Option<String>,
163 #[serde(rename = "04")]
164 pub _04: Option<String>,
165 #[serde(rename = "05")]
166 pub _05: Option<String>,
167 #[serde(rename = "06")]
168 pub _06: Option<String>,
169}
170
171#[derive(
173 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
174)]
175pub struct ACT {
176 #[serde(rename = "01")]
177 pub _01: String,
178 #[serde(rename = "02")]
179 pub _02: Option<String>,
180 #[serde(rename = "03")]
181 pub _03: Option<String>,
182 #[serde(rename = "04")]
183 pub _04: Option<String>,
184 #[serde(rename = "05")]
185 pub _05: Option<String>,
186 #[serde(rename = "06")]
187 pub _06: Option<String>,
188 #[serde(rename = "07")]
189 pub _07: Option<String>,
190 #[serde(rename = "08")]
191 pub _08: Option<String>,
192 #[serde(rename = "09")]
193 pub _09: Option<String>,
194}
195
196#[derive(
198 Serialize,
199 Deserialize,
200 Clone,
201 Default,
202 Debug,
203 Validate,
204 PartialEq,
205 Eq,
206 DisplaySegment,
207 ParseSegment,
208)]
209pub struct AD1 {
210 #[serde(rename = "01")]
211 pub _01: String,
212 #[serde(rename = "02")]
213 pub _02: Option<String>,
214 #[serde(rename = "03")]
215 pub _03: Option<String>,
216 #[serde(rename = "04")]
217 pub _04: Option<String>,
218 #[serde(rename = "05")]
219 pub _05: Option<String>,
220}
221
222#[derive(
224 Serialize,
225 Deserialize,
226 Clone,
227 Default,
228 Debug,
229 Validate,
230 PartialEq,
231 Eq,
232 DisplaySegment,
233 ParseSegment,
234)]
235pub struct AIN {
236 #[serde(rename = "01")]
237 pub _01: String,
238 #[serde(rename = "02")]
239 pub _02: String,
240 #[serde(rename = "03")]
241 pub _03: String,
242 #[serde(rename = "04")]
243 pub _04: Option<String>,
244 #[serde(rename = "05")]
245 pub _05: Option<String>,
246 #[serde(rename = "06")]
247 pub _06: Option<String>,
248 #[serde(rename = "07")]
249 pub _07: Option<String>,
250 #[serde(rename = "08")]
251 pub _08: Option<String>,
252 #[serde(rename = "09")]
253 pub _09: Option<String>,
254 #[serde(rename = "10")]
255 pub _10: Option<String>,
256 #[serde(rename = "11")]
257 pub _11: Option<String>,
258 #[serde(rename = "12")]
259 pub _12: Option<String>,
260 #[serde(rename = "13")]
261 pub _13: Option<String>,
262}
263
264#[derive(
266 Serialize,
267 Deserialize,
268 Clone,
269 Default,
270 Debug,
271 Validate,
272 PartialEq,
273 Eq,
274 DisplaySegment,
275 ParseSegment,
276)]
277pub struct AMT {
278 #[serde(rename = "01")]
280 pub _01: crate::v005010::element::E522,
281 #[serde(rename = "02")]
282 pub _02: String,
283 #[serde(rename = "03")]
285 pub _03: Option<crate::v005010::element::E478>,
286}
287
288#[derive(
290 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
291)]
292pub struct AK1 {
293 #[serde(rename = "01")]
294 pub _01: Option<String>,
295 #[serde(rename = "02")]
296 pub _02: Option<String>,
297}
298
299#[derive(
301 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
302)]
303pub struct AK2 {
304 #[serde(rename = "01")]
305 pub _01: Option<String>,
306 #[serde(rename = "02")]
307 pub _02: Option<String>,
308}
309
310#[derive(
312 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
313)]
314pub struct AK9 {
315 #[serde(rename = "01")]
316 pub _01: Option<String>,
317 #[serde(rename = "02")]
318 pub _02: Option<String>,
319 #[serde(rename = "03")]
320 pub _03: Option<String>,
321 #[serde(rename = "04")]
322 pub _04: Option<String>,
323 #[serde(rename = "05")]
324 pub _05: Option<String>,
325 #[serde(rename = "06")]
326 pub _06: Option<String>,
327 #[serde(rename = "07")]
328 pub _07: Option<String>,
329}
330
331#[derive(
333 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
334)]
335pub struct ADX {
336 #[serde(rename = "01")]
337 pub _01: Option<String>,
338 #[serde(rename = "02")]
339 pub _02: Option<String>,
340 #[serde(rename = "03")]
341 pub _03: Option<String>,
342 #[serde(rename = "04")]
343 pub _04: Option<String>,
344}
345
346#[derive(
356 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
357)]
358pub struct ASI {
359 #[serde(rename = "01")]
360 pub _01: String,
361 #[serde(rename = "02")]
362 pub _02: crate::v005010::element::E875,
363 #[serde(rename = "03")]
364 pub _03: Option<crate::v005010::element::E641>,
365}
366
367#[derive(
369 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
370)]
371pub struct ASM {
372 #[serde(rename = "01")]
373 pub _01: Option<String>,
374 #[serde(rename = "02")]
375 pub _02: Option<String>,
376 #[serde(rename = "03")]
377 pub _03: Option<String>,
378 #[serde(rename = "04")]
379 pub _04: Option<String>,
380 #[serde(rename = "05")]
381 pub _05: Option<String>,
382 #[serde(rename = "06")]
383 pub _06: Option<String>,
384 #[serde(rename = "07")]
385 pub _07: Option<String>,
386 #[serde(rename = "08")]
387 pub _08: Option<String>,
388 #[serde(rename = "09")]
389 pub _09: Option<String>,
390 #[serde(rename = "10")]
391 pub _10: Option<String>,
392 #[serde(rename = "11")]
393 pub _11: Option<String>,
394 #[serde(rename = "12")]
395 pub _12: Option<String>,
396 #[serde(rename = "13")]
397 pub _13: Option<String>,
398 #[serde(rename = "14")]
399 pub _14: Option<String>,
400 #[serde(rename = "15")]
401 pub _15: Option<String>,
402 #[serde(rename = "16")]
403 pub _16: Option<String>,
404 #[serde(rename = "17")]
405 pub _17: Option<String>,
406 #[serde(rename = "18")]
407 pub _18: Option<String>,
408 #[serde(rename = "19")]
409 pub _19: Option<String>,
410 #[serde(rename = "20")]
411 pub _20: Option<String>,
412 #[serde(rename = "21")]
413 pub _21: Option<String>,
414 #[serde(rename = "22")]
415 pub _22: Option<String>,
416 #[serde(rename = "23")]
417 pub _23: Option<String>,
418 #[serde(rename = "24")]
419 pub _24: Option<String>,
420 #[serde(rename = "25")]
421 pub _25: Option<String>,
422}
423
424#[derive(
436 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
437)]
438pub struct ATH {
439 #[serde(rename = "01")]
440 pub _01: crate::v005010::element::E672,
441 #[serde(rename = "02")]
442 pub _02: Option<String>,
443 #[serde(rename = "03")]
444 pub _03: Option<String>,
445 #[serde(rename = "04")]
446 pub _04: Option<String>,
447 #[serde(rename = "05")]
448 pub _05: Option<String>,
449}
450
451#[derive(
453 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
454)]
455pub struct ATN {
456 #[serde(rename = "01")]
457 pub _01: Option<String>,
458 #[serde(rename = "02")]
459 pub _02: Option<String>,
460 #[serde(rename = "03")]
461 pub _03: Option<String>,
462 #[serde(rename = "04")]
463 pub _04: Option<String>,
464 #[serde(rename = "05")]
465 pub _05: Option<String>,
466 #[serde(rename = "06")]
467 pub _06: Option<String>,
468 #[serde(rename = "07")]
469 pub _07: Option<String>,
470 #[serde(rename = "08")]
471 pub _08: Option<String>,
472 #[serde(rename = "09")]
473 pub _09: Option<String>,
474 #[serde(rename = "10")]
475 pub _10: Option<String>,
476 #[serde(rename = "11")]
477 pub _11: Option<String>,
478 #[serde(rename = "12")]
479 pub _12: Option<String>,
480 #[serde(rename = "13")]
481 pub _13: Option<String>,
482 #[serde(rename = "14")]
483 pub _14: Option<String>,
484 #[serde(rename = "15")]
485 pub _15: Option<String>,
486 #[serde(rename = "16")]
487 pub _16: Option<String>,
488 #[serde(rename = "17")]
489 pub _17: Option<String>,
490 #[serde(rename = "18")]
491 pub _18: Option<String>,
492 #[serde(rename = "19")]
493 pub _19: Option<String>,
494 #[serde(rename = "20")]
495 pub _20: Option<String>,
496 #[serde(rename = "21")]
497 pub _21: Option<String>,
498 #[serde(rename = "22")]
499 pub _22: Option<String>,
500 #[serde(rename = "23")]
501 pub _23: Option<String>,
502 #[serde(rename = "24")]
503 pub _24: Option<String>,
504 #[serde(rename = "25")]
505 pub _25: Option<String>,
506}
507
508#[derive(
514 Serialize,
515 Deserialize,
516 Clone,
517 Default,
518 Debug,
519 Validate,
520 PartialEq,
521 Eq,
522 DisplaySegment,
523 ParseSegment,
524)]
525pub struct ADV {
526 #[serde(rename = "01")]
527 pub _01: Option<String>,
528 #[serde(rename = "02")]
529 pub _02: Option<String>,
530 #[serde(rename = "03")]
531 pub _03: Option<String>,
532 #[serde(rename = "04")]
533 pub _04: Option<String>,
534 #[serde(rename = "05")]
535 pub _05: Option<String>,
536 #[serde(rename = "06")]
537 pub _06: Option<String>,
538 #[serde(rename = "07")]
539 pub _07: Option<String>,
540}
541
542#[derive(
544 Serialize,
545 Deserialize,
546 Clone,
547 Default,
548 Debug,
549 Validate,
550 PartialEq,
551 Eq,
552 DisplaySegment,
553 ParseSegment,
554)]
555pub struct ACK {
556 #[serde(rename = "01")]
557 pub _01: String,
558 #[serde(rename = "02")]
559 pub _02: Option<String>,
560 #[serde(rename = "03")]
561 pub _03: Option<String>,
562 #[serde(rename = "04")]
563 pub _04: Option<String>,
564 #[serde(rename = "05")]
565 pub _05: Option<String>,
566 #[serde(rename = "06")]
567 pub _06: Option<String>,
568 #[serde(rename = "07")]
569 pub _07: Option<String>,
570 #[serde(rename = "08")]
571 pub _08: Option<String>,
572 #[serde(rename = "09")]
573 pub _09: Option<String>,
574 #[serde(rename = "10")]
575 pub _10: Option<String>,
576 #[serde(rename = "11")]
577 pub _11: Option<String>,
578 #[serde(rename = "12")]
579 pub _12: Option<String>,
580 #[serde(rename = "13")]
581 pub _13: Option<String>,
582 #[serde(rename = "14")]
583 pub _14: Option<String>,
584 #[serde(rename = "15")]
585 pub _15: Option<String>,
586 #[serde(rename = "16")]
587 pub _16: Option<String>,
588 #[serde(rename = "17")]
589 pub _17: Option<String>,
590 #[serde(rename = "18")]
591 pub _18: Option<String>,
592 #[serde(rename = "19")]
593 pub _19: Option<String>,
594 #[serde(rename = "20")]
595 pub _20: Option<String>,
596 #[serde(rename = "21")]
597 pub _21: Option<String>,
598 #[serde(rename = "22")]
599 pub _22: Option<String>,
600 #[serde(rename = "23")]
601 pub _23: Option<String>,
602 #[serde(rename = "24")]
603 pub _24: Option<String>,
604 #[serde(rename = "25")]
605 pub _25: Option<String>,
606 #[serde(rename = "26")]
607 pub _26: Option<String>,
608 #[serde(rename = "27")]
609 pub _27: Option<String>,
610 #[serde(rename = "28")]
611 pub _28: Option<String>,
612 #[serde(rename = "29")]
613 pub _29: Option<String>,
614 #[serde(rename = "30")]
615 pub _30: Option<String>,
616}
617
618#[derive(
629 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
630)]
631pub struct AK3 {
632 #[serde(rename = "01")]
633 pub _01: String,
634 #[serde(rename = "02")]
635 pub _02: crate::v005010::element::E719,
636 #[serde(rename = "03")]
637 pub _03: Option<String>,
638 #[serde(rename = "04")]
639 pub _04: Option<crate::v005010::element::E720>,
640}
641
642#[derive(
653 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
654)]
655pub struct AK4 {
656 #[serde(rename = "01")]
657 pub _01: String,
658 #[serde(rename = "02")]
659 pub _02: Option<crate::v005010::element::E723>,
660 #[serde(rename = "03")]
661 pub _03: String,
662 #[serde(rename = "04")]
663 pub _04: Option<crate::v005010::element::E725>,
664}
665
666#[derive(
679 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
680)]
681pub struct AK5 {
682 #[serde(rename = "01")]
683 pub _01: crate::v005010::element::E717,
684 #[serde(rename = "02")]
685 pub _02: Option<crate::v005010::element::E718>,
686 #[serde(rename = "03")]
687 pub _03: Option<crate::v005010::element::E718>,
688 #[serde(rename = "04")]
689 pub _04: Option<crate::v005010::element::E718>,
690 #[serde(rename = "05")]
691 pub _05: Option<crate::v005010::element::E718>,
692 #[serde(rename = "06")]
693 pub _06: Option<crate::v005010::element::E718>,
694}
695
696#[derive(
704 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
705)]
706pub struct AT1 {
707 #[serde(rename = "01")]
708 pub _01: crate::v005010::element::E213,
709}
710
711#[derive(
730 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
731)]
732pub struct AT2 {
733 #[serde(rename = "01")]
734 pub _01: Option<crate::v005010::element::E80>,
735 #[serde(rename = "02")]
736 pub _02: Option<crate::v005010::element::E211>,
737 #[serde(rename = "03")]
738 pub _03: String,
739 #[serde(rename = "04")]
740 pub _04: String,
741 #[serde(rename = "05")]
742 pub _05: crate::v005010::element::E81,
743 #[serde(rename = "06")]
744 pub _06: Option<crate::v005010::element::E80>,
745 #[serde(rename = "07")]
746 pub _07: Option<crate::v005010::element::E211>,
747 #[serde(rename = "08")]
748 pub _08: Option<crate::v005010::element::E1073>,
749 #[serde(rename = "09")]
750 pub _09: Option<String>,
751 #[serde(rename = "10")]
752 pub _10: Option<String>,
753 #[serde(rename = "11")]
754 pub _11: Option<crate::v005010::element::E1073>,
755 #[serde(rename = "12")]
756 pub _12: Option<crate::v005010::element::E148>,
757}
758
759#[derive(
773 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
774)]
775pub struct AT3 {
776 #[serde(rename = "01")]
777 pub _01: crate::v005010::element::E58,
778 #[serde(rename = "02")]
779 pub _02: Option<crate::v005010::element::E1600>,
780 #[serde(rename = "03")]
781 pub _03: Option<crate::v005010::element::E60>,
782 #[serde(rename = "04")]
783 pub _04: Option<crate::v005010::element::E1601>,
784 #[serde(rename = "05")]
785 pub _05: Option<String>,
786 #[serde(rename = "06")]
787 pub _06: Option<crate::v005010::element::E1602>,
788 #[serde(rename = "07")]
789 pub _07: Option<crate::v005010::element::E954>,
790}
791
792#[derive(
800 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
801)]
802pub struct AT4 {
803 #[serde(rename = "01")]
804 pub _01: String,
805}
806
807#[derive(
817 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
818)]
819pub struct AT5 {
820 #[serde(rename = "01")]
821 pub _01: Option<String>,
822 #[serde(rename = "02")]
823 pub _02: Option<String>,
824 #[serde(rename = "03")]
825 pub _03: Option<String>,
826}
827
828#[derive(
842 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
843)]
844pub struct AT7 {
845 #[serde(rename = "01")]
846 pub _01: Option<String>,
847 #[serde(rename = "02")]
848 pub _02: Option<String>,
849 #[serde(rename = "03")]
850 pub _03: Option<String>,
851 #[serde(rename = "04")]
852 pub _04: Option<String>,
853 #[serde(rename = "05")]
860 pub _05: Option<String>,
861 #[serde(rename = "06")]
862 pub _06: Option<String>,
863 #[serde(rename = "07")]
870 pub _07: Option<crate::v005010::element::E623>,
871}
872
873#[derive(
888 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
889)]
890pub struct AT9 {
891 #[serde(rename = "01")]
892 pub _01: Option<crate::v005010::element::E567>,
893 #[serde(rename = "02")]
894 pub _02: Option<crate::v005010::element::E65>,
895 #[serde(rename = "03")]
896 pub _03: Option<crate::v005010::element::E189>,
897 #[serde(rename = "04")]
898 pub _04: Option<String>,
899 #[serde(rename = "05")]
900 pub _05: Option<String>,
901 #[serde(rename = "06")]
902 pub _06: Option<crate::v005010::element::E81>,
903 #[serde(rename = "07")]
904 pub _07: Option<crate::v005010::element::E184>,
905 #[serde(rename = "08")]
906 pub _08: Option<crate::v005010::element::E183>,
907}
908
909#[derive(
923 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
924)]
925pub struct AT8 {
926 #[serde(rename = "01")]
927 pub _01: Option<String>,
928 #[serde(rename = "02")]
929 pub _02: Option<String>,
930 #[serde(rename = "03")]
931 pub _03: Option<String>,
932 #[serde(rename = "04")]
933 pub _04: Option<String>,
934 #[serde(rename = "05")]
935 pub _05: Option<String>,
936 #[serde(rename = "06")]
937 pub _06: Option<String>,
938 #[serde(rename = "07")]
939 pub _07: Option<String>,
940}