// 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 Ansprechpartner {
    pub funktionscode: Option<String>,
    pub kommunikationsadresse: Option<String>,
    pub kommunikationstyp: Option<String>,
    pub kontaktname: Option<String>,
    pub kontaktnummer: Option<String>,
}

#[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 antwortart: Option<String>,
    pub betrachtungszeitraum: Option<String>,
    pub dokumentennummer: Option<String>,
    pub dokumentenstatus: Option<String>,
    pub dokumenttyp: Option<String>,
    pub erstellungsdatum: Option<String>,
    pub nachrichtenfunktion: Option<String>,
    pub preisblattzeitraum_ende: Option<String>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Preis {
    pub beginn_datum: Option<String>,
    pub beginn_qualifier: Option<String>,
    pub einzelpreisbasis_menge: Option<String>,
    pub ende_datum: Option<String>,
    pub ende_qualifier: Option<String>,
    pub masseinheit: Option<String>,
    pub obere_grenze: Option<String>,
    pub preis_betrag: Option<String>,
    pub preis_qualifier: Option<String>,
    pub preisart_code: Option<String>,
    pub preisart_code2: Option<String>,
    pub untere_grenze: Option<String>,
    pub wertebereich_masseinheit: Option<String>,
    pub wertebereich_qualifier: Option<String>,
}

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PreispositionProduktIdentifikation {
    pub funktion: Option<String>,
    pub id: Option<String>,
    pub typ: Option<String>,
}

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Preisposition {
    pub artikelnummertyp: Option<String>,
    pub beschreibungsformat: Option<String>,
    pub handlungscode: Option<String>,
    pub imd_codeliste_code: Option<String>,
    pub positionsnummer: Option<String>,
    pub produkt_code: Option<String>,
    pub produktbeschreibung: Option<String>,
    pub produktbeschreibung2: Option<String>,
    pub spannungsebene: Option<String>,
    pub produkt_identifikation: Option<PreispositionProduktIdentifikation>,
}

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

#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Waehrung {
    pub waehrung_code: Option<String>,
    pub waehrung_qualifier: Option<String>,
    pub waehrungsverwendung: Option<String>,
}
