Skip to main content

x12_types/v005010/segment/
b.rs

1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5/// BLN - Balance Information
6///
7/// To provide specific balance 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 | 373 | Date | O | DT | 8/8
15/// 05 | 337 | Time | X | TM | 4/8
16/// 06 | 623 | Time Code | O | ID | 2/2
17#[derive(
18    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
19)]
20pub struct BLN {
21    #[serde(rename = "01")]
22    pub _01: String,
23    #[serde(rename = "02")]
24    pub _02: String,
25    #[serde(rename = "03")]
26    pub _03: crate::v005010::element::E782,
27    #[serde(rename = "04")]
28    pub _04: Option<String>,
29    #[serde(rename = "05")]
30    pub _05: Option<String>,
31    #[serde(rename = "06")]
32    pub _06: Option<crate::v005010::element::E623>,
33}
34
35/// BAT - Batch Information
36///
37/// To identify a batch within a deposit
38///
39/// REF | ID | NAME | REQ | TYPE | MIN/MAX
40/// ----|----|-------|----|------|-------
41/// 01 | 373 | Date | C | DT | 8/8
42/// 02 | 337 | Time | O | TM | 4/8
43/// 03 | 127 | Reference Identification | C | AN | 1/50
44/// 04 | 894 | Batch Type Code | O | ID | 2/2
45#[derive(
46    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
47)]
48pub struct BAT {
49    #[serde(rename = "01")]
50    pub _01: Option<String>,
51    #[serde(rename = "02")]
52    pub _02: Option<String>,
53    #[serde(rename = "03")]
54    pub _03: Option<String>,
55    #[serde(rename = "04")]
56    pub _04: Option<crate::v005010::element::E894>,
57}
58
59/// B13 - Beginning Segment for Transportation Appointment Schedule
60///
61/// To transmit identifying information for the appointment schedule transaction set
62///
63/// REF | ID | NAME | REQ | TYPE | MIN/MAX
64/// ----|----|-------|----|------|-------
65/// 01 | 127 | Reference Identification | M | AN | 1/50
66/// 02 | 140 | Standard Carrier Alpha Code | O | ID | 2/4
67#[derive(
68    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
69)]
70pub struct B13 {
71    #[serde(rename = "01")]
72    pub _01: String,
73    #[serde(rename = "02")]
74    pub _02: Option<String>,
75}
76
77/// BCI - Basic Claim Information
78///
79/// To provide basic claim information
80///
81/// REF | ID | NAME | REQ | TYPE | MIN/MAX
82/// ----|----|-------|----|------|-------
83/// 01 | 1271 | Industry Code | O | AN | 1/30
84/// 02 | 1336 | Insurance Type Code | O | ID | 1/3
85/// 03 | 127 | Reference Identification | O | AN | 1/50
86/// 04 | 156 | State or Province Code | O | ID | 2/2
87/// 05 | 1250 | Date Time Period Format Qualifier | C | ID | 2/3
88/// 06 | 1251 | Date Time Period | C | AN | 1/35
89/// 07 | 755 | Report Type Code | O | ID | 2/2
90/// 08 | 100 | Currency Code | O | ID | 3/3
91#[derive(
92    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
93)]
94pub struct BCI {
95    #[serde(rename = "01")]
96    pub _01: Option<String>,
97    #[serde(rename = "02")]
98    pub _02: Option<crate::v005010::element::E1336>,
99    #[serde(rename = "03")]
100    pub _03: Option<String>,
101    #[serde(rename = "04")]
102    pub _04: Option<String>,
103    #[serde(rename = "05")]
104    pub _05: Option<String>,
105    #[serde(rename = "06")]
106    pub _06: Option<String>,
107    #[serde(rename = "07")]
108    pub _07: Option<crate::v005010::element::E755>,
109    #[serde(rename = "08")]
110    pub _08: Option<String>,
111}
112
113/// BEN - Financial Contribution
114#[derive(
115    Serialize,
116    Deserialize,
117    Clone,
118    Default,
119    Debug,
120    Validate,
121    PartialEq,
122    Eq,
123    DisplaySegment,
124    ParseSegment,
125)]
126pub struct BEN {
127    #[serde(rename = "01")]
128    pub _01: String,
129    #[serde(rename = "02")]
130    pub _02: Option<String>,
131    #[serde(rename = "03")]
132    pub _03: Option<String>,
133    #[serde(rename = "04")]
134    pub _04: Option<String>,
135    #[serde(rename = "05")]
136    pub _05: Option<String>,
137    #[serde(rename = "06")]
138    pub _06: Option<String>,
139}
140
141/// BGN - Beginning Segment
142#[derive(
143    Serialize,
144    Deserialize,
145    Clone,
146    Default,
147    Debug,
148    Validate,
149    PartialEq,
150    Eq,
151    DisplaySegment,
152    ParseSegment,
153)]
154pub struct BGN {
155    /// 353 - Transaction Set Purpose Code
156    #[serde(rename = "01")]
157    pub _01: crate::v005010::element::E353,
158    #[serde(rename = "02")]
159    pub _02: String,
160    /// 373 - Date
161    #[serde(rename = "03")]
162    pub _03: crate::v005010::element::E373,
163    /// 337 - Time
164    #[serde(rename = "04")]
165    pub _04: Option<crate::v005010::element::E337>,
166    #[serde(rename = "05")]
167    pub _05: Option<String>,
168    #[serde(rename = "06")]
169    pub _06: Option<String>,
170    /// 640 - Transaction Type Code
171    #[serde(rename = "07")]
172    pub _07: Option<crate::v005010::element::E640>,
173    /// 306 - Action Code
174    #[serde(rename = "08")]
175    pub _08: Option<crate::v005010::element::E306>,
176    #[serde(rename = "09")]
177    pub _09: Option<String>,
178}
179
180/// BHT - Beginning of Hierarchical Transaction
181#[derive(
182    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
183)]
184pub struct BHT {
185    /// 1005 - Hierarchical Structure Code
186    #[serde(rename = "01")]
187    pub _01: crate::v005010::element::E1005,
188    /// 353 - Transaction Set Purpose Code
189    #[serde(rename = "02")]
190    pub _02: crate::v005010::element::E353,
191    #[serde(rename = "03")]
192    pub _03: Option<String>,
193    /// 373 - Date
194    #[serde(rename = "04")]
195    pub _04: Option<crate::v005010::element::E373>,
196    /// 337 - Time
197    #[serde(rename = "05")]
198    pub _05: Option<crate::v005010::element::E337>,
199    /// 640 - Transaction Type Code
200    #[serde(rename = "06")]
201    pub _06: Option<crate::v005010::element::E640>,
202}
203
204/// BPA - Beginning Segment for Price Authorization Acknowledgment/Status
205///
206/// To indicate the beginning of a price authorization acknowledgment/status transaction set
207///
208/// REF | ID | NAME | REQ | TYPE | MIN/MAX
209/// ----|----|-------|----|------|-------
210/// 01 | 353 | Transaction Set Purpose Code | M | ID | 2/2
211/// 02 | 373 | Date | M | DT | 8/8
212/// 03 | 128 | Reference Identification Qualifier | C | ID | 2/3
213/// 04 | 127 | Reference Identification | C | AN | 1/50
214/// 05 | 337 | Time | O | TM | 4/8
215#[derive(
216    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
217)]
218pub struct BPA {
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    #[serde(rename = "05")]
228    pub _05: Option<String>,
229}
230
231/// BPR - Beginning Segment for Payment Order/Remittance Advice
232#[derive(
233    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
234)]
235pub struct BPR {
236    /// 305 - Transaction Handling Code
237    #[serde(rename = "01")]
238    pub _01: crate::v005010::element::E305,
239    #[serde(rename = "02")]
240    pub _02: String,
241    /// 478 - Credit/Debit Flag Code
242    #[serde(rename = "03")]
243    pub _03: crate::v005010::element::E478,
244    /// 591 - Payment Method Code
245    #[serde(rename = "04")]
246    pub _04: crate::v005010::element::E591,
247    /// 812 - Payment Format Code
248    #[serde(rename = "05")]
249    pub _05: Option<crate::v005010::element::E812>,
250    #[serde(rename = "06")]
251    pub _06: Option<String>,
252    #[serde(rename = "07")]
253    pub _07: Option<String>,
254    #[serde(rename = "08")]
255    pub _08: Option<String>,
256    #[serde(rename = "09")]
257    pub _09: Option<String>,
258    #[serde(rename = "10")]
259    pub _10: Option<String>,
260    #[serde(rename = "11")]
261    pub _11: Option<String>,
262    #[serde(rename = "12")]
263    pub _12: Option<String>,
264    #[serde(rename = "13")]
265    pub _13: Option<String>,
266    #[serde(rename = "14")]
267    pub _14: Option<String>,
268    #[serde(rename = "15")]
269    pub _15: Option<String>,
270    #[serde(rename = "16")]
271    pub _16: Option<String>,
272    #[serde(rename = "17")]
273    pub _17: Option<String>,
274    #[serde(rename = "18")]
275    pub _18: Option<String>,
276    #[serde(rename = "19")]
277    pub _19: Option<String>,
278    #[serde(rename = "20")]
279    pub _20: Option<String>,
280    #[serde(rename = "21")]
281    pub _21: Option<String>,
282}
283
284/// BEG - Beginning Segment for Purchase Order
285#[derive(
286    Serialize,
287    Deserialize,
288    Clone,
289    Default,
290    Debug,
291    Validate,
292    PartialEq,
293    Eq,
294    DisplaySegment,
295    ParseSegment,
296)]
297pub struct BEG {
298    #[serde(rename = "01")]
299    pub _01: String,
300    #[serde(rename = "02")]
301    pub _02: String,
302    #[serde(rename = "03")]
303    pub _03: String,
304    #[serde(rename = "04")]
305    pub _04: Option<String>,
306    #[serde(rename = "05")]
307    pub _05: String,
308    #[serde(rename = "06")]
309    pub _06: Option<String>,
310}
311
312/// BA1 - Export Shipment Identifying Information
313///
314/// To transmit identifying information for an export shipment
315///
316/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
317/// ----|----|-------|--------|----|------|-------
318/// 01 | 645 | Related Company Indication Code | 1 | M | ID | 1/1
319/// 02 | 306 | Action Code | 1 | M | ID | 1/2
320/// 03 | 91 | Transportation Method/Type Code | 1 | M | ID | 1/2
321/// 04 | 26 | Country Code | 1 | M | ID | 2/3
322/// 05 | 127 | Reference Identification | 1 | M | AN | 1/50
323/// 06 | 116 | Postal Code | 1 | O | ID | 3/15
324/// 07 | 26 | Country Code | 1 | O | ID | 2/3
325/// 08 | 156 | State or Province Code | 1 | O | ID | 2/2
326/// 09 | 151 | Authority | 1 | O | AN | 1/20
327/// 10 | 140 | Standard Carrier Alpha Code | 1 | M | ID | 2/4
328/// 11 | 310 | Location Identifier | 1 | O | AN | 1/30
329/// 12 | 182 | Vessel Name | 1 | O | AN | 2/28
330#[derive(
331    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
332)]
333pub struct BA1 {
334    #[serde(rename = "01")]
335    pub _01: crate::v005010::element::E645,
336    #[serde(rename = "02")]
337    pub _02: String,
338    #[serde(rename = "03")]
339    pub _03: String,
340    #[serde(rename = "04")]
341    pub _04: String,
342    #[serde(rename = "05")]
343    pub _05: String,
344    #[serde(rename = "06")]
345    pub _06: Option<String>,
346    #[serde(rename = "07")]
347    pub _07: Option<String>,
348    #[serde(rename = "08")]
349    pub _08: Option<String>,
350    #[serde(rename = "09")]
351    pub _09: Option<String>,
352    #[serde(rename = "10")]
353    pub _10: String,
354    #[serde(rename = "11")]
355    pub _11: Option<String>,
356    #[serde(rename = "12")]
357    pub _12: Option<String>,
358}
359
360/// BAK - Beginning Segment for Purchase Order Acknowledgment
361#[derive(
362    Serialize,
363    Deserialize,
364    Clone,
365    Default,
366    Debug,
367    Validate,
368    PartialEq,
369    Eq,
370    DisplaySegment,
371    ParseSegment,
372)]
373pub struct BAK {
374    #[serde(rename = "01")]
375    pub _01: String,
376    #[serde(rename = "02")]
377    pub _02: String,
378    #[serde(rename = "03")]
379    pub _03: String,
380    #[serde(rename = "04")]
381    pub _04: String,
382    #[serde(rename = "05")]
383    pub _05: Option<String>,
384    #[serde(rename = "06")]
385    pub _06: Option<String>,
386    #[serde(rename = "07")]
387    pub _07: Option<String>,
388    #[serde(rename = "08")]
389    pub _08: Option<String>,
390    #[serde(rename = "09")]
391    pub _09: Option<String>,
392    #[serde(rename = "10")]
393    pub _10: Option<String>,
394}
395
396/// B10 - Beginning Segment for Transportation Carrier Shipment Status Message
397///
398/// To transmit identifying numbers, dates, and other basic data relating to the shipment status message
399///
400/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
401/// ----|----|-------|--------|----|------|-------
402/// 01 | 353 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
403/// 02 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
404/// 03 | 284 | Shipment Identification Number | 1 | M | AN | 1/30
405/// 04 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
406/// 05 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
407/// 06 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
408/// 07 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
409#[derive(
410    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
411)]
412pub struct B10 {
413    #[serde(rename = "01")]
414    pub _01: Option<String>,
415    #[serde(rename = "02")]
416    pub _02: Option<crate::v005010::element::E284>,
417    #[serde(rename = "03")]
418    pub _03: crate::v005010::element::E284,
419    #[serde(rename = "04")]
420    pub _04: Option<crate::v005010::element::E284>,
421    #[serde(rename = "05")]
422    pub _05: Option<crate::v005010::element::E284>,
423    #[serde(rename = "06")]
424    pub _06: Option<crate::v005010::element::E284>,
425    #[serde(rename = "07")]
426    pub _07: Option<crate::v005010::element::E284>,
427}
428
429/// B2 - Beginning Segment for Shipment Information
430///
431/// To transmit identifying numbers, dates, and other basic data relating to the shipment
432///
433/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
434/// ----|----|-------|--------|----|------|-------
435/// 01 | 353 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
436/// 02 | 127 | Reference Identification | 1 | O | AN | 1/30
437/// 03 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
438/// 04 | 373 | Date | 1 | O | DT | 8/8
439/// 05 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
440/// 06 | 284 | Shipment Identification Number | 1 | M | AN | 1/30
441/// 07 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
442/// 08 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
443/// 09 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
444/// 10 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
445/// 11 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
446/// 12 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
447#[derive(
448    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
449)]
450pub struct B2 {
451    #[serde(rename = "01")]
452    pub _01: Option<String>,
453    #[serde(rename = "02")]
454    pub _02: Option<String>,
455    #[serde(rename = "03")]
456    pub _03: Option<crate::v005010::element::E284>,
457    #[serde(rename = "04")]
458    pub _04: Option<String>,
459    #[serde(rename = "05")]
460    pub _05: Option<crate::v005010::element::E284>,
461    #[serde(rename = "06")]
462    pub _06: crate::v005010::element::E284,
463    #[serde(rename = "07")]
464    pub _07: Option<crate::v005010::element::E284>,
465    #[serde(rename = "08")]
466    pub _08: Option<crate::v005010::element::E284>,
467    #[serde(rename = "09")]
468    pub _09: Option<crate::v005010::element::E284>,
469    #[serde(rename = "10")]
470    pub _10: Option<crate::v005010::element::E284>,
471    #[serde(rename = "11")]
472    pub _11: Option<crate::v005010::element::E284>,
473    #[serde(rename = "12")]
474    pub _12: Option<crate::v005010::element::E284>,
475}
476
477/// B2A - Set Purpose
478///
479/// To identify the purpose for which the transaction set is being sent
480///
481/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
482/// ----|----|-------|--------|----|------|-------
483/// 01 | 353 | Transaction Set Purpose Code | 1 | M | ID | 2/2
484/// 02 | 786 | Application Type | 1 | O | ID | 2/2
485#[derive(
486    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
487)]
488pub struct B2A {
489    /// 353 - Transaction Set Purpose Code
490    #[serde(rename = "01")]
491    pub _01: crate::v005010::element::E353,
492    /// 346 - Application Type Code
493    #[serde(rename = "02")]
494    pub _02: Option<crate::v005010::element::E346>,
495}
496
497/// BOL - Beginning Segment for the Motor Carrier Bill of Lading
498///
499/// To transmit identifying numbers, dates, and other basic data relating to the transaction set
500///
501/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
502/// ----|----|-------|--------|----|------|-------
503/// 01 | 140 | Standard Carrier Alpha Code | 1 | M | ID | 2/4
504/// 02 | 146 | Shipment Method of Payment | 1 | M | ID | 2/2
505/// 03 | 145 | Shipment Identification Number | 1 | M | AN | 1/30
506/// 04 | 373 | Date | 1 | M | DT | 8/8
507/// 05 | 337 | Time | 1 | O | TM | 4/8
508/// 06 | 127 | Reference Identification | 1 | O | AN | 1/50
509/// 07 | 160 | Status Report Request Code | 1 | O | ID | 1/1
510/// 08 | 226 | Section Seven Code | 1 | O | ID | 1/1
511/// 09 | 501 | Customs Documentation Handling Code | 1 | O | ID | 2/2
512/// 10 | 146 | Shipment Method of Payment | 1 | O | ID | 2/2
513/// 11 | 100 | Currency Code | 1 | O | ID | 3/3
514#[derive(
515    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
516)]
517pub struct BOL {
518    #[serde(rename = "01")]
519    pub _01: String,
520    #[serde(rename = "02")]
521    pub _02: String,
522    #[serde(rename = "03")]
523    pub _03: String,
524    #[serde(rename = "04")]
525    pub _04: String,
526    #[serde(rename = "05")]
527    pub _05: Option<String>,
528    #[serde(rename = "06")]
529    pub _06: Option<String>,
530    #[serde(rename = "07")]
531    pub _07: Option<crate::v005010::element::E160>,
532    #[serde(rename = "08")]
533    pub _08: Option<crate::v005010::element::E226>,
534    #[serde(rename = "09")]
535    pub _09: Option<crate::v005010::element::E501>,
536    #[serde(rename = "10")]
537    pub _10: Option<String>,
538    #[serde(rename = "11")]
539    pub _11: Option<String>,
540}
541
542/// BAL - Balance Detail
543///
544/// To specify the total balance amount
545///
546/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
547/// ----|----|-------|--------|----|------|-------
548/// 01 | 100 | Entity Identifier Code | 1 | M | ID | 2/3
549/// 02 | 782 | Monetary Amount | 1 | M | R | 1/18
550/// 03 | 478 | Credit/Debit Flag Code | 1 | M | ID | 1/1
551#[derive(
552    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
553)]
554pub struct BAL {
555    #[serde(rename = "01")]
556    pub _01: String,
557    #[serde(rename = "02")]
558    pub _02: crate::v005010::element::E782,
559    #[serde(rename = "03")]
560    pub _03: String,
561}
562
563/// BIG - Beginning Segment for Invoice
564///
565/// To indicate the beginning of an invoice transaction set and transmit identifying numbers and dates
566///
567/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
568/// ----|----|-------|--------|----|------|-------
569/// 01 | 76 | Invoice Date | 1 | M | DT | 8/8
570/// 02 | 324 | Invoice Number | 1 | M | AN | 1/22
571/// 03 | 373 | Date | 1 | O | DT | 8/8
572/// 04 | 324 | Purchase Order Number | 1 | O | AN | 1/22
573/// 05 | 373 | Date | 1 | O | DT | 8/8
574/// 06 | 324 | Release Number | 1 | O | AN | 1/30
575/// 07 | 324 | Change Order Sequence Number | 1 | O | AN | 1/8
576/// 08 | 324 | Transaction Set Purpose Code | 1 | O | ID | 2/2
577/// 09 | 324 | Transaction Type Code | 1 | O | ID | 2/2
578/// 10 | 324 | Action Code | 1 | O | ID | 1/2
579/// 11 | 324 | Invoice Number | 1 | O | AN | 1/22
580#[derive(
581    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
582)]
583pub struct BIG {
584    #[serde(rename = "01")]
585    pub _01: crate::v005010::element::E76,
586    #[serde(rename = "02")]
587    pub _02: String,
588    #[serde(rename = "03")]
589    pub _03: Option<String>,
590    #[serde(rename = "04")]
591    pub _04: Option<String>,
592    #[serde(rename = "05")]
593    pub _05: Option<String>,
594    #[serde(rename = "06")]
595    pub _06: Option<String>,
596    #[serde(rename = "07")]
597    pub _07: Option<String>,
598    #[serde(rename = "08")]
599    pub _08: Option<String>,
600    #[serde(rename = "09")]
601    pub _09: Option<String>,
602    #[serde(rename = "10")]
603    pub _10: Option<String>,
604    #[serde(rename = "11")]
605    pub _11: Option<String>,
606}
607
608/// BIN - Binary Data Segment
609///
610/// To transmit binary data in a transaction set
611///
612/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
613/// ----|----|-------|--------|----|------|-------
614/// 01 | 1000 | Binary Data | 1 | M | B | 1/99999
615/// 02 | 1001 | Binary Data | 1 | O | B | 1/99999
616#[derive(
617    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
618)]
619pub struct BIN {
620    #[serde(rename = "01")]
621    pub _01: String,
622    #[serde(rename = "02")]
623    pub _02: String,
624}
625
626/// BLI - Basic Baseline Item Data
627///
628/// To provide basic item data for an item being returned or referenced
629///
630/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
631/// ----|----|-------|--------|----|------|-------
632/// 01 | 235 | Product/Service ID Qualifier | 1 | M | ID | 2/2
633/// 02 | 234 | Product/Service ID | 1 | M | AN | 1/48
634/// 03 | 380 | Quantity | 1 | X | R | 1/15
635/// 04 | 355 | Unit or Basis for Measurement Code | 1 | O | ID | 2/2
636/// 05 | 236 | Price Identifier Code | 1 | X | ID | 3/3
637/// 06 | 212 | Unit Price | 1 | X | R | 1/17
638/// 07 | 355 | Unit or Basis for Measurement Code | 1 | O | ID | 2/2
639/// 08 | 235 | Product/Service ID Qualifier | 1 | X | ID | 2/2
640/// 09 | 234 | Product/Service ID | 1 | X | AN | 1/48
641/// 10 | 235 | Product/Service ID Qualifier | 1 | X | ID | 2/2
642/// 11 | 234 | Product/Service ID | 1 | X | AN | 1/48
643/// 12 | 235 | Product/Service ID Qualifier | 1 | X | ID | 2/2
644/// 13 | 234 | Product/Service ID | 1 | X | AN | 1/48
645/// 14 | 1161 | Product Option Code | 1 | O | ID | 1/2
646/// 15 | 1161 | Product Option Code | 1 | O | ID | 1/2
647/// 16 | 1161 | Product Option Code | 1 | O | ID | 1/2
648/// 17 | 1161 | Product Option Code | 1 | O | ID | 1/2
649/// 18 | 594 | Frequency Code | 1 | O | ID | 1/1
650#[derive(
651    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
652)]
653pub struct BLI {
654    #[serde(rename = "01")]
655    pub _01: String,
656    #[serde(rename = "02")]
657    pub _02: String,
658    #[serde(rename = "03")]
659    pub _03: Option<String>,
660    #[serde(rename = "04")]
661    pub _04: Option<String>,
662    #[serde(rename = "05")]
663    pub _05: Option<crate::v005010::element::E236>,
664    #[serde(rename = "06")]
665    pub _06: Option<crate::v005010::element::E212>,
666    #[serde(rename = "07")]
667    pub _07: Option<String>,
668    #[serde(rename = "08")]
669    pub _08: Option<String>,
670    #[serde(rename = "09")]
671    pub _09: Option<String>,
672    #[serde(rename = "10")]
673    pub _10: Option<String>,
674    #[serde(rename = "11")]
675    pub _11: Option<String>,
676    #[serde(rename = "12")]
677    pub _12: Option<String>,
678    #[serde(rename = "13")]
679    pub _13: Option<String>,
680    #[serde(rename = "14")]
681    pub _14: Option<crate::v005010::element::E1161>,
682    #[serde(rename = "15")]
683    pub _15: Option<crate::v005010::element::E1161>,
684    #[serde(rename = "16")]
685    pub _16: Option<crate::v005010::element::E1161>,
686    #[serde(rename = "17")]
687    pub _17: Option<crate::v005010::element::E1161>,
688    #[serde(rename = "18")]
689    pub _18: Option<crate::v005010::element::E594>,
690}
691
692/// BNX - Vessel Information
693///
694/// To specify vessel information
695///
696/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
697/// ----|----|-------|--------|----|------|-------
698/// 01 | 284 | Vessel Code | 1 | O | AN | 1/30
699/// 02 | 284 | Vessel Name | 1 | O | AN | 1/30
700/// 03 | 284 | Vessel Code | 1 | O | AN | 1/30
701/// 04 | 284 | Vessel Name | 1 | O | AN | 1/30
702#[derive(
703    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
704)]
705pub struct BNX {
706    #[serde(rename = "01")]
707    pub _01: Option<crate::v005010::element::E284>,
708    #[serde(rename = "02")]
709    pub _02: Option<crate::v005010::element::E284>,
710    #[serde(rename = "03")]
711    pub _03: Option<crate::v005010::element::E284>,
712    #[serde(rename = "04")]
713    pub _04: Option<crate::v005010::element::E284>,
714}
715
716/// BSI - Beginning Segment for Order Status Inquiry
717///
718/// To indicate the beginning of an order status inquiry transaction set
719///
720/// REF | ID | NAME | REQ | TYPE | MIN/MAX
721/// ----|----|-------|----|------|-------
722/// 01 | 127 | Reference Identification | M | AN | 1/50
723/// 02 | 373 | Date | M | DT | 8/8
724/// 03 | 847 | Order/Item Code | M | ID | 1/2
725/// 04 | 848 | Product/Date Code | O | ID | 1/2
726/// 05 | 849 | Location Code | O | ID | 1/2
727/// 06 | 337 | Time | O | TM | 4/8
728/// 07 | 353 | Transaction Set Purpose Code | O | ID | 2/2
729/// 08 | 640 | Transaction Type Code | O | ID | 2/2
730/// 09 | 306 | Action Code | O | ID | 1/2
731#[derive(
732    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
733)]
734pub struct BSI {
735    #[serde(rename = "01")]
736    pub _01: String,
737    #[serde(rename = "02")]
738    pub _02: String,
739    #[serde(rename = "03")]
740    pub _03: crate::v005010::element::E847,
741    #[serde(rename = "04")]
742    pub _04: Option<crate::v005010::element::E848>,
743    #[serde(rename = "05")]
744    pub _05: Option<crate::v005010::element::E849>,
745    #[serde(rename = "06")]
746    pub _06: Option<String>,
747    #[serde(rename = "07")]
748    pub _07: Option<String>,
749    #[serde(rename = "08")]
750    pub _08: Option<String>,
751    #[serde(rename = "09")]
752    pub _09: Option<String>,
753}
754
755/// BSN - Beginning Segment for Ship Notice
756///
757/// To transmit identifying numbers, dates, and other basic data relating to the transaction set
758///
759/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
760/// ----|----|-------|--------|----|------|-------
761/// 01 | 353 | Shipment Identification | 1 | M | AN | 2/30
762/// 02 | 373 | Date | 1 | M | DT | 8/8
763/// 03 | 337 | Time | 1 | M | TM | 4/8
764/// 04 | 1000 | Hierarchical Structure Code | 1 | O | ID | 4/4
765/// 05 | 1001 | Transaction Set Purpose Code | 1 | O | ID | 2/2
766#[derive(
767    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
768)]
769pub struct BSN {
770    #[serde(rename = "01")]
771    pub _01: String,
772    #[serde(rename = "02")]
773    pub _02: String,
774    #[serde(rename = "03")]
775    pub _03: String,
776    #[serde(rename = "04")]
777    pub _04: Option<String>,
778    #[serde(rename = "05")]
779    pub _05: Option<String>,
780}
781
782/// BCH - Beginning Segment for Purchase Order Change
783///
784/// To indicate the beginning of the Purchase Order Change Transaction Set and transmit identifying numbers and dates
785#[derive(
786    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
787)]
788pub struct BCH {
789    #[serde(rename = "01")]
790    pub _01: String,
791    #[serde(rename = "02")]
792    pub _02: String,
793    #[serde(rename = "03")]
794    pub _03: String,
795    #[serde(rename = "04")]
796    pub _04: Option<String>,
797    #[serde(rename = "05")]
798    pub _05: Option<String>,
799    #[serde(rename = "06")]
800    pub _06: Option<String>,
801    #[serde(rename = "07")]
802    pub _07: Option<String>,
803    #[serde(rename = "08")]
804    pub _08: Option<String>,
805    #[serde(rename = "09")]
806    pub _09: Option<String>,
807    #[serde(rename = "10")]
808    pub _10: Option<String>,
809    #[serde(rename = "11")]
810    pub _11: Option<String>,
811    #[serde(rename = "12")]
812    pub _12: Option<String>,
813}
814
815/// BIA - Beginning Segment for Inventory Inquiry/Advice
816///
817/// To indicate the beginning of an inventory transaction set
818#[derive(
819    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
820)]
821pub struct BIA {
822    /// 353 - Transaction Set Purpose Code
823    #[serde(rename = "01")]
824    pub _01: crate::v005010::element::E353,
825    #[serde(rename = "02")]
826    pub _02: String,
827    #[serde(rename = "03")]
828    pub _03: Option<String>,
829    /// 373 - Date
830    #[serde(rename = "04")]
831    pub _04: Option<crate::v005010::element::E373>,
832    /// 337 - Time
833    #[serde(rename = "05")]
834    pub _05: Option<crate::v005010::element::E337>,
835    #[serde(rename = "06")]
836    pub _06: Option<String>,
837    #[serde(rename = "07")]
838    pub _07: Option<String>,
839}
840
841/// B3 - Beginning Segment for Car Shipment Information
842///
843/// To transmit identifying numbers, dates, and other basic data relating to the shipment
844///
845/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
846/// ----|----|-------|--------|----|------|-------
847/// 01 | 353 | Standard Carrier Alpha Code | 1 | O | ID | 2/4
848/// 02 | 127 | Reference Identification | 1 | M | AN | 1/30
849/// 03 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
850/// 04 | 373 | Date | 1 | M | DT | 8/8
851/// 05 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
852/// 06 | 284 | Shipment Identification Number | 1 | M | AN | 1/30
853/// 07 | 284 | Shipment Identification Number | 1 | M | AN | 1/30
854/// 08 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
855/// 09 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
856/// 10 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
857/// 11 | 284 | Shipment Identification Number | 1 | M | AN | 1/30
858/// 12 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
859/// 13 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
860/// 14 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
861#[derive(
862    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
863)]
864pub struct B3 {
865    #[serde(rename = "01")]
866    pub _01: Option<String>,
867    #[serde(rename = "02")]
868    pub _02: String,
869    #[serde(rename = "03")]
870    pub _03: Option<crate::v005010::element::E284>,
871    #[serde(rename = "04")]
872    pub _04: String,
873    #[serde(rename = "05")]
874    pub _05: Option<crate::v005010::element::E284>,
875    #[serde(rename = "06")]
876    pub _06: crate::v005010::element::E284,
877    #[serde(rename = "07")]
878    pub _07: crate::v005010::element::E284,
879    #[serde(rename = "08")]
880    pub _08: Option<crate::v005010::element::E284>,
881    #[serde(rename = "09")]
882    pub _09: Option<crate::v005010::element::E284>,
883    #[serde(rename = "10")]
884    pub _10: Option<crate::v005010::element::E284>,
885    #[serde(rename = "11")]
886    pub _11: crate::v005010::element::E284,
887    #[serde(rename = "12")]
888    pub _12: Option<crate::v005010::element::E284>,
889    #[serde(rename = "13")]
890    pub _13: Option<crate::v005010::element::E284>,
891    #[serde(rename = "14")]
892    pub _14: Option<crate::v005010::element::E284>,
893}
894
895/// B4 - Beginning Segment for Inland Carriers
896///
897/// To transmit identifying numbers, dates, and other basic data relating to the shipment
898///
899/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
900/// ----|----|-------|--------|----|------|-------
901/// 01 | 152 | Special Handling Code | 1 | O | ID | 2/3
902/// 02 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
903/// 03 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
904/// 04 | 373 | Date | 1 | O | DT | 8/8
905/// 05 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
906/// 06 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
907/// 07 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
908/// 08 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
909/// 09 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
910/// 10 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
911/// 11 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
912/// 12 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
913/// 13 | 284 | Shipment Identification Number | 1 | O | AN | 1/30
914#[derive(
915    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
916)]
917pub struct B4 {
918    /// 152 - Special Handling Code
919    ///
920    /// Code specifying special transportation handling instructions
921    /// - TYPE=ID
922    /// - MIN=2
923    /// - MAX=3
924    #[serde(default, rename = "01", skip_serializing_if = "Option::is_none")]
925    pub _01: Option<String>,
926    #[serde(default, rename = "02", skip_serializing_if = "Option::is_none")]
927    pub _02: Option<String>,
928    #[serde(default, rename = "03", skip_serializing_if = "Option::is_none")]
929    pub _03: Option<String>,
930    /// 373 - Date
931    ///
932    /// Date expressed as CCYYMMDD where CC represents the first two digits of the calendar year
933    /// - TYPE=DT
934    /// - MIN=8
935    /// - MAX=8
936    #[serde(default, rename = "04", skip_serializing_if = "Option::is_none")]
937    pub _04: Option<String>,
938    #[serde(default, rename = "05", skip_serializing_if = "Option::is_none")]
939    pub _05: Option<String>,
940    #[serde(default, rename = "06", skip_serializing_if = "Option::is_none")]
941    pub _06: Option<String>,
942    #[serde(default, rename = "07", skip_serializing_if = "Option::is_none")]
943    pub _07: Option<String>,
944    #[serde(default, rename = "08", skip_serializing_if = "Option::is_none")]
945    pub _08: Option<String>,
946    #[serde(default, rename = "09", skip_serializing_if = "Option::is_none")]
947    pub _09: Option<String>,
948    #[serde(default, rename = "10", skip_serializing_if = "Option::is_none")]
949    pub _10: Option<String>,
950    #[serde(default, rename = "11", skip_serializing_if = "Option::is_none")]
951    pub _11: Option<String>,
952    #[serde(default, rename = "12", skip_serializing_if = "Option::is_none")]
953    pub _12: Option<String>,
954    #[serde(default, rename = "13", skip_serializing_if = "Option::is_none")]
955    pub _13: Option<String>,
956}
957
958/// BFR - Beginning Segment for Planning Schedule
959///
960/// To carry beginning segment for planning schedule data
961#[derive(
962    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
963)]
964pub struct BFR {
965    #[serde(rename = "01")]
966    pub _01: String,
967    #[serde(rename = "02")]
968    pub _02: Option<String>,
969    #[serde(rename = "03")]
970    pub _03: Option<String>,
971    #[serde(rename = "04")]
972    pub _04: Option<String>,
973    #[serde(rename = "05")]
974    pub _05: Option<String>,
975    #[serde(rename = "06")]
976    pub _06: Option<String>,
977    #[serde(rename = "07")]
978    pub _07: Option<String>,
979    #[serde(rename = "08")]
980    pub _08: Option<String>,
981    #[serde(rename = "09")]
982    pub _09: Option<String>,
983    #[serde(rename = "10")]
984    pub _10: Option<String>,
985    #[serde(rename = "11")]
986    pub _11: Option<String>,
987    #[serde(rename = "12")]
988    pub _12: Option<String>,
989}
990
991/// BSS - Beginning Segment for Shipping Schedule
992///
993/// To carry beginning segment for shipping schedule data
994#[derive(
995    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
996)]
997pub struct BSS {
998    #[serde(rename = "01")]
999    pub _01: String,
1000    #[serde(rename = "02")]
1001    pub _02: Option<String>,
1002    #[serde(rename = "03")]
1003    pub _03: Option<String>,
1004    #[serde(rename = "04")]
1005    pub _04: Option<String>,
1006    #[serde(rename = "05")]
1007    pub _05: Option<String>,
1008    #[serde(rename = "06")]
1009    pub _06: Option<String>,
1010    #[serde(rename = "07")]
1011    pub _07: Option<String>,
1012    #[serde(rename = "08")]
1013    pub _08: Option<String>,
1014    #[serde(rename = "09")]
1015    pub _09: Option<String>,
1016    #[serde(rename = "10")]
1017    pub _10: Option<String>,
1018    #[serde(rename = "11")]
1019    pub _11: Option<String>,
1020    #[serde(rename = "12")]
1021    pub _12: Option<String>,
1022    #[serde(rename = "13")]
1023    pub _13: Option<String>,
1024    #[serde(rename = "14")]
1025    pub _14: Option<String>,
1026}
1027
1028/// BRA - Beginning Segment for Receiving Advice
1029///
1030/// To carry beginning segment for receiving advice data
1031#[derive(
1032    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1033)]
1034pub struct BRA {
1035    #[serde(rename = "01")]
1036    pub _01: String,
1037    #[serde(rename = "02")]
1038    pub _02: Option<String>,
1039    #[serde(rename = "03")]
1040    pub _03: Option<String>,
1041    #[serde(rename = "04")]
1042    pub _04: Option<String>,
1043    #[serde(rename = "05")]
1044    pub _05: Option<String>,
1045    #[serde(rename = "06")]
1046    pub _06: Option<String>,
1047    #[serde(rename = "07")]
1048    pub _07: Option<String>,
1049}
1050
1051/// BCT - Price/Sales Catalog Header
1052///
1053/// To carry price/sales catalog header data
1054#[derive(
1055    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1056)]
1057pub struct BCT {
1058    #[serde(rename = "01")]
1059    pub _01: String,
1060    #[serde(rename = "02")]
1061    pub _02: Option<String>,
1062    #[serde(rename = "03")]
1063    pub _03: Option<String>,
1064    #[serde(rename = "04")]
1065    pub _04: Option<String>,
1066    #[serde(rename = "05")]
1067    pub _05: Option<String>,
1068    #[serde(rename = "06")]
1069    pub _06: Option<String>,
1070    #[serde(rename = "07")]
1071    pub _07: Option<String>,
1072    #[serde(rename = "08")]
1073    pub _08: Option<String>,
1074    #[serde(rename = "09")]
1075    pub _09: Option<String>,
1076    #[serde(rename = "10")]
1077    pub _10: Option<String>,
1078}
1079
1080/// BCD - Beginning Segment for Credit/Debit Adjustment
1081///
1082/// To carry beginning segment for credit/debit adjustment data
1083#[derive(
1084    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1085)]
1086pub struct BCD {
1087    #[serde(rename = "01")]
1088    pub _01: String,
1089    #[serde(rename = "02")]
1090    pub _02: Option<String>,
1091    #[serde(rename = "03")]
1092    pub _03: Option<String>,
1093    #[serde(rename = "04")]
1094    pub _04: Option<String>,
1095    #[serde(rename = "05")]
1096    pub _05: Option<String>,
1097    #[serde(rename = "06")]
1098    pub _06: Option<String>,
1099    #[serde(rename = "07")]
1100    pub _07: Option<String>,
1101    #[serde(rename = "08")]
1102    pub _08: Option<String>,
1103    #[serde(rename = "09")]
1104    pub _09: Option<String>,
1105    #[serde(rename = "10")]
1106    pub _10: Option<String>,
1107    #[serde(rename = "11")]
1108    pub _11: Option<String>,
1109    #[serde(rename = "12")]
1110    pub _12: Option<String>,
1111    #[serde(rename = "13")]
1112    pub _13: Option<String>,
1113    #[serde(rename = "14")]
1114    pub _14: Option<String>,
1115    #[serde(rename = "15")]
1116    pub _15: Option<String>,
1117}
1118
1119/// BPT - Beginning Segment for Product Transfer and Resale
1120///
1121/// To indicate the beginning of a product transfer and resale transaction set
1122///
1123/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1124/// ----|----|-------|--------|----|------|-------
1125/// 01 | 353 | Transaction Set Purpose Code | 1 | M | ID | 2/2
1126/// 02 | 127 | Reference Identification | 1 | O | AN | 1/50
1127/// 03 | 373 | Date | 1 | M | DT | 8/8
1128/// 04 | 755 | Report Type Code | 1 | O | ID | 2/2
1129/// 05 | 648 | Price Multiplier Qualifier | 1 | X | ID | 3/3
1130/// 06 | 649 | Multiplier | 1 | X | R | 1/10
1131/// 07 | 306 | Action Code | 1 | O | ID | 1/2
1132/// 08 | 337 | Time | 1 | O | TM | 4/8
1133/// 09 | 127 | Reference Identification | 1 | O | AN | 1/50
1134/// 10 | 786 | Security Level Code | 1 | O | ID | 2/2
1135#[derive(
1136    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1137)]
1138pub struct BPT {
1139    #[serde(rename = "01")]
1140    pub _01: String,
1141    #[serde(rename = "02")]
1142    pub _02: Option<String>,
1143    #[serde(rename = "03")]
1144    pub _03: String,
1145    #[serde(rename = "04")]
1146    pub _04: Option<crate::v005010::element::E755>,
1147    #[serde(rename = "05")]
1148    pub _05: Option<crate::v005010::element::E648>,
1149    #[serde(rename = "06")]
1150    pub _06: Option<crate::v005010::element::E649>,
1151    #[serde(rename = "07")]
1152    pub _07: Option<String>,
1153    #[serde(rename = "08")]
1154    pub _08: Option<String>,
1155    #[serde(rename = "09")]
1156    pub _09: Option<String>,
1157    #[serde(rename = "10")]
1158    pub _10: Option<crate::v005010::element::E786>,
1159}
1160
1161/// BQT - Beginning Segment for Request for Quotation
1162///
1163/// To carry beginning segment for request for quotation data
1164#[derive(
1165    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1166)]
1167pub struct BQT {
1168    #[serde(rename = "01")]
1169    pub _01: String,
1170    #[serde(rename = "02")]
1171    pub _02: Option<String>,
1172    #[serde(rename = "03")]
1173    pub _03: Option<String>,
1174    #[serde(rename = "04")]
1175    pub _04: Option<String>,
1176    #[serde(rename = "05")]
1177    pub _05: Option<String>,
1178    #[serde(rename = "06")]
1179    pub _06: Option<String>,
1180    #[serde(rename = "07")]
1181    pub _07: Option<String>,
1182}
1183
1184/// BQR - Beginning Segment for Response to Request for Quotation
1185///
1186/// To carry beginning segment for response to request for quotation data
1187#[derive(
1188    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1189)]
1190pub struct BQR {
1191    #[serde(rename = "01")]
1192    pub _01: String,
1193    #[serde(rename = "02")]
1194    pub _02: Option<String>,
1195    #[serde(rename = "03")]
1196    pub _03: Option<String>,
1197    #[serde(rename = "04")]
1198    pub _04: Option<String>,
1199    #[serde(rename = "05")]
1200    pub _05: Option<String>,
1201    #[serde(rename = "06")]
1202    pub _06: Option<String>,
1203    #[serde(rename = "07")]
1204    pub _07: Option<String>,
1205    #[serde(rename = "08")]
1206    pub _08: Option<String>,
1207}
1208
1209/// BCA - Beginning Segment for Purchase Order Change Acknowledgment
1210///
1211/// To carry beginning segment for purchase order change acknowledgment data
1212#[derive(
1213    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1214)]
1215pub struct BCA {
1216    #[serde(rename = "01")]
1217    pub _01: String,
1218    #[serde(rename = "02")]
1219    pub _02: Option<String>,
1220    #[serde(rename = "03")]
1221    pub _03: Option<String>,
1222    #[serde(rename = "04")]
1223    pub _04: Option<String>,
1224    #[serde(rename = "05")]
1225    pub _05: Option<String>,
1226    #[serde(rename = "06")]
1227    pub _06: Option<String>,
1228    #[serde(rename = "07")]
1229    pub _07: Option<String>,
1230    #[serde(rename = "08")]
1231    pub _08: Option<String>,
1232    #[serde(rename = "09")]
1233    pub _09: Option<String>,
1234    #[serde(rename = "10")]
1235    pub _10: Option<String>,
1236    #[serde(rename = "11")]
1237    pub _11: Option<String>,
1238}
1239
1240/// BSR - Beginning Segment for Order Status Report
1241///
1242/// To carry beginning segment for order status report data
1243#[derive(
1244    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1245)]
1246pub struct BSR {
1247    #[serde(rename = "01")]
1248    pub _01: String,
1249    #[serde(rename = "02")]
1250    pub _02: Option<String>,
1251    #[serde(rename = "03")]
1252    pub _03: Option<String>,
1253    #[serde(rename = "04")]
1254    pub _04: Option<String>,
1255    #[serde(rename = "05")]
1256    pub _05: Option<String>,
1257}
1258
1259/// BLR - Transportation Carrier Identification
1260///
1261/// To identify the carrier responsible for transportation
1262///
1263/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1264/// ----|----|-------|--------|----|------|-------
1265/// 01 | 140 | Standard Carrier Alpha Code | 1 | M | ID | 2/4
1266/// 02 | 373 | Date | 1 | X | DT | 8/8
1267/// 03 | 337 | Time | 1 | O | TM | 4/8
1268#[derive(
1269    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1270)]
1271pub struct BLR {
1272    #[serde(rename = "01")]
1273    pub _01: String,
1274    #[serde(rename = "02")]
1275    pub _02: Option<String>,
1276    #[serde(rename = "03")]
1277    pub _03: Option<String>,
1278}
1279
1280/// BMG - Beginning Segment for Text Message
1281///
1282/// To carry beginning segment for text message data
1283#[derive(
1284    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1285)]
1286pub struct BMG {
1287    #[serde(rename = "01")]
1288    pub _01: String,
1289    #[serde(rename = "02")]
1290    pub _02: Option<String>,
1291    #[serde(rename = "03")]
1292    pub _03: Option<String>,
1293    #[serde(rename = "04")]
1294    pub _04: Option<String>,
1295}
1296
1297/// B1 - Beginning Segment for Booking or Pick-up/Delivery
1298///
1299/// To transmit identifying numbers, dates, and other basic data relating to the transaction set
1300///
1301/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
1302/// ----|----|-------|--------|----|------|-------
1303/// 01 | 140 | Standard Carrier Alpha Code | 1 | M | ID | 2/4
1304/// 02 | 145 | Shipment Identification Number | 1 | O | AN | 1/30
1305/// 03 | 373 | Date | 1 | O | DT | 8/8
1306/// 04 | 558 | Reservation Action Code | 1 | O | ID | 1/1
1307/// 05 | 1073 | Yes/No Condition or Response Code | 1 | O | ID | 1/1
1308/// 06 | 1658 | Shipment or Work Assignment Decline Reason Code | 1 | O | ID | 3/3
1309#[derive(
1310    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1311)]
1312pub struct B1 {
1313    #[serde(rename = "01")]
1314    pub _01: String,
1315    #[serde(rename = "02")]
1316    pub _02: Option<String>,
1317    #[serde(rename = "03")]
1318    pub _03: Option<String>,
1319    #[serde(rename = "04")]
1320    pub _04: Option<crate::v005010::element::E558>,
1321    #[serde(rename = "05")]
1322    pub _05: Option<crate::v005010::element::E1073>,
1323    #[serde(rename = "06")]
1324    pub _06: Option<crate::v005010::element::E1658>,
1325}
1326
1327/// BX - General Shipment Information
1328#[derive(
1329    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1330)]
1331pub struct BX {
1332    #[serde(rename = "01")]
1333    pub _01: String,
1334    #[serde(rename = "02")]
1335    pub _02: String,
1336    #[serde(rename = "03")]
1337    pub _03: String,
1338    #[serde(rename = "04")]
1339    pub _04: Option<String>,
1340    #[serde(rename = "05")]
1341    pub _05: Option<String>,
1342    #[serde(rename = "06")]
1343    pub _06: Option<String>,
1344    #[serde(rename = "07")]
1345    pub _07: Option<String>,
1346    #[serde(rename = "08")]
1347    pub _08: Option<String>,
1348    #[serde(rename = "09")]
1349    pub _09: Option<String>,
1350    #[serde(rename = "10")]
1351    pub _10: Option<String>,
1352    #[serde(rename = "11")]
1353    pub _11: Option<String>,
1354    #[serde(rename = "12")]
1355    pub _12: Option<String>,
1356    #[serde(rename = "13")]
1357    pub _13: Option<String>,
1358    #[serde(rename = "14")]
1359    pub _14: Option<String>,
1360}
1361
1362/// BL - Billing Information
1363#[derive(
1364    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
1365)]
1366pub struct BL {
1367    #[serde(rename = "01")]
1368    pub _01: String,
1369    #[serde(rename = "02")]
1370    pub _02: Option<String>,
1371    #[serde(rename = "03")]
1372    pub _03: Option<String>,
1373    #[serde(rename = "04")]
1374    pub _04: Option<String>,
1375    #[serde(rename = "05")]
1376    pub _05: Option<String>,
1377    #[serde(rename = "06")]
1378    pub _06: Option<String>,
1379    #[serde(rename = "07")]
1380    pub _07: Option<String>,
1381    #[serde(rename = "08")]
1382    pub _08: Option<String>,
1383    #[serde(rename = "09")]
1384    pub _09: Option<String>,
1385    #[serde(rename = "10")]
1386    pub _10: Option<String>,
1387    #[serde(rename = "11")]
1388    pub _11: Option<String>,
1389    #[serde(rename = "12")]
1390    pub _12: Option<String>,
1391    #[serde(rename = "13")]
1392    pub _13: Option<String>,
1393    #[serde(rename = "14")]
1394    pub _14: Option<String>,
1395    #[serde(rename = "15")]
1396    pub _15: Option<String>,
1397    #[serde(rename = "16")]
1398    pub _16: Option<String>,
1399    #[serde(rename = "17")]
1400    pub _17: Option<String>,
1401}