// 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 Pid25001MessageStammdaten {
    pub ansprechpartner: Option<Vec<Ansprechpartner>>,
    pub marktteilnehmer: Option<Vec<MarktteilnehmerWrapped>>,
    pub nachricht: Option<Nachricht>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid25001TransaktionStammdaten {
    pub energiemenge: Option<Energiemenge>,
    pub prozessdaten: Option<Prozessdaten>,
    pub rechenschritt: Option<Rechenschritt>,
    pub rechenschritt_zuordnung: Option<RechenschrittZuordnung>,
    pub zeitscheibe: Option<Zeitscheibe>,
}

pub type Pid25001Interchange =
    crate::model::Interchange<Pid25001MessageStammdaten, Pid25001TransaktionStammdaten>;

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid25004TransaktionStammdaten {
    pub prozessdaten: Option<Prozessdaten>,
    pub register: Option<Register>,
    pub register_zuordnung: Option<RegisterZuordnung>,
    pub zaehlzeitdefinition: Option<Zaehlzeitdefinition>,
}

pub type Pid25004Interchange =
    crate::model::Interchange<Pid25004MessageStammdaten, Pid25004TransaktionStammdaten>;

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid25005TransaktionStammdaten {
    pub prozessdaten: Option<Prozessdaten>,
    pub zaehlzeitaenderung: Option<Zaehlzeitaenderung>,
}

pub type Pid25005Interchange =
    crate::model::Interchange<Pid25005MessageStammdaten, Pid25005TransaktionStammdaten>;

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid25006TransaktionStammdaten {
    pub prozessdaten: Option<Prozessdaten>,
    pub schaltzeitdefinition: Option<Schaltzeitdefinition>,
}

pub type Pid25006Interchange =
    crate::model::Interchange<Pid25006MessageStammdaten, Pid25006TransaktionStammdaten>;

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid25007TransaktionStammdaten {
    pub leistungskurve: Option<Leistungskurve>,
    pub prozessdaten: Option<Prozessdaten>,
}

pub type Pid25007Interchange =
    crate::model::Interchange<Pid25007MessageStammdaten, Pid25007TransaktionStammdaten>;

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid25008TransaktionStammdaten {
    pub prozessdaten: Option<Prozessdaten>,
    pub schaltzeitaenderung: Option<Schaltzeitaenderung>,
}

pub type Pid25008Interchange =
    crate::model::Interchange<Pid25008MessageStammdaten, Pid25008TransaktionStammdaten>;

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Pid25009TransaktionStammdaten {
    pub leistungskurvenveraenderung: Option<Leistungskurvenveraenderung>,
    pub prozessdaten: Option<Prozessdaten>,
}

pub type Pid25009Interchange =
    crate::model::Interchange<Pid25009MessageStammdaten, Pid25009TransaktionStammdaten>;

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

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

pub type Pid25010Interchange =
    crate::model::Interchange<Pid25010MessageStammdaten, Pid25010TransaktionStammdaten>;
