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

#![allow(unused_imports)]

use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AnsprechpartnerKontakt {
    pub funktion_code: Option<String>,
    pub name: Option<String>,
    pub nummer: Option<String>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Ansprechpartner {
    pub kommunikationsadresse1: Option<String>,
    pub kommunikationsadresse2: Option<String>,
    pub kommunikationstyp1: Option<String>,
    pub kommunikationstyp2: Option<String>,
    pub kontakt: Option<AnsprechpartnerKontakt>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BilanzkreisWrapped {
    #[serde(flatten)]
    pub core: Option<bo4e_german::Bilanzierung>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Erreichbarkeit {
    pub dienstag_zeitraum: Option<String>,
    pub donnerstag_zeitraum: Option<String>,
    pub freitag_zeitraum: Option<String>,
    pub mittwoch_zeitraum: Option<String>,
    pub montag_zeitraum: Option<String>,
    pub samstag_zeitraum: Option<String>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GeschaeftspartnerWrapped {
    #[serde(flatten)]
    pub core: Option<bo4e_german::Geschaeftspartner>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MarktteilnehmerWrapped {
    #[serde(flatten)]
    pub core: Option<bo4e_german::Marktteilnehmer>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Nachricht {
    pub antworttyp: Option<String>,
    pub dokument_versionsnummer: Option<String>,
    pub dokumentennummer: Option<String>,
    pub erstellungsdatum: Option<String>,
    pub nachrichtenfunktion: Option<String>,
    pub uns_kennung: Option<String>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ParteiAnsprechpartnerKontakt {
    pub funktion_code: Option<String>,
    pub name: Option<String>,
    pub nummer: Option<String>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ParteiAnsprechpartner {
    pub kommunikationsadresse1: Option<String>,
    pub kommunikationsadresse2: Option<String>,
    pub kommunikationstyp1: Option<String>,
    pub kommunikationstyp2: Option<String>,
    pub kontakt: Option<ParteiAnsprechpartnerKontakt>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ParteiReferenz {
    pub qualifier: Option<String>,
    pub referenz: Option<String>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Referenz {
    pub datum_qualifier: Option<String>,
    pub datum_wert: Option<String>,
    pub qualifier: Option<String>,
    pub referenz: Option<String>,
    pub versionsnummer: Option<String>,
    pub zeilennummer: Option<String>,
}
