Skip to main content

x12_types/v005010/segment/
f.rs

1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5/// FC - Financial Contribution
6#[derive(
7    Serialize,
8    Deserialize,
9    Clone,
10    Default,
11    Debug,
12    Validate,
13    PartialEq,
14    Eq,
15    DisplaySegment,
16    ParseSegment,
17)]
18pub struct FC {
19    #[serde(rename = "01")]
20    pub _01: String,
21    #[serde(rename = "02")]
22    pub _02: Option<String>,
23    #[serde(rename = "03")]
24    pub _03: Option<String>,
25    #[serde(rename = "04")]
26    pub _04: Option<String>,
27    #[serde(rename = "05")]
28    pub _05: Option<String>,
29}
30
31/// FRM - Supporting Documentation
32#[derive(
33    Serialize,
34    Deserialize,
35    Clone,
36    Default,
37    Debug,
38    Validate,
39    PartialEq,
40    Eq,
41    DisplaySegment,
42    ParseSegment,
43)]
44pub struct FRM {
45    #[serde(rename = "01")]
46    pub _01: String,
47    #[serde(rename = "02")]
48    pub _02: Option<String>,
49    #[serde(rename = "03")]
50    pub _03: Option<String>,
51    #[serde(rename = "04")]
52    pub _04: Option<String>,
53    #[serde(rename = "05")]
54    pub _05: Option<String>,
55}
56
57/// FSA - Flexible Spending Amount
58#[derive(
59    Serialize,
60    Deserialize,
61    Clone,
62    Default,
63    Debug,
64    Validate,
65    PartialEq,
66    Eq,
67    DisplaySegment,
68    ParseSegment,
69)]
70pub struct FSA {
71    #[serde(rename = "01")]
72    pub _01: String,
73    #[serde(rename = "02")]
74    pub _02: Option<String>,
75    #[serde(rename = "03")]
76    pub _03: Option<String>,
77    #[serde(rename = "04")]
78    pub _04: Option<String>,
79    #[serde(rename = "05")]
80    pub _05: Option<String>,
81    #[serde(rename = "06")]
82    pub _06: Option<String>,
83    #[serde(rename = "07")]
84    pub _07: Option<String>,
85    #[serde(rename = "08")]
86    pub _08: Option<String>,
87    #[serde(rename = "09")]
88    pub _09: Option<String>,
89}
90
91/// FIR - Financial Information
92///
93/// To provide financial transaction detail for financial account reporting
94///
95/// REF | ID | NAME | REQ | TYPE | MIN/MAX
96/// ----|----|-------|----|------|-------
97/// 01 | 1270 | Code List Qualifier Code | M | ID | 1/3
98/// 02 | 1271 | Industry Code | M | AN | 1/30
99/// 03 | 782 | Monetary Amount | M | R | 1/18
100/// 04 | 373 | Date | O | DT | 8/8
101/// 05 | 337 | Time | X | TM | 4/8
102/// 06 | 623 | Time Code | O | ID | 2/2
103/// 07 | 380 | Quantity | O | R | 1/15
104/// 08 | 380 | Quantity | O | R | 1/15
105/// 09 | 478 | Credit/Debit Flag Code | O | ID | 1/1
106/// 10 | 1197 | Financial Transaction Status Code | O | ID | 1/2
107/// 11 | 100 | Currency Code | X | ID | 3/3
108/// 12 | 782 | Monetary Amount | O | R | 1/18
109#[derive(
110    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
111)]
112pub struct FIR {
113    #[serde(rename = "01")]
114    pub _01: String,
115    #[serde(rename = "02")]
116    pub _02: String,
117    #[serde(rename = "03")]
118    pub _03: crate::v005010::element::E782,
119    #[serde(rename = "04")]
120    pub _04: Option<String>,
121    #[serde(rename = "05")]
122    pub _05: Option<String>,
123    #[serde(rename = "06")]
124    pub _06: Option<crate::v005010::element::E623>,
125    #[serde(rename = "07")]
126    pub _07: Option<String>,
127    #[serde(rename = "08")]
128    pub _08: Option<String>,
129    #[serde(rename = "09")]
130    pub _09: Option<String>,
131    #[serde(rename = "10")]
132    pub _10: Option<crate::v005010::element::E1197>,
133    #[serde(rename = "11")]
134    pub _11: Option<String>,
135    #[serde(rename = "12")]
136    pub _12: Option<crate::v005010::element::E782>,
137}
138
139/// FA1 - Type of Financial Accounting Data
140#[derive(
141    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
142)]
143pub struct FA1 {
144    #[serde(rename = "01")]
145    pub _01: Option<String>,
146    #[serde(rename = "02")]
147    pub _02: Option<String>,
148}
149
150/// FA2 - Accounting Data
151#[derive(
152    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
153)]
154pub struct FA2 {
155    #[serde(rename = "01")]
156    pub _01: Option<String>,
157    #[serde(rename = "02")]
158    pub _02: Option<String>,
159}
160
161/// FOB - F.O.B. Related Instructions
162#[derive(
163    Serialize,
164    Deserialize,
165    Clone,
166    Default,
167    Debug,
168    Validate,
169    PartialEq,
170    Eq,
171    DisplaySegment,
172    ParseSegment,
173)]
174pub struct FOB {
175    /// 146 - Shipment Method of Payment
176    #[serde(rename = "01")]
177    pub _01: crate::v005010::element::E146,
178    /// 309 - Location Qualifier
179    #[serde(rename = "02")]
180    pub _02: Option<crate::v005010::element::E309>,
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}
196
197/// FST - Forecast Schedule
198///
199/// To carry forecast schedule data
200#[derive(
201    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
202)]
203pub struct FST {
204    #[serde(rename = "01")]
205    pub _01: String,
206    #[serde(rename = "02")]
207    pub _02: Option<String>,
208    #[serde(rename = "03")]
209    pub _03: Option<String>,
210    #[serde(rename = "04")]
211    pub _04: Option<String>,
212    #[serde(rename = "05")]
213    pub _05: Option<String>,
214    #[serde(rename = "06")]
215    pub _06: Option<String>,
216    #[serde(rename = "07")]
217    pub _07: Option<String>,
218    #[serde(rename = "08")]
219    pub _08: Option<String>,
220    #[serde(rename = "09")]
221    pub _09: Option<String>,
222    #[serde(rename = "10")]
223    pub _10: Option<String>,
224}
225
226/// F9 - Origin Station
227#[derive(
228    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
229)]
230pub struct F9 {
231    #[serde(rename = "01")]
232    pub _01: Option<String>,
233    #[serde(rename = "02")]
234    pub _02: String,
235    #[serde(rename = "03")]
236    pub _03: String,
237    #[serde(rename = "04")]
238    pub _04: Option<String>,
239    #[serde(rename = "05")]
240    pub _05: Option<String>,
241    #[serde(rename = "06")]
242    pub _06: Option<String>,
243    #[serde(rename = "07")]
244    pub _07: Option<String>,
245    #[serde(rename = "08")]
246    pub _08: Option<String>,
247    #[serde(rename = "09")]
248    pub _09: Option<String>,
249    #[serde(rename = "10")]
250    pub _10: Option<String>,
251    #[serde(rename = "11")]
252    pub _11: Option<String>,
253    #[serde(rename = "12")]
254    pub _12: Option<String>,
255}