Skip to main content

x12_types/v005010/segment/
t.rs

1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5/// TSU - Transaction Summary
6///
7/// To provide transaction summary information for financial account reporting
8///
9/// REF | ID | NAME | REQ | TYPE | MIN/MAX
10/// ----|----|-------|----|------|-------
11/// 01 | 1270 | Code List Qualifier Code | M | ID | 1/3
12/// 02 | 1271 | Industry Code | M | AN | 1/30
13/// 03 | 782 | Monetary Amount | M | R | 1/18
14/// 04 | 380 | Quantity | O | R | 1/15
15/// 05 | 380 | Quantity | O | R | 1/15
16/// 06 | 373 | Date | O | DT | 8/8
17/// 07 | 337 | Time | C | TM | 4/8
18/// 08 | 623 | Time Code | O | ID | 2/2
19#[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/// TCD - Test Period or Interval
42///
43/// To specify transportation/charge detail for a service line
44///
45/// REF | ID | NAME | REQ | TYPE | MIN/MAX
46/// ----|----|-------|----|------|-------
47/// 01 | 350 | Assigned Identification | O | AN | 1/20
48/// 02 | 373 | Date | O | DT | 8/8
49/// 03 | 337 | Time | O | TM | 4/8
50/// 04 | 309 | Location Qualifier | X | ID | 1/2
51/// 05 | 310 | Location Identifier | X | AN | 1/30
52/// 06 | 156 | State or Province Code | O | ID | 2/2
53/// 07 | 309 | Location Qualifier | X | ID | 1/2
54/// 08 | 310 | Location Identifier | X | AN | 1/30
55/// 09 | 156 | State or Province Code | O | ID | 2/2
56/// 10 | 739 | Measurement Value | O | R | 1/20
57/// 11 | 739 | Measurement Value | O | R | 1/20
58/// 12 | 782 | Monetary Amount | O | R | 1/18
59/// 13 | 782 | Monetary Amount | O | R | 1/18
60/// 14 | 782 | Monetary Amount | O | R | 1/18
61/// 15 | 782 | Monetary Amount | O | R | 1/18
62/// 16 | 662 | Relationship Code | O | ID | 1/1
63#[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/// TRF - Tariff Rating Information
102///
103/// To specify rating information used to calculate usage-sensitive charges
104///
105/// REF | ID | NAME | REQ | TYPE | MIN/MAX
106/// ----|----|-------|----|------|-------
107/// 01 | 673 | Quantity Qualifier | M | ID | 2/2
108/// 02 | C001 | Composite Unit of Measure | M | Composite | 1/1
109/// 03 | 380 | Quantity | M | R | 1/15
110/// 04 | C001 | Composite Unit of Measure | M | Composite | 1/1
111/// 05 | 380 | Quantity | M | R | 1/15
112#[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/// TEM - Pickup Totals
129///
130/// To specify the total quantity and weight for a pickup
131///
132/// REF | ID | NAME | REQ | TYPE | MIN/MAX
133/// ----|----|-------|----|------|-------
134/// 01 | 380 | Quantity | C | R | 1/15
135/// 02 | 380 | Quantity | C | R | 1/15
136/// 03 | 188 | Weight Unit Code | C | ID | 1/1
137/// 04 | 81 | Weight | C | R | 1/10
138/// 05 | 1703 | Commodity Characteristic Codes | O | ID | 2/2
139#[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/// TOO - Tooth Identification
156#[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/// TRN - Trace
178#[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/// TS2 - Transaction Supplemental Statistics
202#[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/// TS3 - Transaction Statistics
256#[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/// TXP - Tax Payment
320#[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/// TXI - Tax Information
345#[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/// TAX - Tax Reference
402#[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/// TPB - Business Professional Title
444///
445/// To convey the title or descriptive role of a business professional
446///
447/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
448/// ----|----|-------|--------|----|------|-------
449/// 01 | 1634 | Business Professional Title Code | 1 | X | ID | 1/3
450/// 02 | 933 | Free-form Message Text | 1 | X | AN | 1/264
451/// 03 | 559 | Agency Qualifier Code | 1 | X | ID | 2/2
452/// 04 | 822 | Source Subqualifier | 1 | O | AN | 1/15
453#[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/// TC2 - Commodity
468#[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/// TD1 - Carrier Details (Quantity and Weight)
488#[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    /// 23 - Commodity Code Qualifier
506    #[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    /// 187 - Weight Qualifier
513    #[serde(rename = "06")]
514    pub _06: Option<crate::v005010::element::E187>,
515    #[serde(rename = "07")]
516    pub _07: Option<String>,
517    /// 355 - Unit or Basis for Measurement Code
518    #[serde(rename = "08")]
519    pub _08: Option<crate::v005010::element::E355>,
520    #[serde(rename = "09")]
521    pub _09: Option<String>,
522    /// 355 - Unit or Basis for Measurement Code
523    #[serde(rename = "10")]
524    pub _10: Option<crate::v005010::element::E355>,
525}
526
527/// TD3 - Carrier Details (Equipment)
528#[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    /// 40 - Equipment Description Code
542    #[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/// TD4 - Carrier Details (Special Handling, or Hazardous Materials, or Both)
565#[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    /// 152 - Special Handling Code
579    #[serde(rename = "01")]
580    pub _01: crate::v005010::element::E152,
581    /// 208 - Hazardous Material Code Qualifier
582    #[serde(rename = "02")]
583    pub _02: Option<crate::v005010::element::E208>,
584    /// 209 - Hazardous Material Class Code
585    #[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/// TSD - Trailer Shipment Details
594///
595/// To specify the details of shipments on a trailer
596///
597/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
598/// ----|----|-------|--------|----|------|-------
599/// 01 | 350 | Assigned Identification | 1 | O | AN | 1/20
600/// 02 | 219 | Position | 1 | O | AN | 1/3
601#[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/// TD5 - Carrier Details (Routing Sequence/Transit Time)
612#[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    /// 133 - Routing Sequence Code
626    #[serde(rename = "01")]
627    pub _01: Option<crate::v005010::element::E133>,
628    /// 66 - Identification Code Qualifier
629    #[serde(rename = "02")]
630    pub _02: Option<crate::v005010::element::E66>,
631    #[serde(rename = "03")]
632    pub _03: Option<String>,
633    /// 91 - Transportation Method/Type Code
634    #[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/// TDS - Total Monetary Value Summary
661///
662/// To specify the total monetary values for a transaction set
663///
664/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
665/// ----|----|-------|--------|----|------|-------
666/// 01 | 610 | Total Amount | 1 | M | R | 1/15
667#[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/// TED - Technical Error Description
676///
677/// To identify the error and, if feasible, the erroneous segment, or data element, or both
678#[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/// T1 - Transit Inbound Origin
705#[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/// T2 - Transit Inbound Lading
734#[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/// T3 - Transit Inbound Route
765#[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/// T6 - Transit Inbound Rates
786#[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/// T8 - Transit Inbound Rates
807#[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}