// 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 AnsprechpartnerKommunikation {
    pub art: Option<String>,
}

#[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 codeliste_code: Option<String>,
    pub kommunikations_adresse: Option<String>,
    pub rollencodenummer: Option<String>,
    pub rollencodetyp: Option<String>,
    pub kommunikation: Option<AnsprechpartnerKommunikation>,
    pub kontakt: Option<AnsprechpartnerKontakt>,
    pub ansprechpartner_edifact: Option<crate::generated::companions::AnsprechpartnerEdifact>,
}

#[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 MesslokationWrapped {
    #[serde(flatten)]
    pub core: Option<bo4e_german::Messlokation>,
    pub messlokation_edifact: Option<crate::generated::companions::MesslokationEdifact>,
}

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Position {
    pub antwort_status_anlass: Option<String>,
    pub antwort_status_code: Option<String>,
    pub bearbeitungs_datum: Option<String>,
    pub beginn_datum: Option<String>,
    pub begruendung_funktion_code: Option<String>,
    pub begruendung_referenz_code: Option<String>,
    pub begruendung_text1: Option<String>,
    pub begruendung_text2: Option<String>,
    pub begruendung_text3: Option<String>,
    pub begruendung_text4: Option<String>,
    pub begruendung_text5: Option<String>,
    pub ende_datum: Option<String>,
    pub fehler_funktion_code: Option<String>,
    pub fehler_referenz_code: Option<String>,
    pub fehler_text1: Option<String>,
    pub fehler_text2: Option<String>,
    pub fehler_text3: Option<String>,
    pub fehler_text4: Option<String>,
    pub fehler_text5: Option<String>,
    pub geplante_fertigstellung: Option<String>,
    pub geraete_status_anlass: Option<String>,
    pub geraete_status_code: Option<String>,
    pub positionsnummer: Option<String>,
    pub position_edifact: Option<crate::generated::companions::PositionEdifact>,
}

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

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