1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5#[derive(
14 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
15)]
16pub struct RST {
17 #[serde(rename = "01")]
18 pub _01: Option<String>,
19 #[serde(rename = "02")]
20 pub _02: Option<String>,
21}
22
23#[derive(
35 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
36)]
37pub struct RTE {
38 #[serde(rename = "01")]
39 pub _01: crate::v005010::element::E1387,
40 #[serde(rename = "02")]
41 pub _02: crate::v005010::element::E953,
42 #[serde(rename = "03")]
43 pub _03: Option<crate::v005010::element::E782>,
44 #[serde(rename = "04")]
45 pub _04: Option<crate::v005010::element::E1470>,
46 #[serde(rename = "05")]
47 pub _05: Option<crate::v005010::element::E1470>,
48}
49
50#[derive(
52 Serialize,
53 Deserialize,
54 Clone,
55 Default,
56 Debug,
57 Validate,
58 PartialEq,
59 Eq,
60 DisplaySegment,
61 ParseSegment,
62)]
63pub struct RDM {
64 #[serde(rename = "01")]
65 pub _01: String,
66 #[serde(rename = "02")]
67 pub _02: Option<String>,
68 #[serde(rename = "03")]
69 pub _03: Option<String>,
70 #[serde(rename = "04")]
71 pub _04: Option<String>,
72 #[serde(rename = "05")]
73 pub _05: Option<String>,
74}
75
76#[derive(
87 Serialize,
88 Deserialize,
89 Clone,
90 Default,
91 Debug,
92 Validate,
93 PartialEq,
94 Eq,
95 DisplaySegment,
96 ParseSegment,
97)]
98pub struct REF {
99 #[serde(rename = "01")]
101 pub _01: crate::v005010::element::E128,
102 #[validate(length(min = 1, max = 50))]
109 #[serde(rename = "02")]
110 pub _02: Option<String>,
111 #[validate(length(min = 1, max = 80))]
118 #[serde(rename = "03")]
119 pub _03: Option<String>,
120 #[serde(rename = "04")]
127 pub _04: Option<String>,
128}
129
130#[derive(
132 Serialize,
133 Deserialize,
134 Clone,
135 Default,
136 Debug,
137 Validate,
138 PartialEq,
139 Eq,
140 DisplaySegment,
141 ParseSegment,
142)]
143pub struct REL {
144 #[serde(rename = "01")]
145 pub _01: String,
146 #[serde(rename = "02")]
147 pub _02: Option<String>,
148}
149
150#[derive(
152 Serialize,
153 Deserialize,
154 Clone,
155 Default,
156 Debug,
157 Validate,
158 PartialEq,
159 Eq,
160 DisplaySegment,
161 ParseSegment,
162)]
163pub struct RP {
164 #[serde(rename = "01")]
165 pub _01: String,
166 #[serde(rename = "02")]
167 pub _02: Option<String>,
168 #[serde(rename = "03")]
169 pub _03: Option<String>,
170 #[serde(rename = "04")]
171 pub _04: Option<String>,
172 #[serde(rename = "05")]
173 pub _05: Option<String>,
174 #[serde(rename = "06")]
175 pub _06: Option<String>,
176 #[serde(rename = "07")]
177 pub _07: Option<String>,
178 #[serde(rename = "08")]
179 pub _08: Option<String>,
180 #[serde(rename = "09")]
181 pub _09: Option<String>,
182}
183
184#[derive(
186 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
187)]
188pub struct RMR {
189 #[serde(rename = "01")]
190 pub _01: Option<String>,
191 #[serde(rename = "02")]
192 pub _02: Option<String>,
193 #[serde(rename = "03")]
194 pub _03: Option<String>,
195 #[serde(rename = "04")]
196 pub _04: Option<String>,
197 #[serde(rename = "05")]
198 pub _05: Option<String>,
199 #[serde(rename = "06")]
200 pub _06: Option<String>,
201 #[serde(rename = "07")]
202 pub _07: Option<String>,
203 #[serde(rename = "08")]
204 pub _08: Option<String>,
205}
206
207#[derive(
209 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
210)]
211pub struct RPA {
212 #[serde(rename = "01")]
213 pub _01: Option<String>,
214 #[serde(rename = "02")]
215 pub _02: Option<String>,
216 #[serde(rename = "03")]
217 pub _03: Option<String>,
218 #[serde(rename = "04")]
219 pub _04: Option<String>,
220 #[serde(rename = "05")]
221 pub _05: Option<String>,
222}
223
224#[derive(
233 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
234)]
235pub struct RRA {
236 #[serde(rename = "01")]
237 pub _01: crate::v005010::element::E701,
238 #[serde(rename = "02")]
239 pub _02: Option<String>,
240}
241
242#[derive(
244 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
245)]
246pub struct RYL {
247 #[serde(rename = "01")]
248 pub _01: Option<String>,
249 #[serde(rename = "02")]
250 pub _02: Option<String>,
251 #[serde(rename = "03")]
252 pub _03: Option<String>,
253 #[serde(rename = "04")]
254 pub _04: Option<String>,
255 #[serde(rename = "05")]
256 pub _05: Option<String>,
257 #[serde(rename = "06")]
258 pub _06: Option<String>,
259 #[serde(rename = "07")]
260 pub _07: Option<String>,
261 #[serde(rename = "08")]
262 pub _08: Option<String>,
263 #[serde(rename = "09")]
264 pub _09: Option<String>,
265 #[serde(rename = "10")]
266 pub _10: Option<String>,
267 #[serde(rename = "11")]
268 pub _11: Option<String>,
269 #[serde(rename = "12")]
270 pub _12: Option<String>,
271 #[serde(rename = "13")]
272 pub _13: Option<String>,
273 #[serde(rename = "14")]
274 pub _14: Option<String>,
275 #[serde(rename = "15")]
276 pub _15: Option<String>,
277 #[serde(rename = "16")]
278 pub _16: Option<String>,
279 #[serde(rename = "17")]
280 pub _17: Option<String>,
281 #[serde(rename = "18")]
282 pub _18: Option<String>,
283 #[serde(rename = "19")]
284 pub _19: Option<String>,
285 #[serde(rename = "20")]
286 pub _20: Option<String>,
287 #[serde(rename = "21")]
288 pub _21: Option<String>,
289 #[serde(rename = "22")]
290 pub _22: Option<String>,
291 #[serde(rename = "23")]
292 pub _23: Option<String>,
293 #[serde(rename = "24")]
294 pub _24: Option<String>,
295 #[serde(rename = "25")]
296 pub _25: Option<String>,
297}
298
299#[derive(
316 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
317)]
318pub struct R2 {
319 #[serde(rename = "01")]
320 pub _01: String,
321 #[serde(rename = "02")]
322 pub _02: Option<String>,
323 #[serde(rename = "03")]
324 pub _03: Option<String>,
325 #[serde(rename = "04")]
326 pub _04: Option<String>,
327 #[serde(rename = "05")]
328 pub _05: Option<String>,
329 #[serde(rename = "06")]
330 pub _06: Option<String>,
331 #[serde(rename = "07")]
332 pub _07: Option<String>,
333 #[serde(rename = "08")]
334 pub _08: Option<String>,
335 #[serde(rename = "09")]
336 pub _09: Option<String>,
337 #[serde(rename = "10")]
338 pub _10: Option<String>,
339}
340
341#[derive(
358 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
359)]
360pub struct R4 {
361 #[serde(rename = "01")]
362 pub _01: String,
363 #[serde(rename = "02")]
364 pub _02: Option<String>,
365 #[serde(rename = "03")]
366 pub _03: Option<String>,
367 #[serde(rename = "04")]
368 pub _04: Option<String>,
369 #[serde(rename = "05")]
370 pub _05: Option<String>,
371 #[serde(rename = "06")]
372 pub _06: Option<String>,
373 #[serde(rename = "07")]
374 pub _07: Option<String>,
375 #[serde(rename = "08")]
376 pub _08: Option<String>,
377}
378
379#[derive(
391 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
392)]
393pub struct RDR {
394 #[serde(rename = "01")]
395 pub _01: Option<crate::v005010::element::E1292>,
396 #[serde(rename = "02")]
397 pub _02: Option<crate::v005010::element::E1293>,
398 #[serde(rename = "03")]
399 pub _03: Option<crate::v005010::element::E1294>,
400 #[serde(rename = "04")]
401 pub _04: Option<String>,
402 #[serde(rename = "05")]
403 pub _05: Option<crate::v005010::element::E1073>,
404}
405
406#[derive(
410 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
411)]
412pub struct RED {
413 #[serde(rename = "01")]
414 pub _01: String,
415 #[serde(rename = "02")]
416 pub _02: Option<String>,
417 #[serde(rename = "03")]
418 pub _03: Option<String>,
419 #[serde(rename = "04")]
420 pub _04: Option<String>,
421 #[serde(rename = "05")]
422 pub _05: Option<String>,
423 #[serde(rename = "06")]
424 pub _06: Option<String>,
425 #[serde(rename = "07")]
426 pub _07: Option<String>,
427}
428
429#[derive(
433 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
434)]
435pub struct R3 {
436 #[serde(rename = "01")]
437 pub _01: String,
438 #[serde(rename = "02")]
439 pub _02: Option<String>,
440 #[serde(rename = "03")]
441 pub _03: Option<String>,
442 #[serde(rename = "04")]
443 pub _04: Option<String>,
444 #[serde(rename = "05")]
445 pub _05: Option<String>,
446 #[serde(rename = "06")]
447 pub _06: Option<String>,
448 #[serde(rename = "07")]
449 pub _07: Option<String>,
450 #[serde(rename = "08")]
451 pub _08: Option<String>,
452 #[serde(rename = "09")]
453 pub _09: Option<String>,
454}
455
456#[derive(
473 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
474)]
475pub struct R2A {
476 #[serde(rename = "01")]
477 pub _01: String,
478 #[serde(rename = "02")]
479 pub _02: Option<String>,
480 #[serde(rename = "03")]
481 pub _03: Option<String>,
482 #[serde(rename = "04")]
483 pub _04: Option<String>,
484 #[serde(rename = "05")]
485 pub _05: Option<String>,
486 #[serde(rename = "06")]
487 pub _06: Option<String>,
488 #[serde(rename = "07")]
489 pub _07: Option<String>,
490 #[serde(rename = "08")]
491 pub _08: Option<String>,
492 #[serde(rename = "09")]
493 pub _09: Option<String>,
494 #[serde(rename = "10")]
495 pub _10: Option<String>,
496}
497
498#[derive(
502 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
503)]
504pub struct RCD {
505 #[serde(rename = "01")]
506 pub _01: Option<String>,
507 #[serde(rename = "02")]
508 pub _02: Option<String>,
509 #[serde(rename = "03")]
510 pub _03: Option<String>,
511 #[serde(rename = "04")]
512 pub _04: Option<String>,
513 #[serde(rename = "05")]
514 pub _05: Option<String>,
515 #[serde(rename = "06")]
516 pub _06: Option<String>,
517 #[serde(rename = "07")]
518 pub _07: Option<String>,
519 #[serde(rename = "08")]
520 pub _08: Option<String>,
521 #[serde(rename = "09")]
522 pub _09: Option<String>,
523 #[serde(rename = "10")]
524 pub _10: Option<String>,
525 #[serde(rename = "11")]
526 pub _11: Option<String>,
527 #[serde(rename = "12")]
528 pub _12: Option<String>,
529 #[serde(rename = "13")]
530 pub _13: Option<String>,
531 #[serde(rename = "14")]
532 pub _14: Option<String>,
533 #[serde(rename = "15")]
534 pub _15: Option<String>,
535 #[serde(rename = "16")]
536 pub _16: Option<String>,
537 #[serde(rename = "17")]
538 pub _17: Option<String>,
539 #[serde(rename = "18")]
540 pub _18: Option<String>,
541 #[serde(rename = "19")]
542 pub _19: Option<String>,
543 #[serde(rename = "20")]
544 pub _20: Option<String>,
545}
546
547#[derive(
549 Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
550)]
551pub struct R9 {
552 #[serde(rename = "01")]
553 pub _01: String,
554 #[serde(rename = "02")]
555 pub _02: Option<String>,
556 #[serde(rename = "03")]
557 pub _03: Option<String>,
558 #[serde(rename = "04")]
559 pub _04: Option<String>,
560 #[serde(rename = "05")]
561 pub _05: Option<String>,
562 #[serde(rename = "06")]
563 pub _06: Option<String>,
564 #[serde(rename = "07")]
565 pub _07: Option<String>,
566 #[serde(rename = "08")]
567 pub _08: Option<String>,
568 #[serde(rename = "09")]
569 pub _09: Option<String>,
570}