Skip to main content

x12_types/v005010/segment/
k.rs

1use serde::{Deserialize, Serialize};
2use validator::Validate;
3use x12_types_macros::{DisplaySegment, ParseSegment};
4
5/// K3 - File Information
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 K3 {
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}
26
27/// K2 - Administrative Message
28///
29/// To transmit information in a free-form format for comment or special instruction
30///
31/// REF | ID | NAME | REQ | TYPE | MIN/MAX
32/// ----|----|-------|----|------|-------
33/// 01 | 352 | Description | M | AN | 1/80
34#[derive(
35    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
36)]
37pub struct K2 {
38    #[serde(rename = "01")]
39    pub _01: String,
40}
41
42/// K1 - Remarks
43///
44/// To transmit information in a free-form format for comment or special instruction
45///
46/// REF | ID | NAME | REPEAT | REQ | TYPE | MIN/MAX
47/// ----|----|-------|--------|----|------|-------
48/// 01 | 61 | Free-Form Message | 1 | M | AN | 1/30
49/// 02 | 61 | Free-Form Message | 1 | O | AN | 1/30
50#[derive(
51    Serialize, Deserialize, Clone, Default, Debug, PartialEq, Eq, DisplaySegment, ParseSegment,
52)]
53pub struct K1 {
54    #[serde(rename = "01")]
55    pub _01: String,
56    #[serde(rename = "02")]
57    pub _02: Option<String>,
58}