Skip to main content

x12_types/v005010/segment/
c.rs

1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5/// CAS - Claims Adjustment
6#[derive(
7    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
8)]
9pub struct CAS {
10    #[serde(rename = "01")]
11    pub _01: String,
12    #[serde(rename = "02")]
13    pub _02: String,
14    #[serde(rename = "03")]
15    pub _03: String,
16    #[serde(rename = "04")]
17    pub _04: Option<String>,
18    #[serde(rename = "05")]
19    pub _05: Option<String>,
20    #[serde(rename = "06")]
21    pub _06: Option<String>,
22    #[serde(rename = "07")]
23    pub _07: Option<String>,
24    #[serde(rename = "08")]
25    pub _08: Option<String>,
26    #[serde(rename = "09")]
27    pub _09: Option<String>,
28    #[serde(rename = "10")]
29    pub _10: Option<String>,
30    #[serde(rename = "11")]
31    pub _11: Option<String>,
32    #[serde(rename = "12")]
33    pub _12: Option<String>,
34    #[serde(rename = "13")]
35    pub _13: Option<String>,
36    #[serde(rename = "14")]
37    pub _14: Option<String>,
38    #[serde(rename = "15")]
39    pub _15: Option<String>,
40    #[serde(rename = "16")]
41    pub _16: Option<String>,
42    #[serde(rename = "17")]
43    pub _17: Option<String>,
44    #[serde(rename = "18")]
45    pub _18: Option<String>,
46    #[serde(rename = "19")]
47    pub _19: Option<String>,
48}
49
50/// CAT - Category of Patient Information Service
51///
52/// To convey the category, transmission method, and version of patient information
53///
54/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
55/// ----|----|-------|--------|----|------|-------
56/// 01 | 755 | Report Type Code | 1 | O | ID | 2/2
57/// 02 | 756 | Report Transmission Code | 1 | X | ID | 1/2
58/// 03 | 799 | Version Identifier | 1 | O | AN | 1/30
59/// 04 | 1270 | Code List Qualifier Code | 1 | X | ID | 1/3
60/// 05 | 1271 | Industry Code | 1 | X | AN | 1/30
61/// 06 | 1271 | Industry Code | 1 | O | AN | 1/30
62/// 07 | 799 | Version Identifier | 1 | O | AN | 1/30
63#[derive(
64    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
65)]
66pub struct CAT {
67    #[serde(rename = "01")]
68    pub _01: Option<crate::v005010::element::E755>,
69    #[serde(rename = "02")]
70    pub _02: Option<crate::v005010::element::E756>,
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}
82
83/// CB1 - Contract and Cost Accounting Information
84#[derive(
85    Serialize,
86    Deserialize,
87    Clone,
88    Default,
89    Debug,
90    Validate,
91    PartialEq,
92    Eq,
93    DisplaySegment,
94    ParseSegment,
95)]
96pub struct CB1 {
97    #[serde(rename = "01")]
98    pub _01: String,
99    #[serde(rename = "02")]
100    pub _02: Option<String>,
101}
102
103/// CDD - Credit/Debit Adjustment Detail
104///
105/// To convey the reason for, and the detail of, a credit or debit adjustment
106///
107/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
108/// ----|----|-------|--------|----|------|-------
109/// 01 | 426 | Adjustment Reason Code | 1 | M | ID | 2/2
110/// 02 | 478 | Credit/Debit Flag Code | 1 | M | ID | 1/1
111/// 03 | 350 | Assigned Identification | 1 | O | AN | 1/20
112/// 04 | 610 | Amount | 1 | X | N2 | 1/15
113/// 05 | 1073 | Yes/No Condition or Response Code | 1 | O | ID | 1/1
114/// 06 | 417 | Price Bracket Identifier | 1 | O | AN | 1/3
115/// 07 | 477 | Credit/Debit Quantity | 1 | X | R | 1/10
116/// 08 | 355 | Unit or Basis for Measurement Code | 1 | X | ID | 2/2
117/// 09 | 427 | Unit Price Difference | 1 | O | R | 1/15
118/// 10 | 236 | Price Identifier Code | 1 | X | ID | 3/3
119/// 11 | 212 | Unit Price | 1 | X | R | 1/17
120/// 12 | 236 | Price Identifier Code | 1 | X | ID | 3/3
121/// 13 | 212 | Unit Price | 1 | X | R | 1/17
122/// 14 | 933 | Free-form Message Text | 1 | O | AN | 1/264
123#[derive(
124    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
125)]
126pub struct CDD {
127    #[serde(rename = "01")]
128    pub _01: crate::v005010::element::E426,
129    #[serde(rename = "02")]
130    pub _02: String,
131    #[serde(rename = "03")]
132    pub _03: Option<String>,
133    #[serde(rename = "04")]
134    pub _04: Option<crate::v005010::element::E610>,
135    #[serde(rename = "05")]
136    pub _05: Option<crate::v005010::element::E1073>,
137    #[serde(rename = "06")]
138    pub _06: Option<String>,
139    #[serde(rename = "07")]
140    pub _07: Option<crate::v005010::element::E477>,
141    #[serde(rename = "08")]
142    pub _08: Option<String>,
143    #[serde(rename = "09")]
144    pub _09: Option<crate::v005010::element::E427>,
145    #[serde(rename = "10")]
146    pub _10: Option<crate::v005010::element::E236>,
147    #[serde(rename = "11")]
148    pub _11: Option<crate::v005010::element::E212>,
149    #[serde(rename = "12")]
150    pub _12: Option<crate::v005010::element::E236>,
151    #[serde(rename = "13")]
152    pub _13: Option<crate::v005010::element::E212>,
153    #[serde(rename = "14")]
154    pub _14: Option<String>,
155}
156
157/// CL1 - Claim Codes
158#[derive(
159    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
160)]
161pub struct CL1 {
162    #[serde(rename = "01")]
163    pub _01: Option<String>,
164    #[serde(rename = "02")]
165    pub _02: Option<String>,
166    #[serde(rename = "03")]
167    pub _03: Option<String>,
168    #[serde(rename = "04")]
169    pub _04: Option<String>,
170}
171
172/// CLM - Health Claim
173#[derive(
174    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
175)]
176pub struct CLM {
177    #[serde(rename = "01")]
178    pub _01: String,
179    #[serde(rename = "02")]
180    pub _02: Option<String>,
181    #[serde(rename = "03")]
182    pub _03: Option<String>,
183    #[serde(rename = "04")]
184    pub _04: Option<String>,
185    #[serde(rename = "05")]
186    pub _05: Option<String>,
187    #[serde(rename = "06")]
188    pub _06: Option<String>,
189    #[serde(rename = "07")]
190    pub _07: Option<String>,
191    #[serde(rename = "08")]
192    pub _08: Option<String>,
193    #[serde(rename = "09")]
194    pub _09: Option<String>,
195    #[serde(rename = "10")]
196    pub _10: Option<String>,
197    #[serde(rename = "11")]
198    pub _11: Option<String>,
199    #[serde(rename = "12")]
200    pub _12: Option<String>,
201    #[serde(rename = "13")]
202    pub _13: Option<String>,
203    #[serde(rename = "14")]
204    pub _14: Option<String>,
205    #[serde(rename = "15")]
206    pub _15: Option<String>,
207    #[serde(rename = "16")]
208    pub _16: Option<String>,
209    #[serde(rename = "17")]
210    pub _17: Option<String>,
211    #[serde(rename = "18")]
212    pub _18: Option<String>,
213    #[serde(rename = "19")]
214    pub _19: Option<String>,
215    #[serde(rename = "20")]
216    pub _20: Option<String>,
217}
218
219/// CLP - Claim Level Data
220#[derive(
221    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
222)]
223pub struct CLP {
224    #[serde(rename = "01")]
225    pub _01: String,
226    #[serde(rename = "02")]
227    pub _02: String,
228    #[serde(rename = "03")]
229    pub _03: String,
230    #[serde(rename = "04")]
231    pub _04: String,
232    #[serde(rename = "05")]
233    pub _05: Option<String>,
234    #[serde(rename = "06")]
235    pub _06: Option<String>,
236    #[serde(rename = "07")]
237    pub _07: Option<String>,
238    #[serde(rename = "08")]
239    pub _08: Option<String>,
240    #[serde(rename = "09")]
241    pub _09: Option<String>,
242    #[serde(rename = "10")]
243    pub _10: Option<String>,
244    #[serde(rename = "11")]
245    pub _11: Option<String>,
246    #[serde(rename = "12")]
247    pub _12: Option<String>,
248    #[serde(rename = "13")]
249    pub _13: Option<String>,
250    #[serde(rename = "14")]
251    pub _14: Option<String>,
252}
253
254/// CMC - Commodity Classification
255///
256/// To identify the commodity and freight class of an item
257///
258/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
259/// ----|----|-------|--------|----|------|-------
260/// 01 | 22 | Commodity Code | 1 | O | AN | 1/30
261/// 02 | 59 | Freight Class Code | 1 | O | AN | 2/5
262#[derive(
263    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
264)]
265pub struct CMC {
266    #[serde(rename = "01")]
267    pub _01: Option<String>,
268    #[serde(rename = "02")]
269    pub _02: Option<String>,
270}
271
272/// CN1 - Contract Information
273#[derive(
274    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
275)]
276pub struct CN1 {
277    #[serde(rename = "01")]
278    pub _01: String,
279    #[serde(rename = "02")]
280    pub _02: Option<String>,
281    #[serde(rename = "03")]
282    pub _03: Option<String>,
283    #[serde(rename = "04")]
284    pub _04: Option<String>,
285    #[serde(rename = "05")]
286    pub _05: Option<String>,
287    #[serde(rename = "06")]
288    pub _06: Option<String>,
289}
290
291/// COB - Coordination of Benefits
292#[derive(
293    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
294)]
295pub struct COB {
296    #[serde(rename = "01")]
297    pub _01: Option<String>,
298    #[serde(rename = "02")]
299    pub _02: Option<String>,
300    #[serde(rename = "03")]
301    pub _03: Option<String>,
302    #[serde(rename = "04")]
303    pub _04: Option<String>,
304}
305
306/// CFI - Compensation Financial Information
307///
308/// To convey financial compensation classification and adjustment information
309///
310/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
311/// ----|----|-------|--------|----|------|-------
312/// 01 | 1136 | Code Category | 1 | M | ID | 2/2
313/// 02 | 426 | Adjustment Reason Code | 1 | O | ID | 2/2
314/// 03 | 1129 | Adjustment Reason Code Characteristic | 1 | O | ID | 1/2
315/// 04 | 875 | Maintenance Type Code | 1 | O | ID | 3/3
316/// 05 | 594 | Frequency Code | 1 | O | ID | 1/1
317/// 06 | 1698 | Settlement Type Code | 1 | O | ID | 1/2
318/// 07 | 9 | Late Reason Code | 1 | O | ID | 2/2
319#[derive(
320    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
321)]
322pub struct CFI {
323    #[serde(rename = "01")]
324    pub _01: crate::v005010::element::E1136,
325    #[serde(rename = "02")]
326    pub _02: Option<crate::v005010::element::E426>,
327    #[serde(rename = "03")]
328    pub _03: Option<crate::v005010::element::E1129>,
329    #[serde(rename = "04")]
330    pub _04: Option<crate::v005010::element::E875>,
331    #[serde(rename = "05")]
332    pub _05: Option<crate::v005010::element::E594>,
333    #[serde(rename = "06")]
334    pub _06: Option<crate::v005010::element::E1698>,
335    #[serde(rename = "07")]
336    pub _07: Option<crate::v005010::element::E9>,
337}
338
339/// CPR - Commodity Price Reference
340///
341/// To convey commodity pricing information referenced to a market exchange
342///
343/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
344/// ----|----|-------|--------|----|------|-------
345/// 01 | 1053 | Market Exchange Identifier | 1 | M | ID | 3/3
346/// 02 | 373 | Date | 1 | M | DT | 8/8
347/// 03 | 212 | Unit Price | 1 | M | R | 1/17
348/// 04 | 1054 | Commodity Identification | 1 | M | ID | 2/2
349/// 05 | 1073 | Yes/No Condition or Response Code | 1 | O | ID | 1/1
350#[derive(
351    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
352)]
353pub struct CPR {
354    #[serde(rename = "01")]
355    pub _01: crate::v005010::element::E1053,
356    #[serde(rename = "02")]
357    pub _02: String,
358    #[serde(rename = "03")]
359    pub _03: crate::v005010::element::E212,
360    #[serde(rename = "04")]
361    pub _04: crate::v005010::element::E1054,
362    #[serde(rename = "05")]
363    pub _05: Option<crate::v005010::element::E1073>,
364}
365
366/// CR1 - Ambulance Certification
367#[derive(
368    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
369)]
370pub struct CR1 {
371    #[serde(rename = "01")]
372    pub _01: Option<String>,
373    #[serde(rename = "02")]
374    pub _02: Option<String>,
375    #[serde(rename = "03")]
376    pub _03: Option<String>,
377    #[serde(rename = "04")]
378    pub _04: Option<String>,
379    #[serde(rename = "05")]
380    pub _05: Option<String>,
381    #[serde(rename = "06")]
382    pub _06: Option<String>,
383    #[serde(rename = "07")]
384    pub _07: Option<String>,
385    #[serde(rename = "08")]
386    pub _08: Option<String>,
387    #[serde(rename = "09")]
388    pub _09: Option<String>,
389    #[serde(rename = "10")]
390    pub _10: Option<String>,
391}
392
393/// CR2 - Chiropractic Certification
394#[derive(
395    Serialize,
396    Deserialize,
397    Clone,
398    Default,
399    Debug,
400    Validate,
401    PartialEq,
402    Eq,
403    DisplaySegment,
404    ParseSegment,
405)]
406pub struct CR2 {
407    #[serde(rename = "01")]
408    pub _01: Option<String>,
409    #[serde(rename = "02")]
410    pub _02: Option<String>,
411    #[serde(rename = "03")]
412    pub _03: Option<String>,
413    #[serde(rename = "04")]
414    pub _04: Option<String>,
415    #[serde(rename = "05")]
416    pub _05: Option<String>,
417    #[serde(rename = "06")]
418    pub _06: Option<String>,
419    #[serde(rename = "07")]
420    pub _07: Option<String>,
421    #[serde(rename = "08")]
422    pub _08: Option<String>,
423    #[serde(rename = "09")]
424    pub _09: Option<String>,
425    #[serde(rename = "10")]
426    pub _10: Option<String>,
427    #[serde(rename = "11")]
428    pub _11: Option<String>,
429    #[serde(rename = "12")]
430    pub _12: Option<String>,
431}
432
433/// CR3 - Durable Medical Equipment Certification
434#[derive(
435    Serialize,
436    Deserialize,
437    Clone,
438    Default,
439    Debug,
440    Validate,
441    PartialEq,
442    Eq,
443    DisplaySegment,
444    ParseSegment,
445)]
446pub struct CR3 {
447    #[serde(rename = "01")]
448    pub _01: Option<String>,
449    #[serde(rename = "02")]
450    pub _02: Option<String>,
451    #[serde(rename = "03")]
452    pub _03: Option<String>,
453    #[serde(rename = "04")]
454    pub _04: Option<String>,
455    #[serde(rename = "05")]
456    pub _05: Option<String>,
457}
458
459/// CR4 - Enteral or Parenteral Therapy Certification
460#[derive(
461    Serialize,
462    Deserialize,
463    Clone,
464    Default,
465    Debug,
466    Validate,
467    PartialEq,
468    Eq,
469    DisplaySegment,
470    ParseSegment,
471)]
472pub struct CR4 {
473    #[serde(rename = "01")]
474    pub _01: String,
475    #[serde(rename = "02")]
476    pub _02: Option<String>,
477    #[serde(rename = "03")]
478    pub _03: Option<String>,
479    #[serde(rename = "04")]
480    pub _04: Option<String>,
481    #[serde(rename = "05")]
482    pub _05: Option<String>,
483    #[serde(rename = "06")]
484    pub _06: Option<String>,
485    #[serde(rename = "07")]
486    pub _07: Option<String>,
487    #[serde(rename = "08")]
488    pub _08: Option<String>,
489    #[serde(rename = "09")]
490    pub _09: Option<String>,
491    #[serde(rename = "10")]
492    pub _10: Option<String>,
493    #[serde(rename = "11")]
494    pub _11: Option<String>,
495    #[serde(rename = "12")]
496    pub _12: Option<String>,
497    #[serde(rename = "13")]
498    pub _13: Option<String>,
499    #[serde(rename = "14")]
500    pub _14: Option<String>,
501    #[serde(rename = "15")]
502    pub _15: Option<String>,
503    #[serde(rename = "16")]
504    pub _16: Option<String>,
505    #[serde(rename = "17")]
506    pub _17: Option<String>,
507    #[serde(rename = "18")]
508    pub _18: Option<String>,
509    #[serde(rename = "19")]
510    pub _19: Option<String>,
511    #[serde(rename = "20")]
512    pub _20: Option<String>,
513    #[serde(rename = "21")]
514    pub _21: Option<String>,
515    #[serde(rename = "22")]
516    pub _22: Option<String>,
517    #[serde(rename = "23")]
518    pub _23: Option<String>,
519    #[serde(rename = "24")]
520    pub _24: Option<String>,
521    #[serde(rename = "25")]
522    pub _25: Option<String>,
523    #[serde(rename = "26")]
524    pub _26: Option<String>,
525    #[serde(rename = "27")]
526    pub _27: Option<String>,
527    #[serde(rename = "28")]
528    pub _28: Option<String>,
529    #[serde(rename = "29")]
530    pub _29: Option<String>,
531}
532
533/// CR5 - Oxygen Therapy Certification
534#[derive(
535    Serialize,
536    Deserialize,
537    Clone,
538    Default,
539    Debug,
540    Validate,
541    PartialEq,
542    Eq,
543    DisplaySegment,
544    ParseSegment,
545)]
546pub struct CR5 {
547    #[serde(rename = "01")]
548    pub _01: Option<String>,
549    #[serde(rename = "02")]
550    pub _02: Option<String>,
551    #[serde(rename = "03")]
552    pub _03: Option<String>,
553    #[serde(rename = "04")]
554    pub _04: Option<String>,
555    #[serde(rename = "05")]
556    pub _05: Option<String>,
557    #[serde(rename = "06")]
558    pub _06: Option<String>,
559    #[serde(rename = "07")]
560    pub _07: Option<String>,
561    #[serde(rename = "08")]
562    pub _08: Option<String>,
563    #[serde(rename = "09")]
564    pub _09: Option<String>,
565    #[serde(rename = "10")]
566    pub _10: Option<String>,
567    #[serde(rename = "11")]
568    pub _11: Option<String>,
569    #[serde(rename = "12")]
570    pub _12: Option<String>,
571    #[serde(rename = "13")]
572    pub _13: Option<String>,
573    #[serde(rename = "14")]
574    pub _14: Option<String>,
575    #[serde(rename = "15")]
576    pub _15: Option<String>,
577    #[serde(rename = "16")]
578    pub _16: Option<String>,
579    #[serde(rename = "17")]
580    pub _17: Option<String>,
581    #[serde(rename = "18")]
582    pub _18: Option<String>,
583}
584
585/// CR6 - Home Health Care Certification
586#[derive(
587    Serialize,
588    Deserialize,
589    Clone,
590    Default,
591    Debug,
592    Validate,
593    PartialEq,
594    Eq,
595    DisplaySegment,
596    ParseSegment,
597)]
598pub struct CR6 {
599    #[serde(rename = "01")]
600    pub _01: String,
601    #[serde(rename = "02")]
602    pub _02: String,
603    #[serde(rename = "03")]
604    pub _03: Option<String>,
605    #[serde(rename = "04")]
606    pub _04: Option<String>,
607    #[serde(rename = "05")]
608    pub _05: Option<String>,
609    #[serde(rename = "06")]
610    pub _06: Option<String>,
611    #[serde(rename = "07")]
612    pub _07: Option<String>,
613    #[serde(rename = "08")]
614    pub _08: Option<String>,
615    #[serde(rename = "09")]
616    pub _09: Option<String>,
617    #[serde(rename = "10")]
618    pub _10: Option<String>,
619    #[serde(rename = "11")]
620    pub _11: Option<String>,
621    #[serde(rename = "12")]
622    pub _12: Option<String>,
623    #[serde(rename = "13")]
624    pub _13: Option<String>,
625    #[serde(rename = "14")]
626    pub _14: Option<String>,
627    #[serde(rename = "15")]
628    pub _15: Option<String>,
629    #[serde(rename = "16")]
630    pub _16: Option<String>,
631    #[serde(rename = "17")]
632    pub _17: Option<String>,
633    #[serde(rename = "18")]
634    pub _18: Option<String>,
635    #[serde(rename = "19")]
636    pub _19: Option<String>,
637    #[serde(rename = "20")]
638    pub _20: Option<String>,
639    #[serde(rename = "21")]
640    pub _21: Option<String>,
641}
642
643/// CR7 - Home Health Treatment Plan Certification
644#[derive(
645    Serialize,
646    Deserialize,
647    Clone,
648    Default,
649    Debug,
650    Validate,
651    PartialEq,
652    Eq,
653    DisplaySegment,
654    ParseSegment,
655)]
656pub struct CR7 {
657    #[serde(rename = "01")]
658    pub _01: String,
659    #[serde(rename = "02")]
660    pub _02: String,
661    #[serde(rename = "03")]
662    pub _03: String,
663}
664
665/// CR8 - Pacemaker Certification
666#[derive(
667    Serialize,
668    Deserialize,
669    Clone,
670    Default,
671    Debug,
672    Validate,
673    PartialEq,
674    Eq,
675    DisplaySegment,
676    ParseSegment,
677)]
678pub struct CR8 {
679    #[serde(rename = "01")]
680    pub _01: String,
681    #[serde(rename = "02")]
682    pub _02: String,
683    #[serde(rename = "03")]
684    pub _03: String,
685    #[serde(rename = "04")]
686    pub _04: String,
687    #[serde(rename = "05")]
688    pub _05: String,
689    #[serde(rename = "06")]
690    pub _06: String,
691    #[serde(rename = "07")]
692    pub _07: String,
693    #[serde(rename = "08")]
694    pub _08: String,
695    #[serde(rename = "09")]
696    pub _09: String,
697}
698
699/// CII - Conveyance Insurance Information
700///
701/// To specify the conveyance insurance information
702///
703/// REF | ID | NAME | REQ | TYPE | MIN/MAX
704/// ----|----|-------|----|------|-------
705/// 01 | 93 | Name | M | AN | 1/60
706/// 02 | 127 | Reference Identification | M | AN | 1/50
707/// 03 | 1095 | Year | M | N0 | 4/4
708/// 04 | 100 | Currency Code | M | ID | 3/3
709/// 05 | 610 | Amount | M | N2 | 1/15
710#[derive(
711    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
712)]
713pub struct CII {
714    #[serde(rename = "01")]
715    pub _01: String,
716    #[serde(rename = "02")]
717    pub _02: String,
718    #[serde(rename = "03")]
719    pub _03: crate::v005010::element::E1095,
720    #[serde(rename = "04")]
721    pub _04: String,
722    #[serde(rename = "05")]
723    pub _05: crate::v005010::element::E610,
724}
725
726/// CON - Contract Number
727///
728/// To specify contract or reference number and status
729///
730/// REF | ID | NAME | REQ | TYPE | MIN/MAX
731/// ----|----|-------|----|------|-------
732/// 01 | 128 | Reference Identification Qualifier | M | ID | 2/3
733/// 02 | 127 | Reference Identification | M | AN | 1/50
734/// 03 | 846 | Contract Status Code | M | ID | 2/2
735#[derive(
736    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
737)]
738pub struct CON {
739    #[serde(rename = "01")]
740    pub _01: String,
741    #[serde(rename = "02")]
742    pub _02: String,
743    #[serde(rename = "03")]
744    pub _03: crate::v005010::element::E846,
745}
746
747/// CRD - Country of Origin Detail
748///
749/// To supply the detail information necessary to fulfill mandated requirements for the reporting of non-domestic materials and/or components included in domestically produced products
750///
751/// REF | ID | NAME | REQ | TYPE | MIN/MAX
752/// ----|----|-------|----|------|-------
753/// 01 | 26 | Country Code | M | ID | 2/3
754/// 02 | 522 | Amount Qualifier Code | C | ID | 1/3
755/// 03 | 782 | Monetary Amount | C | R | 1/18
756/// 04 | 488 | Percent, Integer Format | C | N0 | 1/3
757#[derive(
758    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
759)]
760pub struct CRD {
761    #[serde(rename = "01")]
762    pub _01: String,
763    #[serde(rename = "02")]
764    pub _02: Option<String>,
765    #[serde(rename = "03")]
766    pub _03: Option<crate::v005010::element::E782>,
767    #[serde(rename = "04")]
768    pub _04: Option<crate::v005010::element::E488>,
769}
770
771/// CRC - Conditions Indicator
772#[derive(
773    Serialize,
774    Deserialize,
775    Clone,
776    Default,
777    Debug,
778    Validate,
779    PartialEq,
780    Eq,
781    DisplaySegment,
782    ParseSegment,
783)]
784pub struct CRC {
785    #[serde(rename = "01")]
786    pub _01: String,
787    #[serde(rename = "02")]
788    pub _02: String,
789    #[serde(rename = "03")]
790    pub _03: String,
791    #[serde(rename = "04")]
792    pub _04: Option<String>,
793    #[serde(rename = "05")]
794    pub _05: Option<String>,
795    #[serde(rename = "06")]
796    pub _06: Option<String>,
797    #[serde(rename = "07")]
798    pub _07: Option<String>,
799}
800
801/// CTP - Pricing Information
802#[derive(
803    Serialize,
804    Deserialize,
805    Clone,
806    Default,
807    Debug,
808    Validate,
809    PartialEq,
810    Eq,
811    DisplaySegment,
812    ParseSegment,
813)]
814pub struct CTP {
815    #[serde(rename = "01")]
816    pub _01: Option<String>,
817    #[serde(rename = "02")]
818    pub _02: Option<String>,
819    #[serde(rename = "03")]
820    pub _03: Option<String>,
821    #[serde(rename = "04")]
822    pub _04: Option<String>,
823    #[serde(rename = "05")]
824    pub _05: Option<String>,
825    #[serde(rename = "06")]
826    pub _06: Option<String>,
827    #[serde(rename = "07")]
828    pub _07: Option<String>,
829    #[serde(rename = "08")]
830    pub _08: Option<String>,
831    #[serde(rename = "09")]
832    pub _09: Option<String>,
833    #[serde(rename = "10")]
834    pub _10: Option<String>,
835    #[serde(rename = "11")]
836    pub _11: Option<String>,
837}
838
839/// CRI - Claim Report Information
840///
841/// To provide claim status and reporting information for an injury, illness, or incident
842///
843/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
844/// ----|----|-------|--------|----|------|-------
845/// 01 | 875 | Maintenance Type Code | 1 | X | ID | 3/3
846/// 02 | 1029 | Claim Status Code | 1 | O | ID | 1/2
847/// 03 | 1203 | Maintenance Reason Code | 1 | O | ID | 2/3
848/// 04 | 1073 | Yes/No Condition or Response Code | 1 | O | ID | 1/1
849/// 05 | 594 | Frequency Code | 1 | O | ID | 1/1
850/// 06 | 1032 | Claim Filing Indicator Code | 1 | M | ID | 1/2
851/// 07 | 1250 | Date Time Period Format Qualifier | 1 | X | ID | 2/3
852/// 08 | 1251 | Date Time Period | 1 | X | AN | 1/35
853/// 09 | 1129 | Adjustment Reason Code Characteristic | 1 | O | ID | 1/2
854/// 10 | 9 | Late Reason Code | 1 | O | ID | 2/2
855/// 11 | 1321 | Condition Indicator | 1 | O | ID | 2/3
856#[derive(
857    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
858)]
859pub struct CRI {
860    #[serde(rename = "01")]
861    pub _01: Option<crate::v005010::element::E875>,
862    #[serde(rename = "02")]
863    pub _02: Option<crate::v005010::element::E1029>,
864    #[serde(rename = "03")]
865    pub _03: Option<crate::v005010::element::E1203>,
866    #[serde(rename = "04")]
867    pub _04: Option<crate::v005010::element::E1073>,
868    #[serde(rename = "05")]
869    pub _05: Option<crate::v005010::element::E594>,
870    #[serde(rename = "06")]
871    pub _06: crate::v005010::element::E1032,
872    #[serde(rename = "07")]
873    pub _07: Option<String>,
874    #[serde(rename = "08")]
875    pub _08: Option<String>,
876    #[serde(rename = "09")]
877    pub _09: Option<crate::v005010::element::E1129>,
878    #[serde(rename = "10")]
879    pub _10: Option<crate::v005010::element::E9>,
880    #[serde(rename = "11")]
881    pub _11: Option<crate::v005010::element::E1321>,
882}
883
884/// CUR - Currency
885#[derive(
886    Serialize,
887    Deserialize,
888    Clone,
889    Default,
890    Debug,
891    Validate,
892    PartialEq,
893    Eq,
894    DisplaySegment,
895    ParseSegment,
896)]
897pub struct CUR {
898    /// 98 - Entity Identifier Code
899    #[serde(rename = "01")]
900    pub _01: crate::v005010::element::E98,
901    /// 100 - Currency Code
902    #[serde(rename = "02")]
903    pub _02: crate::v005010::element::E100,
904    #[serde(rename = "03")]
905    pub _03: Option<String>,
906    /// 98 - Entity Identifier Code
907    #[serde(rename = "04")]
908    pub _04: Option<crate::v005010::element::E98>,
909    /// 100 - Currency Code
910    #[serde(rename = "05")]
911    pub _05: Option<crate::v005010::element::E100>,
912    #[serde(rename = "06")]
913    pub _06: Option<String>,
914    #[serde(rename = "07")]
915    pub _07: Option<String>,
916    #[serde(rename = "08")]
917    pub _08: Option<String>,
918    #[serde(rename = "09")]
919    pub _09: Option<String>,
920    #[serde(rename = "10")]
921    pub _10: Option<String>,
922    #[serde(rename = "11")]
923    pub _11: Option<String>,
924    #[serde(rename = "12")]
925    pub _12: Option<String>,
926    #[serde(rename = "13")]
927    pub _13: Option<String>,
928    #[serde(rename = "14")]
929    pub _14: Option<String>,
930    #[serde(rename = "15")]
931    pub _15: Option<String>,
932    #[serde(rename = "16")]
933    pub _16: Option<String>,
934    #[serde(rename = "17")]
935    pub _17: Option<String>,
936    #[serde(rename = "18")]
937    pub _18: Option<String>,
938    #[serde(rename = "19")]
939    pub _19: Option<String>,
940    #[serde(rename = "20")]
941    pub _20: Option<String>,
942    #[serde(rename = "21")]
943    pub _21: Option<String>,
944}
945
946/// CTX - Context
947#[derive(
948    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
949)]
950pub struct CTX {
951    #[serde(rename = "01")]
952    pub _01: Option<String>,
953    #[serde(rename = "02")]
954    pub _02: Option<String>,
955    #[serde(rename = "03")]
956    pub _03: Option<String>,
957    #[serde(rename = "04")]
958    pub _04: Option<String>,
959    #[serde(rename = "05")]
960    pub _05: Option<String>,
961    #[serde(rename = "06")]
962    pub _06: Option<String>,
963    #[serde(rename = "07")]
964    pub _07: Option<String>,
965    #[serde(rename = "08")]
966    pub _08: Option<String>,
967    #[serde(rename = "09")]
968    pub _09: Option<String>,
969    #[serde(rename = "10")]
970    pub _10: Option<String>,
971}
972
973/// CTT - Transaction Totals
974#[derive(
975    Serialize,
976    Deserialize,
977    Clone,
978    Default,
979    Debug,
980    Validate,
981    PartialEq,
982    Eq,
983    DisplaySegment,
984    ParseSegment,
985)]
986pub struct CTT {
987    #[serde(rename = "01")]
988    pub _01: String,
989    #[serde(rename = "02")]
990    pub _02: Option<String>,
991}
992
993/// CST - Cost Analysis
994///
995/// To convey cost analysis detail for a line item
996///
997/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
998/// ----|----|-------|--------|----|------|-------
999/// 01 | 964 | Cost Code | 1 | M | ID | 3/3
1000/// 02 | 782 | Monetary Amount | 1 | M | R | 1/18
1001/// 03 | C001 | Composite Unit of Measure | 1 | X | | 1/1
1002/// 04 | 380 | Quantity | 1 | X | R | 1/15
1003#[derive(
1004    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1005)]
1006pub struct CST {
1007    #[serde(rename = "01")]
1008    pub _01: crate::v005010::element::E964,
1009    #[serde(rename = "02")]
1010    pub _02: crate::v005010::element::E782,
1011    #[serde(rename = "03")]
1012    pub _03: Option<String>,
1013    #[serde(rename = "04")]
1014    pub _04: Option<String>,
1015}
1016
1017/// CTB - Restrictions/Conditions
1018#[derive(
1019    Serialize,
1020    Deserialize,
1021    Clone,
1022    Default,
1023    Debug,
1024    Validate,
1025    PartialEq,
1026    Eq,
1027    DisplaySegment,
1028    ParseSegment,
1029)]
1030pub struct CTB {
1031    /// 688 - Restrictions/Conditions Qualifier
1032    #[serde(rename = "01")]
1033    pub _01: String,
1034    /// 65 - Description
1035    #[serde(rename = "02")]
1036    pub _02: Option<String>,
1037    /// 673 - Quantity Qualifier
1038    #[serde(rename = "03")]
1039    pub _03: Option<String>,
1040    /// 380 - Quantity
1041    #[serde(rename = "04")]
1042    pub _04: Option<String>,
1043    /// 355 - Unit or Basis for Measurement Code
1044    #[serde(rename = "05")]
1045    pub _05: Option<String>,
1046    /// 782 - Monetary Amount
1047    #[serde(rename = "06")]
1048    pub _06: Option<String>,
1049    /// C001 - Composite Unit of Measure
1050    #[serde(rename = "07")]
1051    pub _07: Option<String>,
1052}
1053
1054/// CS - Contract Summary
1055///
1056/// To provide information about a contract
1057///
1058/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1059/// ----|----|-------|--------|----|------|-------
1060/// 01 | 367 | Contract Number | 1 | O | AN | 1/30
1061/// 02 | 327 | Change Order Sequence Number | 1 | O | AN | 1/8
1062/// 03 | 328 | Release Number | 1 | O | AN | 1/30
1063/// 04 | 128 | Reference Identification Qualifier | 1 | X | ID | 2/3
1064/// 05 | 127 | Reference Identification | 1 | X | AN | 1/50
1065/// 06 | 324 | Purchase Order Number | 1 | O | AN | 1/22
1066/// 07 | 560 | Special Services Code | 1 | O | ID | 2/10
1067/// 08 | 433 | F.O.B. Point Code | 1 | O | ID | 2/2
1068/// 09 | 954 | Percentage as Decimal | 1 | O | R | 1/10
1069/// 10 | 954 | Percentage as Decimal | 1 | O | R | 1/10
1070/// 11 | 782 | Monetary Amount | 1 | O | R | 1/18
1071/// 12 | 336 | Terms Type Code | 1 | O | ID | 2/2
1072/// 13 | 560 | Special Services Code | 1 | O | ID | 2/10
1073/// 14 | 355 | Unit or Basis for Measurement Code | 1 | O | ID | 2/2
1074/// 15 | 212 | Unit Price | 1 | O | R | 1/17
1075/// 16 | 336 | Terms Type Code | 1 | O | ID | 2/2
1076/// 17 | 1073 | Yes/No Condition or Response Code | 1 | O | ID | 1/1
1077/// 18 | 1073 | Yes/No Condition or Response Code | 1 | O | ID | 1/1
1078#[derive(
1079    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1080)]
1081pub struct CS {
1082    #[serde(rename = "01")]
1083    pub _01: Option<String>,
1084    #[serde(rename = "02")]
1085    pub _02: Option<String>,
1086    #[serde(rename = "03")]
1087    pub _03: Option<String>,
1088    #[serde(rename = "04")]
1089    pub _04: Option<String>,
1090    #[serde(rename = "05")]
1091    pub _05: Option<String>,
1092    #[serde(rename = "06")]
1093    pub _06: Option<String>,
1094    #[serde(rename = "07")]
1095    pub _07: Option<crate::v005010::element::E560>,
1096    #[serde(rename = "08")]
1097    pub _08: Option<crate::v005010::element::E433>,
1098    #[serde(rename = "09")]
1099    pub _09: Option<crate::v005010::element::E954>,
1100    #[serde(rename = "10")]
1101    pub _10: Option<crate::v005010::element::E954>,
1102    #[serde(rename = "11")]
1103    pub _11: Option<crate::v005010::element::E782>,
1104    #[serde(rename = "12")]
1105    pub _12: Option<String>,
1106    #[serde(rename = "13")]
1107    pub _13: Option<crate::v005010::element::E560>,
1108    #[serde(rename = "14")]
1109    pub _14: Option<String>,
1110    #[serde(rename = "15")]
1111    pub _15: Option<crate::v005010::element::E212>,
1112    #[serde(rename = "16")]
1113    pub _16: Option<String>,
1114    #[serde(rename = "17")]
1115    pub _17: Option<crate::v005010::element::E1073>,
1116    #[serde(rename = "18")]
1117    pub _18: Option<crate::v005010::element::E1073>,
1118}
1119
1120/// CSH - Sales Requirements
1121#[derive(
1122    Serialize,
1123    Deserialize,
1124    Clone,
1125    Default,
1126    Debug,
1127    Validate,
1128    PartialEq,
1129    Eq,
1130    DisplaySegment,
1131    ParseSegment,
1132)]
1133pub struct CSH {
1134    /// 563 - Sales Requirement Code
1135    #[serde(rename = "01")]
1136    pub _01: Option<String>,
1137    /// 306 - Action Code
1138    #[serde(rename = "02")]
1139    pub _02: Option<String>,
1140    /// 610 - Amount
1141    #[serde(rename = "03")]
1142    pub _03: Option<String>,
1143    /// 508 - Account Number
1144    #[serde(rename = "04")]
1145    pub _04: Option<String>,
1146    /// 373 - Date
1147    #[serde(rename = "05")]
1148    pub _05: Option<String>,
1149    /// 100 - Agency Qualifier Code
1150    #[serde(rename = "06")]
1151    pub _06: Option<String>,
1152    /// 22 - Special Services Code
1153    #[serde(rename = "07")]
1154    pub _07: Option<String>,
1155    /// 668 - Product/Service Substitution Code
1156    #[serde(rename = "08")]
1157    pub _08: Option<String>,
1158    /// 954 - Percentage as Decimal
1159    #[serde(rename = "09")]
1160    pub _09: Option<String>,
1161    /// 782 - Percent
1162    #[serde(rename = "10")]
1163    pub _10: Option<String>,
1164}
1165
1166/// CAD - Carrier Detail
1167///
1168/// To specify the carrier details
1169///
1170/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1171/// ----|----|-------|--------|----|------|-------
1172/// 01 | 100 | Transportation Method/Type Code | 1 | M | ID | 1/2
1173/// 02 | 100 | Equipment Initial | 1 | O | AN | 1/4
1174/// 03 | 100 | Equipment Number | 1 | O | AN | 1/10
1175/// 04 | 100 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
1176/// 05 | 100 | Routing | 1 | O | AN | 1/35
1177/// 06 | 100 | Shipment/Order Status Code | 1 | O | ID | 2/2
1178/// 07 | 100 | Reference Identification Qualifier | 1 | O | ID | 2/3
1179/// 08 | 100 | Reference Identification | 1 | O | AN | 1/30
1180/// 09 | 100 | Service Level Code | 1 | O | ID | 2/2
1181#[derive(
1182    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1183)]
1184pub struct CAD {
1185    #[serde(rename = "01")]
1186    pub _01: String,
1187    #[serde(rename = "02")]
1188    pub _02: Option<String>,
1189    #[serde(rename = "03")]
1190    pub _03: Option<String>,
1191    #[serde(rename = "04")]
1192    pub _04: Option<String>,
1193    #[serde(rename = "05")]
1194    pub _05: Option<String>,
1195    #[serde(rename = "06")]
1196    pub _06: Option<String>,
1197    #[serde(rename = "07")]
1198    pub _07: Option<String>,
1199    #[serde(rename = "08")]
1200    pub _08: Option<String>,
1201    #[serde(rename = "09")]
1202    pub _09: Option<String>,
1203}
1204
1205/// CD3 - Car Detail
1206///
1207/// To specify the car details
1208///
1209/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1210/// ----|----|-------|--------|----|------|-------
1211/// 01 | 100 | Equipment Initial | 1 | O | AN | 1/4
1212/// 02 | 100 | Equipment Number | 1 | O | AN | 1/10
1213/// 03 | 100 | Equipment Type | 1 | O | ID | 4/4
1214/// 04 | 100 | Equipment Number | 1 | O | AN | 1/10
1215/// 05 | 100 | Equipment Number | 1 | O | AN | 1/10
1216/// 06 | 100 | Equipment Number | 1 | O | AN | 1/10
1217/// 07 | 100 | Equipment Number | 1 | O | AN | 1/10
1218/// 08 | 100 | Equipment Number | 1 | O | AN | 1/10
1219/// 09 | 100 | Equipment Number | 1 | O | AN | 1/10
1220/// 10 | 100 | Equipment Number | 1 | O | AN | 1/10
1221/// 11 | 100 | Equipment Number | 1 | O | AN | 1/10
1222/// 12 | 100 | Equipment Number | 1 | O | AN | 1/10
1223/// 13 | 100 | Equipment Number | 1 | O | AN | 1/10
1224/// 14 | 100 | Country Code | 1 | O | ID | 2/3
1225#[derive(
1226    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1227)]
1228pub struct CD3 {
1229    #[serde(rename = "01")]
1230    pub _01: Option<String>,
1231    #[serde(rename = "02")]
1232    pub _02: Option<String>,
1233    #[serde(rename = "03")]
1234    pub _03: Option<String>,
1235    #[serde(rename = "04")]
1236    pub _04: Option<String>,
1237    #[serde(rename = "05")]
1238    pub _05: Option<String>,
1239    #[serde(rename = "06")]
1240    pub _06: Option<String>,
1241    #[serde(rename = "07")]
1242    pub _07: Option<String>,
1243    #[serde(rename = "08")]
1244    pub _08: Option<String>,
1245    #[serde(rename = "09")]
1246    pub _09: Option<String>,
1247    #[serde(rename = "10")]
1248    pub _10: Option<String>,
1249    #[serde(rename = "11")]
1250    pub _11: Option<String>,
1251    #[serde(rename = "12")]
1252    pub _12: Option<String>,
1253    #[serde(rename = "13")]
1254    pub _13: Option<String>,
1255    /// 26 - Country Code
1256    ///
1257    /// Code identifying the country
1258    /// - TYPE=ID
1259    /// - MIN=2
1260    /// - MAX=3
1261    #[serde(rename = "14")]
1262    pub _14: Option<String>,
1263}
1264
1265/// CLD - Carrier Load Details
1266///
1267/// To specify the number of units and the type of packaging for the shipment
1268///
1269/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1270/// ----|----|-------|--------|----|------|-------
1271/// 01 | 100 | Number of Units Shipped | 1 | M | N0 | 1/10
1272/// 02 | 100 | Packaging Form Code | 1 | M | ID | 3/3
1273/// 03 | 100 | Lading Quantity | 1 | O | N0 | 1/7
1274/// 04 | 100 | Weight | 1 | O | R | 1/10
1275/// 05 | 100 | Weight Unit Code | 1 | O | ID | 1/1
1276/// 06 | 100 | Volume | 1 | O | R | 1/8
1277/// 07 | 100 | Volume Unit Qualifier | 1 | O | ID | 1/1
1278/// 08 | 100 | Description | 1 | O | AN | 1/80
1279/// 09 | 100 | Lading Line Item Number | 1 | O | N0 | 1/6
1280/// 10 | 100 | Commodity Code | 1 | O | AN | 1/30
1281/// 11 | 100 | Commodity Code | 1 | O | AN | 1/30
1282/// 12 | 100 | Commodity Code | 1 | O | AN | 1/30
1283/// 13 | 100 | Commodity Code | 1 | O | AN | 1/30
1284/// 14 | 100 | Commodity Code | 1 | O | AN | 1/30
1285/// 15 | 100 | Commodity Code | 1 | O | AN | 1/30
1286/// 16 | 100 | Commodity Code | 1 | O | AN | 1/30
1287/// 17 | 100 | Commodity Code | 1 | O | AN | 1/30
1288/// 18 | 100 | Commodity Code | 1 | O | AN | 1/30
1289/// 19 | 100 | Commodity Code | 1 | O | AN | 1/30
1290/// 20 | 100 | Commodity Code | 1 | O | AN | 1/30
1291#[derive(
1292    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1293)]
1294pub struct CLD {
1295    #[serde(rename = "01")]
1296    pub _01: String,
1297    #[serde(rename = "02")]
1298    pub _02: String,
1299    #[serde(rename = "03")]
1300    pub _03: Option<String>,
1301    #[serde(rename = "04")]
1302    pub _04: Option<String>,
1303    #[serde(rename = "05")]
1304    pub _05: Option<String>,
1305    #[serde(rename = "06")]
1306    pub _06: Option<String>,
1307    #[serde(rename = "07")]
1308    pub _07: Option<String>,
1309    #[serde(rename = "08")]
1310    pub _08: Option<String>,
1311    #[serde(rename = "09")]
1312    pub _09: Option<String>,
1313    #[serde(rename = "10")]
1314    pub _10: Option<String>,
1315    #[serde(rename = "11")]
1316    pub _11: Option<String>,
1317    #[serde(rename = "12")]
1318    pub _12: Option<String>,
1319    #[serde(rename = "13")]
1320    pub _13: Option<String>,
1321    #[serde(rename = "14")]
1322    pub _14: Option<String>,
1323    #[serde(rename = "15")]
1324    pub _15: Option<String>,
1325    #[serde(rename = "16")]
1326    pub _16: Option<String>,
1327    #[serde(rename = "17")]
1328    pub _17: Option<String>,
1329    #[serde(rename = "18")]
1330    pub _18: Option<String>,
1331    #[serde(rename = "19")]
1332    pub _19: Option<String>,
1333    #[serde(rename = "20")]
1334    pub _20: Option<String>,
1335}
1336
1337/// C2 - Currency
1338///
1339/// To specify the currency used in the transaction
1340///
1341/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1342/// ----|----|-------|--------|----|------|-------
1343/// 01 | 100 | Currency Code | 1 | M | ID | 3/3
1344/// 02 | 100 | Exchange Rate | 1 | O | R | 1/15
1345/// 03 | 100 | Currency Code | 1 | O | ID | 3/3
1346/// 04 | 100 | Exchange Rate | 1 | O | R | 1/15
1347/// 05 | 100 | Currency Code | 1 | O | ID | 3/3
1348/// 06 | 100 | Exchange Rate | 1 | O | R | 1/15
1349/// 07 | 100 | Currency Code | 1 | O | ID | 3/3
1350#[derive(
1351    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1352)]
1353pub struct C2 {
1354    #[serde(rename = "01")]
1355    pub _01: String,
1356    #[serde(rename = "02")]
1357    pub _02: String,
1358    #[serde(rename = "03")]
1359    pub _03: String,
1360    #[serde(rename = "04")]
1361    pub _04: Option<String>,
1362    #[serde(rename = "05")]
1363    pub _05: Option<String>,
1364    #[serde(rename = "06")]
1365    pub _06: Option<String>,
1366    #[serde(rename = "07")]
1367    pub _07: Option<String>,
1368}
1369
1370/// C3 - Currency
1371///
1372/// To specify the currency used in the transaction
1373///
1374/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1375/// ----|----|-------|--------|----|------|-------
1376/// 01 | 100 | Currency Code | 1 | M | ID | 3/3
1377/// 02 | 100 | Exchange Rate | 1 | O | R | 1/15
1378/// 03 | 100 | Currency Code | 1 | O | ID | 3/3
1379/// 04 | 100 | Exchange Rate | 1 | O | R | 1/15
1380#[derive(
1381    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1382)]
1383pub struct C3 {
1384    #[serde(rename = "01")]
1385    pub _01: String,
1386    #[serde(rename = "02")]
1387    pub _02: Option<String>,
1388    #[serde(rename = "03")]
1389    pub _03: Option<String>,
1390    #[serde(rename = "04")]
1391    pub _04: Option<String>,
1392}
1393
1394/// C8 - Certificate of Compliance
1395///
1396/// To specify certificate of compliance information
1397///
1398/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1399/// ----|----|-------|--------|----|------|-------
1400/// 01 | 100 | Certificate Type Code | 1 | O | ID | 2/2
1401/// 02 | 100 | Certificate Number | 1 | O | AN | 1/30
1402/// 03 | 100 | Certificate Number | 1 | O | AN | 1/30
1403/// 04 | 100 | Certificate Number | 1 | O | AN | 1/30
1404#[derive(
1405    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1406)]
1407pub struct C8 {
1408    #[serde(rename = "01")]
1409    pub _01: Option<String>,
1410    #[serde(rename = "02")]
1411    pub _02: Option<String>,
1412    #[serde(rename = "03")]
1413    pub _03: Option<String>,
1414    #[serde(rename = "04")]
1415    pub _04: Option<String>,
1416}
1417
1418/// C8C - Certificate of Compliance
1419///
1420/// To specify certificate of compliance information
1421///
1422/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1423/// ----|----|-------|--------|----|------|-------
1424/// 01 | 100 | Certificate Type Code | 1 | M | ID | 2/2
1425/// 02 | 100 | Certificate Number | 1 | O | AN | 1/30
1426/// 03 | 100 | Certificate Number | 1 | O | AN | 1/30
1427#[derive(
1428    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1429)]
1430pub struct C8C {
1431    #[serde(rename = "01")]
1432    pub _01: String,
1433    #[serde(rename = "02")]
1434    pub _02: Option<String>,
1435    #[serde(rename = "03")]
1436    pub _03: Option<String>,
1437}
1438
1439/// CM - Cargo Manifest
1440#[derive(
1441    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1442)]
1443pub struct CM {
1444    #[serde(rename = "01")]
1445    pub _01: Option<String>,
1446    #[serde(rename = "02")]
1447    pub _02: Option<String>,
1448    #[serde(rename = "03")]
1449    pub _03: Option<String>,
1450    #[serde(rename = "04")]
1451    pub _04: Option<String>,
1452    #[serde(rename = "05")]
1453    pub _05: Option<String>,
1454    #[serde(rename = "06")]
1455    pub _06: Option<String>,
1456    #[serde(rename = "07")]
1457    pub _07: Option<String>,
1458    #[serde(rename = "08")]
1459    pub _08: Option<String>,
1460    #[serde(rename = "09")]
1461    pub _09: Option<String>,
1462    #[serde(rename = "10")]
1463    pub _10: Option<String>,
1464    #[serde(rename = "11")]
1465    pub _11: Option<String>,
1466    #[serde(rename = "12")]
1467    pub _12: Option<String>,
1468    #[serde(rename = "13")]
1469    pub _13: Option<String>,
1470    #[serde(rename = "14")]
1471    pub _14: Option<String>,
1472    #[serde(rename = "15")]
1473    pub _15: Option<String>,
1474    #[serde(rename = "16")]
1475    pub _16: Option<String>,
1476    #[serde(rename = "17")]
1477    pub _17: Option<String>,
1478}
1479
1480/// CD - Shipment Condition
1481#[derive(
1482    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1483)]
1484pub struct CD {
1485    #[serde(rename = "01")]
1486    pub _01: String,
1487    #[serde(rename = "02")]
1488    pub _02: Option<String>,
1489    #[serde(rename = "03")]
1490    pub _03: Option<String>,
1491    #[serde(rename = "04")]
1492    pub _04: Option<String>,
1493    #[serde(rename = "05")]
1494    pub _05: Option<String>,
1495    #[serde(rename = "06")]
1496    pub _06: Option<String>,
1497    #[serde(rename = "07")]
1498    pub _07: Option<String>,
1499    #[serde(rename = "08")]
1500    pub _08: Option<String>,
1501    #[serde(rename = "09")]
1502    pub _09: Option<String>,
1503    #[serde(rename = "10")]
1504    pub _10: Option<String>,
1505    #[serde(rename = "11")]
1506    pub _11: Option<String>,
1507}