Skip to main content

x12_types/v005010/segment/
v.rs

1use serde::{Deserialize, Serialize};
2use x12_types_macros::{DisplaySegment, ParseSegment};
3
4/// VEH - Vehicle Information
5#[derive(
6    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
7)]
8pub struct VEH {
9    #[serde(rename = "01")]
10    pub _01: Option<String>,
11    #[serde(rename = "02")]
12    pub _02: Option<String>,
13    #[serde(rename = "03")]
14    pub _03: Option<String>,
15    #[serde(rename = "04")]
16    pub _04: Option<String>,
17    #[serde(rename = "05")]
18    pub _05: Option<String>,
19    #[serde(rename = "06")]
20    pub _06: Option<String>,
21    #[serde(rename = "07")]
22    pub _07: Option<String>,
23    #[serde(rename = "08")]
24    pub _08: Option<String>,
25    #[serde(rename = "09")]
26    pub _09: Option<String>,
27    #[serde(rename = "10")]
28    pub _10: Option<String>,
29    #[serde(rename = "11")]
30    pub _11: Option<String>,
31    #[serde(rename = "12")]
32    pub _12: Option<String>,
33    #[serde(rename = "13")]
34    pub _13: Option<String>,
35    #[serde(rename = "14")]
36    pub _14: Option<String>,
37    #[serde(rename = "15")]
38    pub _15: Option<String>,
39    #[serde(rename = "16")]
40    pub _16: Option<String>,
41    #[serde(rename = "17")]
42    pub _17: Option<String>,
43    #[serde(rename = "18")]
44    pub _18: Option<String>,
45    #[serde(rename = "19")]
46    pub _19: Option<String>,
47    #[serde(rename = "20")]
48    pub _20: Option<String>,
49    #[serde(rename = "21")]
50    pub _21: Option<String>,
51    #[serde(rename = "22")]
52    pub _22: Option<String>,
53    #[serde(rename = "23")]
54    pub _23: Option<String>,
55    #[serde(rename = "24")]
56    pub _24: Option<String>,
57    #[serde(rename = "25")]
58    pub _25: Option<String>,
59}
60
61/// VC - Motor Vehicle Control
62///
63/// To define motor vehicle control detail for the transport of vehicles
64///
65/// REF | ID | NAME | REQ | TYPE | MIN/MAX
66/// ----|----|-------|----|------|-------
67/// 01 | 539 | Vehicle Identification Number | M | AN | 1/30
68/// 02 | 836 | Vehicle Deck Position Code | O | ID | 2/2
69/// 03 | 837 | Vehicle Type Code | O | ID | 1/1
70/// 04 | 838 | Dealer Code | O | AN | 2/9
71/// 05 | 1 | Route Code | O | AN | 1/13
72/// 06 | 839 | Bay Location | O | AN | 1/6
73/// 07 | 833 | Automotive Manufacturers Code | O | ID | 2/2
74/// 08 | 308 | Damage Exception Indicator | O | ID | 1/1
75/// 09 | 835 | Supplemental Inspection Code | O | ID | 1/1
76/// 10 | 583 | Factory Car Order Number | O | AN | 6/10
77/// 11 | 877 | Vessel Stowage Location | O | AN | 1/12
78/// 12 | 1543 | Equipment Orientation Code | O | ID | 1/1
79/// 13 | 310 | Location Identifier | O | AN | 1/30
80#[derive(
81    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
82)]
83pub struct VC {
84    #[serde(rename = "01")]
85    pub _01: String,
86    #[serde(rename = "02")]
87    pub _02: Option<crate::v005010::element::E836>,
88    #[serde(rename = "03")]
89    pub _03: Option<crate::v005010::element::E837>,
90    #[serde(rename = "04")]
91    pub _04: Option<String>,
92    #[serde(rename = "05")]
93    pub _05: Option<String>,
94    #[serde(rename = "06")]
95    pub _06: Option<String>,
96    #[serde(rename = "07")]
97    pub _07: Option<String>,
98    #[serde(rename = "08")]
99    pub _08: Option<crate::v005010::element::E308>,
100    #[serde(rename = "09")]
101    pub _09: Option<crate::v005010::element::E835>,
102    #[serde(rename = "10")]
103    pub _10: Option<String>,
104    #[serde(rename = "11")]
105    pub _11: Option<String>,
106    #[serde(rename = "12")]
107    pub _12: Option<crate::v005010::element::E1543>,
108    #[serde(rename = "13")]
109    pub _13: Option<String>,
110}
111
112/// VID - Conveyance Identification
113///
114/// To identify a conveyance and its physical characteristics
115///
116/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
117/// ----|----|-------|--------|----|------|-------
118/// 01 | 40 | Equipment Description Code | 1 | M | ID | 2/2
119/// 02 | 206 | Equipment Initial | 1 | O | AN | 1/4
120/// 03 | 207 | Equipment Number | 1 | M | AN | 1/15
121/// 04 | 225 | Seal Number | 1 | O | AN | 2/15
122/// 05 | 225 | Seal Number | 1 | O | AN | 2/15
123/// 06 | 567 | Equipment Length | 1 | O | N0 | 4/5
124/// 07 | 65 | Height | 1 | O | R | 1/8
125/// 08 | 189 | Width | 1 | O | R | 1/8
126/// 09 | 24 | Equipment Type | 1 | O | ID | 4/4
127/// 10 | 322 | Load/Empty Status Code | 1 | O | ID | 1/1
128/// 11 | 56 | Type of Service Code | 1 | O | ID | 2/2
129/// 12 | 310 | Location Identifier | 1 | O | AN | 1/30
130/// 13 | 140 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
131#[derive(
132    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
133)]
134pub struct VID {
135    #[serde(rename = "01")]
136    pub _01: String,
137    #[serde(rename = "02")]
138    pub _02: Option<String>,
139    #[serde(rename = "03")]
140    pub _03: String,
141    #[serde(rename = "04")]
142    pub _04: Option<String>,
143    #[serde(rename = "05")]
144    pub _05: Option<String>,
145    #[serde(rename = "06")]
146    pub _06: Option<crate::v005010::element::E567>,
147    #[serde(rename = "07")]
148    pub _07: Option<crate::v005010::element::E65>,
149    #[serde(rename = "08")]
150    pub _08: Option<crate::v005010::element::E189>,
151    #[serde(rename = "09")]
152    pub _09: Option<String>,
153    #[serde(rename = "10")]
154    pub _10: Option<crate::v005010::element::E322>,
155    #[serde(rename = "11")]
156    pub _11: Option<String>,
157    #[serde(rename = "12")]
158    pub _12: Option<String>,
159    #[serde(rename = "13")]
160    pub _13: Option<String>,
161}
162
163/// V1 - Vessel Identification
164///
165/// To specify the vessel information
166///
167/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
168/// ----|----|-------|--------|----|------|-------
169/// 01 | 127 | Reference Identification | 1 | M | AN | 1/30
170/// 02 | 127 | Reference Identification | 1 | O | AN | 1/30
171/// 03 | 127 | Reference Identification | 1 | O | AN | 1/30
172/// 04 | 127 | Reference Identification | 1 | O | AN | 1/30
173/// 05 | 127 | Reference Identification | 1 | O | AN | 1/30
174/// 06 | 127 | Reference Identification | 1 | O | AN | 1/30
175/// 07 | 127 | Reference Identification | 1 | O | AN | 1/30
176/// 08 | 127 | Reference Identification | 1 | O | AN | 1/30
177/// 09 | 127 | Reference Identification | 1 | O | AN | 1/30
178/// 10 | 127 | Reference Identification | 1 | O | AN | 1/30
179#[derive(
180    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
181)]
182pub struct V1 {
183    #[serde(rename = "01")]
184    pub _01: String,
185    #[serde(rename = "02")]
186    pub _02: Option<String>,
187    #[serde(rename = "03")]
188    pub _03: Option<String>,
189    #[serde(rename = "04")]
190    pub _04: Option<String>,
191    #[serde(rename = "05")]
192    pub _05: Option<String>,
193    #[serde(rename = "06")]
194    pub _06: Option<String>,
195    #[serde(rename = "07")]
196    pub _07: Option<String>,
197    #[serde(rename = "08")]
198    pub _08: Option<String>,
199    #[serde(rename = "09")]
200    pub _09: Option<String>,
201    #[serde(rename = "10")]
202    pub _10: Option<String>,
203}
204
205/// V3 - Vessel Schedule
206///
207/// To provide the ports of call and the estimated arrival and departure dates
208///
209/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
210/// ----|----|-------|--------|----|------|-------
211/// 01 | 318 | Current Port of Loading | 1 | M | AN | 2/24
212/// 02 | 373 | Date | 1 | M | DT | 8/8
213/// 03 | 316 | Next Port of Discharge | 1 | O | AN | 2/24
214/// 04 | 373 | Date | 1 | O | DT | 8/8
215#[derive(
216    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
217)]
218pub struct V3 {
219    #[serde(rename = "01")]
220    pub _01: String,
221    #[serde(rename = "02")]
222    pub _02: String,
223    #[serde(rename = "03")]
224    pub _03: Option<String>,
225    #[serde(rename = "04")]
226    pub _04: Option<String>,
227}
228
229/// V4 - Vessel Information
230///
231/// To specify the vessel information
232///
233/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
234/// ----|----|-------|--------|----|------|-------
235/// 01 | 127 | Reference Identification | 1 | M | AN | 1/30
236/// 02 | 127 | Reference Identification | 1 | O | AN | 1/30
237/// 03 | 127 | Reference Identification | 1 | O | AN | 1/30
238/// 04 | 127 | Reference Identification | 1 | O | AN | 1/30
239/// 05 | 127 | Reference Identification | 1 | O | AN | 1/30
240/// 06 | 127 | Reference Identification | 1 | O | AN | 1/30
241/// 07 | 127 | Reference Identification | 1 | O | AN | 1/30
242/// 08 | 127 | Reference Identification | 1 | O | AN | 1/30
243/// 09 | 127 | Reference Identification | 1 | O | AN | 1/30
244/// 10 | 127 | Reference Identification | 1 | O | AN | 1/30
245#[derive(
246    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
247)]
248pub struct V4 {
249    #[serde(rename = "01")]
250    pub _01: String,
251    #[serde(rename = "02")]
252    pub _02: Option<String>,
253    #[serde(rename = "03")]
254    pub _03: Option<String>,
255    #[serde(rename = "04")]
256    pub _04: Option<String>,
257    #[serde(rename = "05")]
258    pub _05: Option<String>,
259    #[serde(rename = "06")]
260    pub _06: Option<String>,
261    #[serde(rename = "07")]
262    pub _07: Option<String>,
263    #[serde(rename = "08")]
264    pub _08: Option<String>,
265    #[serde(rename = "09")]
266    pub _09: Option<String>,
267    #[serde(rename = "10")]
268    pub _10: Option<String>,
269}
270
271/// V9 - Event Detail
272///
273/// To specify the event information
274///
275/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
276/// ----|----|-------|--------|----|------|-------
277/// 01 | 127 | Reference Identification | 1 | M | AN | 1/30
278/// 02 | 127 | Reference Identification | 1 | O | AN | 1/30
279/// 03 | 127 | Reference Identification | 1 | O | AN | 1/30
280/// 04 | 127 | Reference Identification | 1 | O | AN | 1/30
281/// 05 | 127 | Reference Identification | 1 | O | AN | 1/30
282/// 06 | 127 | Reference Identification | 1 | O | AN | 1/30
283/// 07 | 127 | Reference Identification | 1 | O | AN | 1/30
284/// 08 | 127 | Reference Identification | 1 | O | AN | 1/30
285/// 09 | 127 | Reference Identification | 1 | O | AN | 1/30
286/// 10 | 127 | Reference Identification | 1 | O | AN | 1/30
287#[derive(
288    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
289)]
290pub struct V9 {
291    #[serde(rename = "01")]
292    pub _01: String,
293    #[serde(rename = "02")]
294    pub _02: Option<String>,
295    #[serde(rename = "03")]
296    pub _03: Option<String>,
297    #[serde(rename = "04")]
298    pub _04: Option<String>,
299    #[serde(rename = "05")]
300    pub _05: Option<String>,
301    #[serde(rename = "06")]
302    pub _06: Option<String>,
303    #[serde(rename = "07")]
304    pub _07: Option<String>,
305    #[serde(rename = "08")]
306    pub _08: Option<String>,
307    #[serde(rename = "09")]
308    pub _09: Option<String>,
309    #[serde(rename = "10")]
310    pub _10: Option<String>,
311}