// Auto-generated by automapper-generator. Do not edit.

#![allow(unused_imports)]

use super::entities::*;
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33001MessageStammdaten {
    pub ansprechpartner: Option<Ansprechpartner>,
    pub marktteilnehmer: Option<MarktteilnehmerWrapped>,
    pub nachricht: Option<Nachricht>,
    pub waehrung: Option<Waehrung>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33001TransaktionStammdaten {
    pub dokument: Option<Dokument>,
}

pub type Pid33001Interchange =
    crate::model::Interchange<Pid33001MessageStammdaten, Pid33001TransaktionStammdaten>;

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33002MessageStammdaten {
    pub ansprechpartner: Option<Ansprechpartner>,
    pub marktteilnehmer: Option<MarktteilnehmerWrapped>,
    pub nachricht: Option<Nachricht>,
    pub waehrung: Option<Waehrung>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33002TransaktionStammdaten {
    pub abweichung: Option<Abweichung>,
    pub dokument: Option<Dokument>,
}

pub type Pid33002Interchange =
    crate::model::Interchange<Pid33002MessageStammdaten, Pid33002TransaktionStammdaten>;

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33003MessageStammdaten {
    pub ansprechpartner: Option<Ansprechpartner>,
    pub marktteilnehmer: Option<MarktteilnehmerWrapped>,
    pub nachricht: Option<Nachricht>,
    pub waehrung: Option<Waehrung>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33003TransaktionStammdaten {
    pub abweichung: Option<Abweichung>,
    pub dokument: Option<Dokument>,
}

pub type Pid33003Interchange =
    crate::model::Interchange<Pid33003MessageStammdaten, Pid33003TransaktionStammdaten>;

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33004MessageStammdaten {
    pub ansprechpartner: Option<Ansprechpartner>,
    pub marktteilnehmer: Option<MarktteilnehmerWrapped>,
    pub nachricht: Option<Nachricht>,
    pub waehrung: Option<Waehrung>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid33004TransaktionStammdaten {
    pub dokument: Option<Dokument>,
    pub position: Option<Position>,
    pub positionsabweichung: Option<Vec<Positionsabweichung>>,
}

pub type Pid33004Interchange =
    crate::model::Interchange<Pid33004MessageStammdaten, Pid33004TransaktionStammdaten>;
