1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5#[derive(
20 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
21)]
22pub struct TSU {
23 #[serde(rename = "01")]
24 pub _01: String,
25 #[serde(rename = "02")]
26 pub _02: String,
27 #[serde(rename = "03")]
28 pub _03: crate::v005010::element::E782,
29 #[serde(rename = "04")]
30 pub _04: Option<String>,
31 #[serde(rename = "05")]
32 pub _05: Option<String>,
33 #[serde(rename = "06")]
34 pub _06: Option<String>,
35 #[serde(rename = "07")]
36 pub _07: Option<String>,
37 #[serde(rename = "08")]
38 pub _08: Option<crate::v005010::element::E623>,
39}
40
41#[derive(
64 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
65)]
66pub struct TCD {
67 #[serde(rename = "01")]
68 pub _01: Option<String>,
69 #[serde(rename = "02")]
70 pub _02: Option<String>,
71 #[serde(rename = "03")]
72 pub _03: Option<String>,
73 #[serde(rename = "04")]
74 pub _04: Option<String>,
75 #[serde(rename = "05")]
76 pub _05: Option<String>,
77 #[serde(rename = "06")]
78 pub _06: Option<String>,
79 #[serde(rename = "07")]
80 pub _07: Option<String>,
81 #[serde(rename = "08")]
82 pub _08: Option<String>,
83 #[serde(rename = "09")]
84 pub _09: Option<String>,
85 #[serde(rename = "10")]
86 pub _10: Option<String>,
87 #[serde(rename = "11")]
88 pub _11: Option<String>,
89 #[serde(rename = "12")]
90 pub _12: Option<crate::v005010::element::E782>,
91 #[serde(rename = "13")]
92 pub _13: Option<crate::v005010::element::E782>,
93 #[serde(rename = "14")]
94 pub _14: Option<crate::v005010::element::E782>,
95 #[serde(rename = "15")]
96 pub _15: Option<crate::v005010::element::E782>,
97 #[serde(rename = "16")]
98 pub _16: Option<crate::v005010::element::E662>,
99}
100
101#[derive(
113 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
114)]
115pub struct TRF {
116 #[serde(rename = "01")]
117 pub _01: String,
118 #[serde(rename = "02")]
119 pub _02: String,
120 #[serde(rename = "03")]
121 pub _03: String,
122 #[serde(rename = "04")]
123 pub _04: String,
124 #[serde(rename = "05")]
125 pub _05: String,
126}
127
128#[derive(
140 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
141)]
142pub struct TEM {
143 #[serde(rename = "01")]
144 pub _01: Option<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<crate::v005010::element::E81>,
151 #[serde(rename = "05")]
152 pub _05: Option<crate::v005010::element::E1703>,
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 TOO {
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}
176
177#[derive(
179 Serialize,
180 Deserialize,
181 Clone,
182 Default,
183 Debug,
184 Validate,
185 PartialEq,
186 Eq,
187 DisplaySegment,
188 ParseSegment,
189)]
190pub struct TRN {
191 #[serde(rename = "01")]
192 pub _01: String,
193 #[serde(rename = "02")]
194 pub _02: String,
195 #[serde(rename = "03")]
196 pub _03: Option<String>,
197 #[serde(rename = "04")]
198 pub _04: Option<String>,
199}
200
201#[derive(
203 Serialize,
204 Deserialize,
205 Clone,
206 Default,
207 Debug,
208 Validate,
209 PartialEq,
210 Eq,
211 DisplaySegment,
212 ParseSegment,
213)]
214pub struct TS2 {
215 #[serde(rename = "01")]
216 pub _01: Option<String>,
217 #[serde(rename = "02")]
218 pub _02: Option<String>,
219 #[serde(rename = "03")]
220 pub _03: Option<String>,
221 #[serde(rename = "04")]
222 pub _04: Option<String>,
223 #[serde(rename = "05")]
224 pub _05: Option<String>,
225 #[serde(rename = "06")]
226 pub _06: Option<String>,
227 #[serde(rename = "07")]
228 pub _07: Option<String>,
229 #[serde(rename = "08")]
230 pub _08: Option<String>,
231 #[serde(rename = "09")]
232 pub _09: Option<String>,
233 #[serde(rename = "10")]
234 pub _10: Option<String>,
235 #[serde(rename = "11")]
236 pub _11: Option<String>,
237 #[serde(rename = "12")]
238 pub _12: Option<String>,
239 #[serde(rename = "13")]
240 pub _13: Option<String>,
241 #[serde(rename = "14")]
242 pub _14: Option<String>,
243 #[serde(rename = "15")]
244 pub _15: Option<String>,
245 #[serde(rename = "16")]
246 pub _16: Option<String>,
247 #[serde(rename = "17")]
248 pub _17: Option<String>,
249 #[serde(rename = "18")]
250 pub _18: Option<String>,
251 #[serde(rename = "19")]
252 pub _19: Option<String>,
253}
254
255#[derive(
257 Serialize,
258 Deserialize,
259 Clone,
260 Default,
261 Debug,
262 Validate,
263 PartialEq,
264 Eq,
265 DisplaySegment,
266 ParseSegment,
267)]
268pub struct TS3 {
269 #[serde(rename = "01")]
270 pub _01: String,
271 #[serde(rename = "02")]
272 pub _02: String,
273 #[serde(rename = "03")]
274 pub _03: String,
275 #[serde(rename = "04")]
276 pub _04: String,
277 #[serde(rename = "05")]
278 pub _05: String,
279 #[serde(rename = "06")]
280 pub _06: Option<String>,
281 #[serde(rename = "07")]
282 pub _07: Option<String>,
283 #[serde(rename = "08")]
284 pub _08: Option<String>,
285 #[serde(rename = "09")]
286 pub _09: Option<String>,
287 #[serde(rename = "10")]
288 pub _10: Option<String>,
289 #[serde(rename = "11")]
290 pub _11: Option<String>,
291 #[serde(rename = "12")]
292 pub _12: Option<String>,
293 #[serde(rename = "13")]
294 pub _13: Option<String>,
295 #[serde(rename = "14")]
296 pub _14: Option<String>,
297 #[serde(rename = "15")]
298 pub _15: Option<String>,
299 #[serde(rename = "16")]
300 pub _16: Option<String>,
301 #[serde(rename = "17")]
302 pub _17: Option<String>,
303 #[serde(rename = "18")]
304 pub _18: Option<String>,
305 #[serde(rename = "19")]
306 pub _19: Option<String>,
307 #[serde(rename = "20")]
308 pub _20: Option<String>,
309 #[serde(rename = "21")]
310 pub _21: Option<String>,
311 #[serde(rename = "22")]
312 pub _22: Option<String>,
313 #[serde(rename = "23")]
314 pub _23: Option<String>,
315 #[serde(rename = "24")]
316 pub _24: Option<String>,
317}
318
319#[derive(
321 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
322)]
323pub struct TXP {
324 #[serde(rename = "01")]
325 pub _01: Option<String>,
326 #[serde(rename = "02")]
327 pub _02: Option<String>,
328 #[serde(rename = "03")]
329 pub _03: Option<String>,
330 #[serde(rename = "04")]
331 pub _04: Option<String>,
332 #[serde(rename = "05")]
333 pub _05: Option<String>,
334 #[serde(rename = "06")]
335 pub _06: Option<String>,
336 #[serde(rename = "07")]
337 pub _07: Option<String>,
338 #[serde(rename = "08")]
339 pub _08: Option<String>,
340 #[serde(rename = "09")]
341 pub _09: Option<String>,
342}
343
344#[derive(
346 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
347)]
348pub struct TXI {
349 #[serde(rename = "01")]
350 pub _01: Option<String>,
351 #[serde(rename = "02")]
352 pub _02: Option<String>,
353 #[serde(rename = "03")]
354 pub _03: Option<String>,
355 #[serde(rename = "04")]
356 pub _04: Option<String>,
357 #[serde(rename = "05")]
358 pub _05: Option<String>,
359 #[serde(rename = "06")]
360 pub _06: Option<String>,
361 #[serde(rename = "07")]
362 pub _07: Option<String>,
363 #[serde(rename = "08")]
364 pub _08: Option<String>,
365 #[serde(rename = "09")]
366 pub _09: Option<String>,
367 #[serde(rename = "10")]
368 pub _10: Option<String>,
369 #[serde(rename = "11")]
370 pub _11: Option<String>,
371 #[serde(rename = "12")]
372 pub _12: Option<String>,
373 #[serde(rename = "13")]
374 pub _13: Option<String>,
375 #[serde(rename = "14")]
376 pub _14: Option<String>,
377 #[serde(rename = "15")]
378 pub _15: Option<String>,
379 #[serde(rename = "16")]
380 pub _16: Option<String>,
381 #[serde(rename = "17")]
382 pub _17: Option<String>,
383 #[serde(rename = "18")]
384 pub _18: Option<String>,
385 #[serde(rename = "19")]
386 pub _19: Option<String>,
387 #[serde(rename = "20")]
388 pub _20: Option<String>,
389 #[serde(rename = "21")]
390 pub _21: Option<String>,
391 #[serde(rename = "22")]
392 pub _22: Option<String>,
393 #[serde(rename = "23")]
394 pub _23: Option<String>,
395 #[serde(rename = "24")]
396 pub _24: Option<String>,
397 #[serde(rename = "25")]
398 pub _25: Option<String>,
399}
400
401#[derive(
403 Serialize,
404 Deserialize,
405 Clone,
406 Default,
407 Debug,
408 Validate,
409 PartialEq,
410 Eq,
411 DisplaySegment,
412 ParseSegment,
413)]
414pub struct TAX {
415 #[serde(rename = "01")]
416 pub _01: String,
417 #[serde(rename = "02")]
418 pub _02: Option<String>,
419 #[serde(rename = "03")]
420 pub _03: Option<String>,
421 #[serde(rename = "04")]
422 pub _04: Option<String>,
423 #[serde(rename = "05")]
424 pub _05: Option<String>,
425 #[serde(rename = "06")]
426 pub _06: Option<String>,
427 #[serde(rename = "07")]
428 pub _07: Option<String>,
429 #[serde(rename = "08")]
430 pub _08: Option<String>,
431 #[serde(rename = "09")]
432 pub _09: Option<String>,
433 #[serde(rename = "10")]
434 pub _10: Option<String>,
435 #[serde(rename = "11")]
436 pub _11: Option<String>,
437 #[serde(rename = "12")]
438 pub _12: Option<String>,
439 #[serde(rename = "13")]
440 pub _13: Option<String>,
441}
442
443#[derive(
454 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
455)]
456pub struct TPB {
457 #[serde(rename = "01")]
458 pub _01: Option<crate::v005010::element::E1634>,
459 #[serde(rename = "02")]
460 pub _02: Option<String>,
461 #[serde(rename = "03")]
462 pub _03: Option<String>,
463 #[serde(rename = "04")]
464 pub _04: Option<String>,
465}
466
467#[derive(
469 Serialize,
470 Deserialize,
471 Clone,
472 Default,
473 Debug,
474 Validate,
475 PartialEq,
476 Eq,
477 DisplaySegment,
478 ParseSegment,
479)]
480pub struct TC2 {
481 #[serde(rename = "01")]
482 pub _01: String,
483 #[serde(rename = "02")]
484 pub _02: String,
485}
486
487#[derive(
489 Serialize,
490 Deserialize,
491 Clone,
492 Default,
493 Debug,
494 Validate,
495 PartialEq,
496 Eq,
497 DisplaySegment,
498 ParseSegment,
499)]
500pub struct TD1 {
501 #[serde(rename = "01")]
502 pub _01: Option<String>,
503 #[serde(rename = "02")]
504 pub _02: Option<String>,
505 #[serde(rename = "03")]
507 pub _03: Option<crate::v005010::element::E23>,
508 #[serde(rename = "04")]
509 pub _04: Option<String>,
510 #[serde(rename = "05")]
511 pub _05: Option<String>,
512 #[serde(rename = "06")]
514 pub _06: Option<crate::v005010::element::E187>,
515 #[serde(rename = "07")]
516 pub _07: Option<String>,
517 #[serde(rename = "08")]
519 pub _08: Option<crate::v005010::element::E355>,
520 #[serde(rename = "09")]
521 pub _09: Option<String>,
522 #[serde(rename = "10")]
524 pub _10: Option<crate::v005010::element::E355>,
525}
526
527#[derive(
529 Serialize,
530 Deserialize,
531 Clone,
532 Default,
533 Debug,
534 Validate,
535 PartialEq,
536 Eq,
537 DisplaySegment,
538 ParseSegment,
539)]
540pub struct TD3 {
541 #[serde(rename = "01")]
543 pub _01: crate::v005010::element::E40,
544 #[serde(rename = "02")]
545 pub _02: Option<String>,
546 #[serde(rename = "03")]
547 pub _03: Option<String>,
548 #[serde(rename = "04")]
549 pub _04: Option<String>,
550 #[serde(rename = "05")]
551 pub _05: Option<String>,
552 #[serde(rename = "06")]
553 pub _06: Option<String>,
554 #[serde(rename = "07")]
555 pub _07: Option<String>,
556 #[serde(rename = "08")]
557 pub _08: Option<String>,
558 #[serde(rename = "09")]
559 pub _09: Option<String>,
560 #[serde(rename = "10")]
561 pub _10: Option<String>,
562}
563
564#[derive(
566 Serialize,
567 Deserialize,
568 Clone,
569 Default,
570 Debug,
571 Validate,
572 PartialEq,
573 Eq,
574 DisplaySegment,
575 ParseSegment,
576)]
577pub struct TD4 {
578 #[serde(rename = "01")]
580 pub _01: crate::v005010::element::E152,
581 #[serde(rename = "02")]
583 pub _02: Option<crate::v005010::element::E208>,
584 #[serde(rename = "03")]
586 pub _03: Option<crate::v005010::element::E209>,
587 #[serde(rename = "04")]
588 pub _04: Option<String>,
589 #[serde(rename = "05")]
590 pub _05: Option<String>,
591}
592
593#[derive(
602 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
603)]
604pub struct TSD {
605 #[serde(rename = "01")]
606 pub _01: Option<String>,
607 #[serde(rename = "02")]
608 pub _02: Option<String>,
609}
610
611#[derive(
613 Serialize,
614 Deserialize,
615 Clone,
616 Default,
617 Debug,
618 Validate,
619 PartialEq,
620 Eq,
621 DisplaySegment,
622 ParseSegment,
623)]
624pub struct TD5 {
625 #[serde(rename = "01")]
627 pub _01: Option<crate::v005010::element::E133>,
628 #[serde(rename = "02")]
630 pub _02: Option<crate::v005010::element::E66>,
631 #[serde(rename = "03")]
632 pub _03: Option<String>,
633 #[serde(rename = "04")]
635 pub _04: Option<crate::v005010::element::E91>,
636 #[serde(rename = "05")]
637 pub _05: Option<String>,
638 #[serde(rename = "06")]
639 pub _06: Option<String>,
640 #[serde(rename = "07")]
641 pub _07: Option<String>,
642 #[serde(rename = "08")]
643 pub _08: Option<String>,
644 #[serde(rename = "09")]
645 pub _09: Option<String>,
646 #[serde(rename = "10")]
647 pub _10: Option<String>,
648 #[serde(rename = "11")]
649 pub _11: Option<String>,
650 #[serde(rename = "12")]
651 pub _12: Option<String>,
652 #[serde(rename = "13")]
653 pub _13: Option<String>,
654 #[serde(rename = "14")]
655 pub _14: Option<String>,
656 #[serde(rename = "15")]
657 pub _15: Option<String>,
658}
659
660#[derive(
668 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
669)]
670pub struct TDS {
671 #[serde(rename = "01")]
672 pub _01: crate::v005010::element::E610,
673}
674
675#[derive(
679 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
680)]
681pub struct TED {
682 #[serde(rename = "01")]
683 pub _01: String,
684 #[serde(rename = "02")]
685 pub _02: Option<String>,
686 #[serde(rename = "03")]
687 pub _03: Option<String>,
688 #[serde(rename = "04")]
689 pub _04: Option<String>,
690 #[serde(rename = "05")]
691 pub _05: Option<String>,
692 #[serde(rename = "06")]
693 pub _06: Option<String>,
694 #[serde(rename = "07")]
695 pub _07: Option<String>,
696 #[serde(rename = "08")]
697 pub _08: Option<String>,
698 #[serde(rename = "09")]
699 pub _09: Option<String>,
700 #[serde(rename = "10")]
701 pub _10: Option<String>,
702}
703
704#[derive(
706 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
707)]
708pub struct T1 {
709 #[serde(rename = "01")]
710 pub _01: String,
711 #[serde(rename = "02")]
712 pub _02: Option<String>,
713 #[serde(rename = "03")]
714 pub _03: Option<String>,
715 #[serde(rename = "04")]
716 pub _04: Option<String>,
717 #[serde(rename = "05")]
718 pub _05: Option<String>,
719 #[serde(rename = "06")]
720 pub _06: Option<String>,
721 #[serde(rename = "07")]
722 pub _07: Option<String>,
723 #[serde(rename = "08")]
724 pub _08: Option<String>,
725 #[serde(rename = "09")]
726 pub _09: Option<String>,
727 #[serde(rename = "10")]
728 pub _10: Option<String>,
729 #[serde(rename = "11")]
730 pub _11: Option<String>,
731}
732
733#[derive(
735 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
736)]
737pub struct T2 {
738 #[serde(rename = "01")]
739 pub _01: String,
740 #[serde(rename = "02")]
741 pub _02: Option<String>,
742 #[serde(rename = "03")]
743 pub _03: Option<String>,
744 #[serde(rename = "04")]
745 pub _04: Option<String>,
746 #[serde(rename = "05")]
747 pub _05: Option<String>,
748 #[serde(rename = "06")]
749 pub _06: Option<String>,
750 #[serde(rename = "07")]
751 pub _07: Option<String>,
752 #[serde(rename = "08")]
753 pub _08: Option<String>,
754 #[serde(rename = "09")]
755 pub _09: Option<String>,
756 #[serde(rename = "10")]
757 pub _10: Option<String>,
758 #[serde(rename = "11")]
759 pub _11: Option<String>,
760 #[serde(rename = "12")]
761 pub _12: Option<String>,
762}
763
764#[derive(
766 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
767)]
768pub struct T3 {
769 #[serde(rename = "01")]
770 pub _01: String,
771 #[serde(rename = "02")]
772 pub _02: String,
773 #[serde(rename = "03")]
774 pub _03: Option<String>,
775 #[serde(rename = "04")]
776 pub _04: Option<String>,
777 #[serde(rename = "05")]
778 pub _05: Option<String>,
779 #[serde(rename = "06")]
780 pub _06: Option<String>,
781 #[serde(rename = "07")]
782 pub _07: Option<String>,
783}
784
785#[derive(
787 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
788)]
789pub struct T6 {
790 #[serde(rename = "01")]
791 pub _01: String,
792 #[serde(rename = "02")]
793 pub _02: Option<String>,
794 #[serde(rename = "03")]
795 pub _03: Option<String>,
796 #[serde(rename = "04")]
797 pub _04: Option<String>,
798 #[serde(rename = "05")]
799 pub _05: Option<String>,
800 #[serde(rename = "06")]
801 pub _06: Option<String>,
802 #[serde(rename = "07")]
803 pub _07: Option<String>,
804}
805
806#[derive(
808 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
809)]
810pub struct T8 {
811 #[serde(rename = "01")]
812 pub _01: String,
813 #[serde(rename = "02")]
814 pub _02: String,
815}