Skip to main content

x12_types/v005010/segment/
y.rs

1use serde::{Deserialize, Serialize};
2use x12_types_macros::{DisplaySegment, ParseSegment};
3
4/// YNQ - Yes/No Question
5///
6/// To identify and answer yes and no questions, including conditional questions, used throughout the transaction set
7///
8/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
9/// ----|----|-------|--------|----|------|-------
10/// 01 | 1021 | Assigned Identification | 1 | M | AN | 1/20
11/// 02 | 1073 | Yes/No Condition or Response Code | 1 | M | ID | 1/1
12/// 03 | 1250 | Shipment Status Code | 1 | O | ID | 2/2
13/// 04 | 1251 | Shipment Status or Appointments Reason Code | 1 | O | ID | 2/2
14/// 05 | 1252 | Shipment Status or Appointments Reason Code | 1 | O | ID | 2/2
15/// 06 | 1253 | Shipment Status or Appointments Reason Code | 1 | O | ID | 2/2
16/// 07 | 1254 | Shipment Status or Appointments Reason Code | 1 | O | ID | 2/2
17/// 08 | 1255 | Shipment Status or Appointments Reason Code | 1 | O | ID | 2/2
18/// 09 | 1256 | Shipment Status or Appointments Reason Code | 1 | O | ID | 2/2
19/// 10 | 1257 | Shipment Status or Appointments Reason Code | 1 | O | ID | 2/2
20#[derive(
21    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
22)]
23pub struct YNQ {
24    #[serde(rename = "01")]
25    pub _01: crate::v005010::element::E1021,
26    #[serde(rename = "02")]
27    pub _02: crate::v005010::element::E1073,
28    #[serde(rename = "03")]
29    pub _03: Option<String>,
30    #[serde(rename = "04")]
31    pub _04: Option<String>,
32    #[serde(rename = "05")]
33    pub _05: Option<String>,
34    #[serde(rename = "06")]
35    pub _06: Option<String>,
36    #[serde(rename = "07")]
37    pub _07: Option<crate::v005010::element::E1254>,
38    #[serde(rename = "08")]
39    pub _08: Option<String>,
40    #[serde(rename = "09")]
41    pub _09: Option<String>,
42    #[serde(rename = "10")]
43    pub _10: Option<crate::v005010::element::E1257>,
44}
45
46/// Y2 - Container Details
47///
48/// To specify the container details for an ocean shipment
49///
50/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
51/// ----|----|-------|--------|----|------|-------
52/// 01 | 95 | Number of Containers | 1 | M | N0 | 1/4
53/// 02 | 78 | Container Type Request Code | 1 | O | ID | 1/1
54/// 03 | 56 | Type of Service Code | 1 | O | ID | 2/2
55/// 04 | 24 | Equipment Type | 1 | M | ID | 4/4
56/// 05 | 91 | Transportation Method/Type Code | 1 | O | ID | 1/2
57/// 06 | 177 | Intermodal Service Code | 1 | O | ID | 1/2
58/// 07 | 140 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
59/// 08 | 464 | Container Terms Code | 1 | O | ID | 3/3
60/// 09 | 465 | Container Terms Code Qualifier | 1 | O | ID | 1/1
61/// 10 | 466 | Total Stop-offs | 1 | O | N0 | 1/2
62#[derive(
63    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
64)]
65pub struct Y2 {
66    #[serde(rename = "01")]
67    pub _01: crate::v005010::element::E95,
68    #[serde(rename = "02")]
69    pub _02: Option<crate::v005010::element::E78>,
70    #[serde(rename = "03")]
71    pub _03: Option<String>,
72    #[serde(rename = "04")]
73    pub _04: String,
74    #[serde(rename = "05")]
75    pub _05: Option<String>,
76    #[serde(rename = "06")]
77    pub _06: Option<String>,
78    #[serde(rename = "07")]
79    pub _07: Option<String>,
80    #[serde(rename = "08")]
81    pub _08: Option<String>,
82    #[serde(rename = "09")]
83    pub _09: Option<crate::v005010::element::E465>,
84    #[serde(rename = "10")]
85    pub _10: Option<crate::v005010::element::E466>,
86}
87
88/// Y6 - Authentication
89///
90/// To authenticate the booking or its amendment, and to identify the authorizing party
91///
92/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
93/// ----|----|-------|--------|----|------|-------
94/// 01 | 313 | Authority Identifier Code | 1 | O | ID | 2/2
95/// 02 | 151 | Authority | 1 | M | AN | 1/20
96/// 03 | 275 | Authorization Date | 1 | M | DT | 8/8
97#[derive(
98    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
99)]
100pub struct Y6 {
101    #[serde(rename = "01")]
102    pub _01: Option<crate::v005010::element::E313>,
103    #[serde(rename = "02")]
104    pub _02: String,
105    #[serde(rename = "03")]
106    pub _03: crate::v005010::element::E275,
107}
108
109/// Y1 - Space Reservation Request
110///
111/// To request space reservation aboard an ocean vessel
112///
113/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
114/// ----|----|-------|--------|----|------|-------
115/// 01 | 135 | Sailing/Flight Date Estimated | 1 | O | DT | 8/8
116/// 02 | 373 | Date | 1 | X | DT | 8/8
117/// 03 | 140 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
118/// 04 | 91 | Transportation Method/Type Code | 1 | O | ID | 1/2
119/// 05 | 98 | Entity Identifier Code | 1 | O | ID | 2/3
120/// 06 | 19 | City Name | 1 | O | AN | 2/30
121/// 07 | 156 | State or Province Code | 1 | O | ID | 2/2
122/// 08 | 375 | Tariff Service Code | 1 | O | ID | 2/2
123/// 09 | 374 | Date/Time Qualifier | 1 | X | ID | 3/3
124#[derive(
125    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
126)]
127pub struct Y1 {
128    #[serde(rename = "01")]
129    pub _01: Option<crate::v005010::element::E135>,
130    #[serde(rename = "02")]
131    pub _02: Option<String>,
132    #[serde(rename = "03")]
133    pub _03: Option<String>,
134    #[serde(rename = "04")]
135    pub _04: Option<String>,
136    #[serde(rename = "05")]
137    pub _05: Option<String>,
138    #[serde(rename = "06")]
139    pub _06: Option<String>,
140    #[serde(rename = "07")]
141    pub _07: Option<String>,
142    #[serde(rename = "08")]
143    pub _08: Option<crate::v005010::element::E375>,
144    #[serde(rename = "09")]
145    pub _09: Option<String>,
146}
147
148/// Y3 - Space Confirmation
149///
150/// To confirm space reservation aboard an ocean vessel
151///
152/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
153/// ----|----|-------|--------|----|------|-------
154/// 01 | 13 | Booking Number | 1 | M | AN | 1/17
155/// 02 | 140 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
156/// 03 | 373 | Date | 1 | O | DT | 8/8
157/// 04 | 373 | Date | 1 | O | DT | 8/8
158/// 05 | 154 | Standard Point Location Code | 1 | O | ID | 6/9
159/// 06 | 112 | Pier Name | 1 | O | AN | 2/14
160/// 07 | 373 | Date | 1 | O | DT | 8/8
161/// 08 | 337 | Time | 1 | X | TM | 4/8
162/// 09 | 91 | Transportation Method/Type Code | 1 | O | ID | 1/2
163/// 10 | 375 | Tariff Service Code | 1 | O | ID | 2/2
164/// 11 | 623 | Time Code | 1 | O | ID | 2/2
165#[derive(
166    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
167)]
168pub struct Y3 {
169    #[serde(rename = "01")]
170    pub _01: String,
171    #[serde(rename = "02")]
172    pub _02: Option<String>,
173    #[serde(rename = "03")]
174    pub _03: Option<String>,
175    #[serde(rename = "04")]
176    pub _04: Option<String>,
177    #[serde(rename = "05")]
178    pub _05: Option<String>,
179    #[serde(rename = "06")]
180    pub _06: Option<String>,
181    #[serde(rename = "07")]
182    pub _07: Option<String>,
183    #[serde(rename = "08")]
184    pub _08: Option<String>,
185    #[serde(rename = "09")]
186    pub _09: Option<String>,
187    #[serde(rename = "10")]
188    pub _10: Option<crate::v005010::element::E375>,
189    #[serde(rename = "11")]
190    pub _11: Option<crate::v005010::element::E623>,
191}
192
193/// Y4 - Container Release
194///
195/// To transmit information relative to containers available for release
196///
197/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
198/// ----|----|-------|--------|----|------|-------
199/// 01 | 13 | Booking Number | 1 | O | AN | 1/17
200/// 02 | 13 | Booking Number | 1 | O | AN | 1/17
201/// 03 | 373 | Date | 1 | O | DT | 8/8
202/// 04 | 154 | Standard Point Location Code | 1 | O | ID | 6/9
203/// 05 | 95 | Number of Containers | 1 | O | N0 | 1/4
204/// 06 | 24 | Equipment Type | 1 | O | ID | 4/4
205/// 07 | 140 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
206/// 08 | 309 | Location Qualifier | 1 | X | ID | 1/2
207/// 09 | 310 | Location Identifier | 1 | X | AN | 1/30
208/// 10 | 56 | Type of Service Code | 1 | O | ID | 2/2
209#[derive(
210    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
211)]
212pub struct Y4 {
213    #[serde(rename = "01")]
214    pub _01: Option<String>,
215    #[serde(rename = "02")]
216    pub _02: Option<String>,
217    #[serde(rename = "03")]
218    pub _03: Option<String>,
219    #[serde(rename = "04")]
220    pub _04: Option<String>,
221    #[serde(rename = "05")]
222    pub _05: Option<crate::v005010::element::E95>,
223    #[serde(rename = "06")]
224    pub _06: Option<String>,
225    #[serde(rename = "07")]
226    pub _07: Option<String>,
227    #[serde(rename = "08")]
228    pub _08: Option<String>,
229    #[serde(rename = "09")]
230    pub _09: Option<String>,
231    #[serde(rename = "10")]
232    pub _10: Option<String>,
233}
234
235/// Y5 - Space Booking Cancellation
236///
237/// To cancel a previously requested space booking aboard an ocean vessel
238///
239/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
240/// ----|----|-------|--------|----|------|-------
241/// 01 | 13 | Booking Number | 1 | M | AN | 1/17
242#[derive(
243    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
244)]
245pub struct Y5 {
246    #[serde(rename = "01")]
247    pub _01: String,
248}
249
250/// Y7 - Cargo Booking Priority
251///
252/// To provide cargo booking priority and associated handling information
253///
254/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
255/// ----|----|-------|--------|----|------|-------
256/// 01 | 467 | Priority | 1 | O | N0 | 1/1
257/// 02 | 470 | Priority Code | 1 | X | N0 | 1/1
258/// 03 | 471 | Priority Code Qualifier | 1 | X | AN | 1/1
259/// 04 | 468 | Port Call File Number | 1 | O | N0 | 4/4
260/// 05 | 373 | Date | 1 | O | DT | 8/8
261#[derive(
262    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
263)]
264pub struct Y7 {
265    #[serde(rename = "01")]
266    pub _01: Option<crate::v005010::element::E467>,
267    #[serde(rename = "02")]
268    pub _02: Option<crate::v005010::element::E470>,
269    #[serde(rename = "03")]
270    pub _03: Option<String>,
271    #[serde(rename = "04")]
272    pub _04: Option<crate::v005010::element::E468>,
273    #[serde(rename = "05")]
274    pub _05: Option<String>,
275}