edifact-types 0.4.1

Bindings for the Edifact standard
Documentation
use crate::d00b::*;
use edifact_types_macros::{DisplayEdifact, DisplayEdifactSg, ParseMsg, ParseSg};
use serde::{Deserialize, Serialize};
use std::fmt;

#[derive(Default, Debug, Serialize, Deserialize, DisplayEdifact, ParseMsg)]
pub struct IFTMIN {
    pub unh: UNH,
    pub bgm: BGM,
    pub cta: Option<CTA>,
    pub com: Vec<COM>,
    pub dtm: Vec<DTM>,
    pub tsr: Vec<TSR>,
    pub cux: Vec<CUX>,
    pub moa: Vec<MOA>,
    pub ftx: Vec<FTX>,
    pub cnt: Vec<CNT>,
    pub doc: Vec<DOC>,
    pub gds: Vec<GDS>,
    pub segment_group_1: Vec<IFTMINSegmentgroup1>,
    pub segment_group_2: Vec<IFTMINSegmentgroup2>,
    pub segment_group_3: Vec<IFTMINSegmentgroup3>,
    pub segment_group_4: Vec<IFTMINSegmentgroup4>,
    pub segment_group_6: Vec<IFTMINSegmentgroup6>,
    pub segment_group_7: Vec<IFTMINSegmentgroup7>,
    pub segment_group_8: Vec<IFTMINSegmentgroup8>,
    pub segment_group_11: Vec<IFTMINSegmentgroup11>,
    pub segment_group_18: Vec<IFTMINSegmentgroup18>,
    pub segment_group_37: Vec<IFTMINSegmentgroup37>,
    pub unt: UNT,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup1 {
    pub loc: LOC,
    pub dtm: Vec<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup10 {
    pub rff: RFF,
    pub dtm: Option<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup11 {
    pub nad: NAD,
    pub loc: Vec<LOC>,
    pub moa: Vec<MOA>,
    pub segment_group_12: Vec<IFTMINSegmentgroup12>,
    pub segment_group_13: Vec<IFTMINSegmentgroup13>,
    pub segment_group_14: Vec<IFTMINSegmentgroup14>,
    pub segment_group_15: Vec<IFTMINSegmentgroup15>,
    pub segment_group_16: Vec<IFTMINSegmentgroup16>,
    pub segment_group_17: Vec<IFTMINSegmentgroup17>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup12 {
    pub cta: CTA,
    pub com: Vec<COM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup13 {
    pub doc: DOC,
    pub dtm: Option<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup14 {
    pub tcc: TCC,
    pub cux: Option<CUX>,
    pub pri: Option<PRI>,
    pub eqn: Option<EQN>,
    pub pcd: Option<PCD>,
    pub moa: Vec<MOA>,
    pub qty: Vec<QTY>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup15 {
    pub rff: RFF,
    pub dtm: Vec<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup16 {
    pub cpi: CPI,
    pub rff: Vec<RFF>,
    pub cux: Option<CUX>,
    pub loc: Vec<LOC>,
    pub moa: Vec<MOA>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup17 {
    pub tsr: TSR,
    pub rff: Option<RFF>,
    pub loc: Option<LOC>,
    pub tpl: Option<TPL>,
    pub ftx: Vec<FTX>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup18 {
    pub gid: GID,
    pub han: Vec<HAN>,
    pub tmp: Option<TMP>,
    pub rng: Option<RNG>,
    pub tmd: Option<TMD>,
    pub loc: Vec<LOC>,
    pub moa: Vec<MOA>,
    pub pia: Vec<PIA>,
    pub ftx: Vec<FTX>,
    pub pcd: Vec<PCD>,
    pub segment_group_19: Vec<IFTMINSegmentgroup19>,
    pub gds: Vec<GDS>,
    pub segment_group_20: Vec<IFTMINSegmentgroup20>,
    pub segment_group_21: Vec<IFTMINSegmentgroup21>,
    pub segment_group_22: Vec<IFTMINSegmentgroup22>,
    pub segment_group_23: Vec<IFTMINSegmentgroup23>,
    pub segment_group_24: Vec<IFTMINSegmentgroup24>,
    pub segment_group_25: Vec<IFTMINSegmentgroup25>,
    pub segment_group_27: Vec<IFTMINSegmentgroup27>,
    pub segment_group_29: Vec<IFTMINSegmentgroup29>,
    pub segment_group_31: Vec<IFTMINSegmentgroup31>,
    pub segment_group_32: Vec<IFTMINSegmentgroup32>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup19 {
    pub nad: NAD,
    pub dtm: Option<DTM>,
    pub loc: Vec<LOC>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup2 {
    pub tod: TOD,
    pub loc: Vec<LOC>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup20 {
    pub mea: MEA,
    pub eqn: Option<EQN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup21 {
    pub dim: DIM,
    pub eqn: Option<EQN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup22 {
    pub rff: RFF,
    pub dtm: Vec<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup23 {
    pub pci: PCI,
    pub rff: Option<RFF>,
    pub dtm: Option<DTM>,
    pub gin: Vec<GIN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup24 {
    pub doc: DOC,
    pub dtm: Vec<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup25 {
    pub gor: GOR,
    pub dtm: Vec<DTM>,
    pub loc: Vec<LOC>,
    pub sel: Vec<SEL>,
    pub ftx: Vec<FTX>,
    pub segment_group_26: Vec<IFTMINSegmentgroup26>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup26 {
    pub doc: DOC,
    pub dtm: Option<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup27 {
    pub tpl: TPL,
    pub segment_group_28: Vec<IFTMINSegmentgroup28>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup28 {
    pub mea: MEA,
    pub eqn: Option<EQN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup29 {
    pub sgp: SGP,
    pub segment_group_30: Vec<IFTMINSegmentgroup30>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup3 {
    pub rff: RFF,
    pub dtm: Vec<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup30 {
    pub mea: MEA,
    pub eqn: Option<EQN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup31 {
    pub tcc: TCC,
    pub cux: Option<CUX>,
    pub pri: Option<PRI>,
    pub eqn: Option<EQN>,
    pub pcd: Option<PCD>,
    pub moa: Vec<MOA>,
    pub qty: Vec<QTY>,
    pub loc: Vec<LOC>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup32 {
    pub dgs: DGS,
    pub ftx: Vec<FTX>,
    pub segment_group_33: Vec<IFTMINSegmentgroup33>,
    pub segment_group_34: Vec<IFTMINSegmentgroup34>,
    pub segment_group_35: Vec<IFTMINSegmentgroup35>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup33 {
    pub cta: CTA,
    pub com: Vec<COM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup34 {
    pub mea: MEA,
    pub eqn: Option<EQN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup35 {
    pub sgp: SGP,
    pub segment_group_36: Vec<IFTMINSegmentgroup36>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup36 {
    pub mea: MEA,
    pub eqn: Option<EQN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup37 {
    pub eqd: EQD,
    pub eqn: Option<EQN>,
    pub tmd: Option<TMD>,
    pub mea: Vec<MEA>,
    pub dim: Vec<DIM>,
    pub sel: Vec<SEL>,
    pub tpl: Vec<TPL>,
    pub han: Option<HAN>,
    pub tmp: Option<TMP>,
    pub ftx: Vec<FTX>,
    pub rff: Vec<RFF>,
    pub segment_group_38: Vec<IFTMINSegmentgroup38>,
    pub segment_group_39: Vec<IFTMINSegmentgroup39>,
    pub segment_group_41: Vec<IFTMINSegmentgroup41>,
    pub segment_group_42: Vec<IFTMINSegmentgroup42>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup38 {
    pub tcc: TCC,
    pub cux: Option<CUX>,
    pub pri: Option<PRI>,
    pub eqn: Option<EQN>,
    pub pcd: Option<PCD>,
    pub moa: Vec<MOA>,
    pub qty: Vec<QTY>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup39 {
    pub nad: NAD,
    pub dtm: Option<DTM>,
    pub segment_group_40: Vec<IFTMINSegmentgroup40>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup4 {
    pub gor: GOR,
    pub dtm: Vec<DTM>,
    pub loc: Vec<LOC>,
    pub sel: Vec<SEL>,
    pub ftx: Vec<FTX>,
    pub segment_group_5: Vec<IFTMINSegmentgroup5>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup40 {
    pub cta: CTA,
    pub com: Vec<COM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup41 {
    pub eqa: EQA,
    pub eqn: Option<EQN>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup42 {
    pub dgs: DGS,
    pub ftx: Vec<FTX>,
    pub segment_group_43: Vec<IFTMINSegmentgroup43>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup43 {
    pub cta: CTA,
    pub com: Vec<COM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup5 {
    pub doc: DOC,
    pub dtm: Option<DTM>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup6 {
    pub cpi: CPI,
    pub rff: Vec<RFF>,
    pub cux: Option<CUX>,
    pub loc: Vec<LOC>,
    pub moa: Vec<MOA>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup7 {
    pub tcc: TCC,
    pub loc: Option<LOC>,
    pub ftx: Option<FTX>,
    pub cux: Option<CUX>,
    pub pri: Option<PRI>,
    pub eqn: Option<EQN>,
    pub pcd: Option<PCD>,
    pub moa: Vec<MOA>,
    pub qty: Vec<QTY>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup8 {
    pub tdt: TDT,
    pub dtm: Vec<DTM>,
    pub tsr: Vec<TSR>,
    pub segment_group_9: Vec<IFTMINSegmentgroup9>,
    pub segment_group_10: Vec<IFTMINSegmentgroup10>,
}

#[derive(Debug, Serialize, Deserialize, DisplayEdifactSg, ParseSg)]
pub struct IFTMINSegmentgroup9 {
    pub loc: LOC,
    pub dtm: Vec<DTM>,
}