#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
use serde::{Serialize};
use serde::Deserialize;
use yaserde_derive::YaDeserialize;
use yaserde_derive::YaSerialize;
use super::*;
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ProductDefinitions {
#[yaserde(child)]
#[yaserde(rename = "ProductMetaData")]
#[serde(rename = "ProductMetaData")]
pub product_meta_data: Option<ProductMetaData>,
#[yaserde(child)]
#[yaserde(rename = "Variants")]
#[serde(rename = "Variants", skip_serializing_if = "Option::is_none")]
pub variants: Option<Variants>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct LuminaireMaintenanceFactor {
#[yaserde(attribute, rename = "years")]
#[serde(rename = "@years", skip_serializing_if = "Option::is_none")]
pub years: Option<i32>,
#[yaserde(attribute, rename = "roomCondition")]
#[serde(rename = "@roomCondition", skip_serializing_if = "Option::is_none")]
pub room_condition: Option<String>,
#[yaserde(text, rename = "$value")]
#[serde(rename = "$")]
pub value: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct CieLuminaireMaintenanceFactors {
#[yaserde(rename = "LuminaireMaintenanceFactor")]
#[serde(rename = "LuminaireMaintenanceFactor")]
pub luminaire_maintenance_factor: Vec<LuminaireMaintenanceFactor>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct LuminaireDirtDepreciation {
#[yaserde(rename = "years")]
#[serde(rename = "years")]
pub years: i32,
#[yaserde(rename = "roomCondition")]
#[serde(rename = "roomCondition")]
pub room_condition: String,
#[yaserde(rename = "$value")]
pub value: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct IesLuminaireLightLossFactors {
#[yaserde(rename = "LuminaireDirtDepreciation")]
#[serde(rename = "LuminaireDirtDepreciation")]
pub luminaire_dirt_depreciation: Vec<LuminaireDirtDepreciation>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct JiegMaintenanceFactors {
#[yaserde(rename = "LuminaireMaintenanceFactor")]
#[serde(rename = "LuminaireMaintenanceFactor")]
pub luminaire_maintenance_factor: Vec<LuminaireMaintenanceFactor>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct LuminaireMaintenance {
#[yaserde(rename = "Cie97LuminaireType")]
#[serde(rename = "Cie97LuminaireType")]
pub cie97_luminaire_type: String,
#[yaserde(rename = "CieLuminaireMaintenanceFactors")]
#[serde(rename = "CieLuminaireMaintenanceFactors")]
pub cie_luminaire_maintenance_factors: CieLuminaireMaintenanceFactors,
#[yaserde(rename = "IesLuminaireLightLossFactors")]
#[serde(rename = "IesLuminaireLightLossFactors", skip_serializing_if = "Option::is_none")]
pub ies_luminaire_light_loss_factors: Option<IesLuminaireLightLossFactors>,
#[yaserde(rename = "JiegMaintenanceFactors")]
#[serde(rename = "JiegMaintenanceFactors", skip_serializing_if = "Option::is_none")]
pub jieg_maintenance_factors: Option<JiegMaintenanceFactors>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ProductMetaData {
#[yaserde(rename = "ProductNumber")]
#[serde(rename = "ProductNumber", skip_serializing_if = "Option::is_none")]
pub product_number: Option<LocaleFoo>,
#[yaserde(rename = "Name")]
#[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
pub name: Option<LocaleFoo>,
#[yaserde(rename = "Description")]
#[serde(rename = "Description", skip_serializing_if = "Option::is_none")]
pub description: Option<LocaleFoo>,
#[yaserde(rename = "TenderText")]
#[serde(rename = "TenderText")]
pub tender_text: Option<LocaleFoo>,
#[yaserde(rename = "ProductSeries")]
#[serde(rename = "ProductSeries", skip_serializing_if = "Option::is_none")]
pub product_series: Option<ProductSeries>,
#[yaserde(rename = "Pictures")]
#[serde(rename = "Pictures", skip_serializing_if = "Option::is_none")]
pub pictures: Option<Images>,
#[yaserde(rename = "LuminaireMaintenance")]
#[serde(rename = "LuminaireMaintenance", skip_serializing_if = "Option::is_none")]
pub luminaire_maintenance: Option<LuminaireMaintenance>,
#[yaserde(rename = "DescriptiveAttributes")]
#[serde(rename = "DescriptiveAttributes", skip_serializing_if = "Option::is_none")]
pub descriptive_attributes: Option<DescriptiveAttributes>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct RectangularCutout {
#[yaserde(attribute, rename = "Width")]
#[serde(rename = "@Width")]
pub width: i32,
#[yaserde(attribute, rename = "Length")]
#[serde(rename = "@Length")]
pub length: i32,
#[yaserde(attribute, rename = "Depth")]
#[serde(rename = "@Depth")]
pub depth: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct CircularCutout {
#[yaserde(attribute, rename = "Diameter")]
#[serde(rename = "@Diameter")]
pub diameter: i32,
#[yaserde(attribute, rename = "Depth")]
#[serde(rename = "@Depth")]
pub depth: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Recessed {
#[yaserde(attribute, rename = "recessedDepth")]
#[serde(rename = "@recessedDepth")]
pub recessed_depth: i32,
#[yaserde(attribute, rename = "RectangularCutout")]
#[serde(rename = "@RectangularCutout")]
pub rectangular_cutout: RectangularCutout,
#[yaserde(attribute, rename = "Depth")]
#[serde(rename = "@Depth")]
pub depth: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct SurfaceMounted {}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Pendant {
#[yaserde(rename = "pendantLength")]
#[serde(rename = "pendantLength")]
pub pendant_length: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Ceiling {
#[yaserde(rename = "Recessed")]
#[serde(rename = "Recessed")]
pub recessed: Recessed,
#[yaserde(rename = "SurfaceMounted")]
#[serde(rename = "SurfaceMounted")]
pub surface_mounted: SurfaceMounted,
#[yaserde(rename = "Pendant")]
#[serde(rename = "Pendant")]
pub pendant: Pendant,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Wall {
#[yaserde(attribute, rename = "mountingHeight")]
#[serde(rename = "@mountingHeight")]
pub mounting_height: i32,
#[yaserde(rename = "Recessed")]
#[serde(rename = "Recessed")]
pub recessed: Option<Recessed>,
#[yaserde(rename = "Depth")]
#[serde(rename = "Depth")]
pub depth: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct FreeStanding {}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct WorkingPlane {
#[yaserde(rename = "FreeStanding")]
#[serde(rename = "FreeStanding")]
pub free_standing: FreeStanding,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct PoleTop {
#[yaserde(rename = "poleHeight")]
#[serde(rename = "poleHeight")]
pub pole_height: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct PoleIntegrated {
#[yaserde(rename = "poleHeight")]
#[serde(rename = "poleHeight")]
pub pole_height: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Ground {
#[yaserde(rename = "PoleTop")]
#[serde(rename = "PoleTop")]
pub pole_top: PoleTop,
#[yaserde(rename = "PoleIntegrated")]
#[serde(rename = "PoleIntegrated")]
pub pole_integrated: PoleIntegrated,
#[yaserde(rename = "FreeStanding")]
#[serde(rename = "FreeStanding")]
pub free_standing: FreeStanding,
#[yaserde(rename = "SurfaceMounted")]
#[serde(rename = "SurfaceMounted")]
pub surface_mounted: SurfaceMounted,
#[yaserde(rename = "Recessed")]
#[serde(rename = "Recessed")]
pub recessed: Recessed,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Mountings {
#[yaserde(rename = "Ceiling")]
#[serde(rename = "Ceiling")]
pub ceiling: Option<Ceiling>,
#[yaserde(rename = "Wall")]
#[serde(rename = "Wall")]
pub wall: Option<Wall>,
#[yaserde(rename = "WorkingPlane")]
#[serde(rename = "WorkingPlane")]
pub working_plane: Option<WorkingPlane>,
#[yaserde(rename = "Ground")]
#[serde(rename = "Ground")]
pub ground: Option<Ground>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct EmitterReference {
#[yaserde(attribute, rename = "emitterId")]
#[serde(rename = "@emitterId")]
pub emitter_id: String,
#[yaserde(rename = "EmitterObjectExternalName")]
#[serde(rename = "EmitterObjectExternalName")]
pub emitter_object_external_name: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct SimpleGeometryReference {
#[yaserde(rename = "geometryId")]
#[serde(rename = "geometryId")]
pub geometry_id: String,
#[yaserde(rename = "emitterId")]
#[serde(rename = "emitterId")]
pub emitter_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ModelGeometryReference {
#[yaserde(attribute, rename = "geometryId")]
#[serde(rename = "@geometryId")]
pub geometry_id: String,
#[yaserde(rename = "EmitterReference")]
#[serde(rename = "EmitterReference")]
pub emitter_reference: Vec<EmitterReference>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct GeometryReferences {
#[yaserde(rename = "SimpleGeometryReference")]
#[serde(rename = "SimpleGeometryReference")]
pub simple_geometry_reference: SimpleGeometryReference,
#[yaserde(rename = "ModelGeometryReference")]
#[serde(rename = "ModelGeometryReference")]
pub model_geometry_reference: ModelGeometryReference,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Geometry {
#[yaserde(rename = "SimpleGeometryReference")]
#[serde(rename = "SimpleGeometryReference", skip_serializing_if = "Option::is_none")]
pub simple_geometry_reference: Option<SimpleGeometryReference>,
#[yaserde(rename = "ModelGeometryReference")]
#[serde(rename = "ModelGeometryReference", skip_serializing_if = "Option::is_none")]
pub model_geometry_reference: Option<ModelGeometryReference>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Symbol {
#[yaserde(rename = "fileId")]
#[serde(rename = "fileId")]
pub file_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Variant {
#[yaserde(attribute, rename = "id")]
#[serde(rename = "@id")]
pub id: String,
#[yaserde(rename = "sortOrder")]
#[serde(rename = "sortOrder", skip_serializing_if = "Option::is_none")]
pub sort_order: Option<i32>,
#[yaserde(rename = "ProductNumber")]
#[serde(rename = "ProductNumber", skip_serializing_if = "Option::is_none")]
pub product_number: Option<LocaleFoo>,
#[yaserde(rename = "Name")]
#[serde(rename = "Name", skip_serializing_if = "Option::is_none")]
pub name: Option<LocaleFoo>,
#[yaserde(rename = "Description")]
#[serde(rename = "Description", skip_serializing_if = "Option::is_none")]
pub description: Option<LocaleFoo>,
#[yaserde(rename = "TenderText")]
#[serde(rename = "TenderText", skip_serializing_if = "Option::is_none")]
pub tender_text: Option<LocaleFoo>,
#[yaserde(rename = "GTIN")]
#[serde(rename = "GTIN", skip_serializing_if = "Option::is_none")]
pub gtin: Option<String>,
#[yaserde(rename = "Mountings")]
#[serde(rename = "Mountings", skip_serializing_if = "Option::is_none")]
pub mountings: Option<Mountings>,
#[yaserde(rename = "Geometry")]
#[serde(rename = "Geometry", skip_serializing_if = "Option::is_none")]
pub geometry: Option<Geometry>,
#[yaserde(rename = "ProductSeries")]
#[serde(rename = "ProductSeries", skip_serializing_if = "Option::is_none")]
pub product_series: Option<ProductSeries>,
#[yaserde(rename = "Pictures")]
#[serde(rename = "Pictures", skip_serializing_if = "Option::is_none")]
pub pictures: Option<Images>,
#[yaserde(rename = "Symbol")]
#[serde(rename = "Symbol", skip_serializing_if = "Option::is_none")]
pub symbol: Option<Symbol>,
#[yaserde(rename = "DescriptiveAttributes")]
#[serde(rename = "DescriptiveAttributes", skip_serializing_if = "Option::is_none")]
pub descriptive_attributes: Option<DescriptiveAttributes>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Variants {
#[yaserde(rename = "Variant")]
#[serde(rename = "Variant")]
pub variant: Vec<Variant>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ProductSize {
#[yaserde(rename = "Length")]
#[serde(rename = "Length")]
pub length: i32,
#[yaserde(rename = "Width")]
#[serde(rename = "Width")]
pub width: i32,
#[yaserde(rename = "Height")]
#[serde(rename = "Height")]
pub height: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Adjustabilities {
#[yaserde(rename = "Adjustability")]
#[serde(rename = "Adjustability")]
pub adjustability: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ProtectiveAreas {
#[yaserde(rename = "Area")]
#[serde(rename = "Area")]
pub area: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Mechanical {
#[yaserde(rename = "ProductSize")]
#[serde(rename = "ProductSize", skip_serializing_if = "Option::is_none")]
pub product_size: Option<ProductSize>,
#[yaserde(rename = "ProductForm")]
#[serde(rename = "ProductForm", skip_serializing_if = "Option::is_none")]
pub product_form: Option<String>,
#[yaserde(rename = "SealingMaterial")]
#[serde(rename = "SealingMaterial", skip_serializing_if = "Option::is_none")]
pub sealing_material: Option<LocaleFoo>,
#[yaserde(rename = "Adjustabilities")]
#[serde(rename = "Adjustabilities", skip_serializing_if = "Option::is_none")]
pub adjustabilities: Option<Adjustabilities>,
#[yaserde(rename = "IKRating")]
#[serde(rename = "IKRating", skip_serializing_if = "Option::is_none")]
pub ik_rating: Option<String>,
#[yaserde(rename = "ProtectiveAreas")]
#[serde(rename = "ProtectiveAreas", skip_serializing_if = "Option::is_none")]
pub protective_areas: Option<ProtectiveAreas>,
#[yaserde(rename = "Weight")]
#[serde(rename = "Weight", skip_serializing_if = "Option::is_none")]
pub weight: Option<f64>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ClampingRange {
#[yaserde(rename = "Lower")]
#[serde(rename = "Lower")]
pub lower: f64,
#[yaserde(rename = "Upper")]
#[serde(rename = "Upper")]
pub upper: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Electrical {
#[yaserde(rename = "ClampingRange")]
#[serde(rename = "ClampingRange")]
pub clamping_range: ClampingRange,
#[yaserde(rename = "SwitchingCapacity")]
#[serde(rename = "SwitchingCapacity")]
pub switching_capacity: String,
#[yaserde(rename = "ElectricalSafetyClass")]
#[serde(rename = "ElectricalSafetyClass")]
pub electrical_safety_class: String,
#[yaserde(rename = "IngressProtectionIPCode")]
#[serde(rename = "IngressProtectionIPCode")]
pub ingress_protection_ip_code: String,
#[yaserde(rename = "PowerFactor")]
#[serde(rename = "PowerFactor")]
pub power_factor: f64,
#[yaserde(rename = "ConstantLightOutput")]
#[serde(rename = "ConstantLightOutput")]
pub constant_light_output: bool,
#[yaserde(rename = "LightDistribution")]
#[serde(rename = "LightDistribution", skip_serializing_if = "Option::is_none")]
pub light_distribution: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Flux {
#[yaserde(rename = "hours")]
#[serde(rename = "hours")]
pub hours: i32,
#[yaserde(rename = "$value")]
pub value: i32,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct DurationTimeAndFlux {
#[yaserde(rename = "Flux")]
#[serde(rename = "Flux")]
pub flux: Vec<Flux>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Emergency {
#[yaserde(rename = "DurationTimeAndFlux")]
#[serde(rename = "DurationTimeAndFlux", skip_serializing_if = "Option::is_none")]
pub duration_time_and_flux: Option<DurationTimeAndFlux>,
#[yaserde(rename = "DedicatedEmergencyLightingType")]
#[serde(rename = "DedicatedEmergencyLightingType", skip_serializing_if = "Option::is_none")]
pub dedicated_emergency_lighting_type: Option<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ListPrice {
#[yaserde(rename = "currency")]
#[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
pub currency: Option<String>,
#[yaserde(rename = "$value")]
#[serde(rename = "$")]
pub value: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ListPrices {
#[yaserde(rename = "ListPrice")]
#[serde(rename = "ListPrice")]
pub list_price: Vec<ListPrice>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct HousingColor {
#[yaserde(rename = "ral")]
#[serde(rename = "ral")]
pub ral: Option<i32>,
#[yaserde(flatten)]
pub locale: Locale,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct HousingColors {
#[yaserde(rename = "HousingColor")]
#[serde(rename = "HousingColor")]
pub housing_color: Vec<HousingColor>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Markets {
#[yaserde(rename = "Region")]
#[serde(rename = "Region")]
pub region: Vec<Locale>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ApprovalMarks {
#[yaserde(rename = "ApprovalMark")]
#[serde(rename = "ApprovalMark")]
pub approval_mark: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct DesignAwards {
#[yaserde(rename = "DesignAward")]
#[serde(rename = "DesignAward")]
pub design_award: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Labels {
#[yaserde(rename = "Label")]
#[serde(rename = "Label")]
pub label: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Applications {
#[yaserde(rename = "Application")]
#[serde(rename = "Application")]
pub application: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Marketing {
#[yaserde(rename = "ListPrices")]
#[serde(rename = "ListPrices", skip_serializing_if = "Option::is_none")]
pub list_prices: Option<ListPrices>,
#[yaserde(rename = "HousingColors")]
#[serde(rename = "HousingColors", skip_serializing_if = "Option::is_none")]
pub housing_colors: Option<HousingColors>,
#[yaserde(rename = "Markets")]
#[serde(rename = "Markets", skip_serializing_if = "Option::is_none")]
pub markets: Option<Markets>,
#[yaserde(rename = "Hyperlinks")]
#[serde(rename = "Hyperlinks", skip_serializing_if = "Option::is_none")]
pub hyperlinks: Option<Hyperlinks>,
#[yaserde(rename = "Designer")]
#[serde(rename = "Designer", skip_serializing_if = "Option::is_none")]
pub designer: Option<String>,
#[yaserde(rename = "ApprovalMarks")]
#[serde(rename = "ApprovalMarks", skip_serializing_if = "Option::is_none")]
pub approval_marks: Option<ApprovalMarks>,
#[yaserde(rename = "DesignAwards")]
#[serde(rename = "DesignAwards", skip_serializing_if = "Option::is_none")]
pub design_awards: Option<DesignAwards>,
#[yaserde(rename = "Labels")]
#[serde(rename = "Labels", skip_serializing_if = "Option::is_none")]
pub labels: Option<Labels>,
#[yaserde(rename = "Applications")]
#[serde(rename = "Applications", skip_serializing_if = "Option::is_none")]
pub applications: Option<Applications>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct UsefulLifeTimes {
#[yaserde(rename = "UsefulLife")]
#[serde(rename = "UsefulLife")]
pub useful_life: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct MedianUsefulLifeTimes {
#[yaserde(rename = "MedianUsefulLife")]
#[serde(rename = "MedianUsefulLife")] pub median_useful_life: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Directives {
#[yaserde(rename = "Directive")]
#[serde(rename = "Directive")]
pub directive: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Classes {
#[yaserde(rename = "Class")]
#[serde(rename = "Class")]
pub class: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Divisions {
#[yaserde(rename = "Division")]
#[serde(rename = "Division")]
pub division: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Gas {
#[yaserde(rename = "Group")]
#[serde(rename = "Group")]
pub group: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Dust {
#[yaserde(rename = "Group")]
#[serde(rename = "Group")]
pub group: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct DivisionGroups {
#[yaserde(rename = "Gas")]
#[serde(rename = "Gas")]
pub gas: Gas,
#[yaserde(rename = "Dust")]
#[serde(rename = "Dust")]
pub dust: Dust,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Zones {
#[yaserde(rename = "Gas")]
#[serde(rename = "Gas")]
pub gas: Gas,
#[yaserde(rename = "Dust")]
#[serde(rename = "Dust")]
pub dust: Dust,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ZoneGroups {
#[yaserde(rename = "Gas")]
#[serde(rename = "Gas")]
pub gas: Gas,
#[yaserde(rename = "Dust")]
#[serde(rename = "Dust")]
pub dust: Dust,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct TemperatureClasses {
#[yaserde(rename = "TemperatureClass")]
#[serde(rename = "TemperatureClass")]
pub temperature_class: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ExCodes {
#[yaserde(rename = "ExCode")]
#[serde(rename = "ExCode")]
pub ex_code: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct EquipmentProtectionLevels {
#[yaserde(rename = "EquipmentProtectionLevel")]
#[serde(rename = "EquipmentProtectionLevel")]
pub equipment_protection_level: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct EquipmentGroups {
#[yaserde(rename = "EquipmentGroup")]
#[serde(rename = "EquipmentGroup")]
pub equipment_group: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct EquipmentCategories {
#[yaserde(rename = "EquipmentCategory")]
#[serde(rename = "EquipmentCategory")]
pub equipment_category: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Atmospheres {
#[yaserde(rename = "Atmosphere")]
#[serde(rename = "Atmosphere")]
pub atmosphere: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Groups {
#[yaserde(rename = "Group")]
#[serde(rename = "Group")]
pub group: Vec<String>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct ATEX {
#[yaserde(rename = "Directives")]
#[serde(rename = "Directives")]
pub directives: Directives,
#[yaserde(rename = "Classes")]
#[serde(rename = "Classes")]
pub classes: Classes,
#[yaserde(rename = "Divisions")]
#[serde(rename = "Divisions")]
pub divisions: Divisions,
#[yaserde(rename = "DivisionGroups")]
#[serde(rename = "DivisionGroups")]
pub division_groups: DivisionGroups,
#[yaserde(rename = "Zones")]
#[serde(rename = "Zones")]
pub zones: Zones,
#[yaserde(rename = "ZoneGroups")]
#[serde(rename = "ZoneGroups")]
pub zone_groups: ZoneGroups,
#[yaserde(rename = "MaximumSurfaceTemperature")]
#[serde(rename = "MaximumSurfaceTemperature")]
pub maximum_surface_temperature: String,
#[yaserde(rename = "Groups")]
#[serde(rename = "Groups")]
pub groups: Groups,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct AbsorptionRate {
#[yaserde(rename = "hertz")]
#[serde(rename = "hertz")]
pub hertz: i32,
#[yaserde(rename = "$value")]
pub value: f64,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct AcousticAbsorptionRates {
#[yaserde(rename = "AbsorptionRate")]
#[serde(rename = "AbsorptionRate")]
pub absorption_rate: Vec<AbsorptionRate>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct OperationsAndMaintenance {
#[yaserde(rename = "UsefulLifeTimes")]
#[serde(rename = "UsefulLifeTimes", skip_serializing_if = "Option::is_none")]
pub useful_life_times: Option<UsefulLifeTimes>,
#[yaserde(rename = "MedianUsefulLifeTimes")]
#[serde(rename = "MedianUsefulLifeTimes", skip_serializing_if = "Option::is_none")]
pub median_useful_life_times: Option<MedianUsefulLifeTimes>,
#[yaserde(rename = "OperatingTemperature")]
#[serde(rename = "OperatingTemperature", skip_serializing_if = "Option::is_none")]
pub operating_temperature: Option<TemperatureRange>,
#[yaserde(rename = "AmbientTemperature")]
#[serde(rename = "AmbientTemperature", skip_serializing_if = "Option::is_none")]
pub ambient_temperature: Option<TemperatureRange>,
#[yaserde(rename = "RatedAmbientTemperature")]
#[serde(rename = "RatedAmbientTemperature", skip_serializing_if = "Option::is_none")]
pub rated_ambient_temperature: Option<i32>,
#[yaserde(rename = "ATEX")]
#[serde(rename = "ATEX", skip_serializing_if = "Option::is_none")]
pub atex: Option<ATEX>,
#[yaserde(rename = "AcousticAbsorptionRates")]
#[serde(rename = "AcousticAbsorptionRates", skip_serializing_if = "Option::is_none")]
pub acoustic_absorption_rates: Option<AcousticAbsorptionRates>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct FileReference {
#[yaserde(rename = "fileId")]
#[serde(rename = "fileId")]
pub file_id: String,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct Property {
#[yaserde(rename = "id")]
#[serde(rename = "id")]
pub id: String,
#[yaserde(rename = "Name")]
#[serde(rename = "Name")]
pub name: Locale,
#[yaserde(rename = "PropertySource")]
#[serde(rename = "PropertySource")]
pub property_source: String,
#[yaserde(rename = "Value")]
#[serde(rename = "Value")]
pub value: String,
#[yaserde(rename = "FileReference")]
#[serde(rename = "FileReference")]
pub file_reference: FileReference,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct CustomProperties {
#[yaserde(rename = "Property")]
#[serde(rename = "Property")]
pub property: Vec<Property>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct DescriptiveAttributes {
#[yaserde(rename = "Mechanical")]
#[serde(rename = "Mechanical", skip_serializing_if = "Option::is_none")]
pub mechanical: Option<Mechanical>,
#[yaserde(rename = "Electrical")]
#[serde(rename = "Electrical", skip_serializing_if = "Option::is_none")]
pub electrical: Option<Electrical>,
#[yaserde(rename = "Emergency")]
#[serde(rename = "Emergency", skip_serializing_if = "Option::is_none")]
pub emergency: Option<Emergency>,
#[yaserde(rename = "Marketing")]
#[serde(rename = "Marketing", skip_serializing_if = "Option::is_none")]
pub marketing: Option<Marketing>,
#[yaserde(rename = "OperationsAndMaintenance")]
#[serde(rename = "OperationsAndMaintenance", skip_serializing_if = "Option::is_none")]
pub operations_and_maintenance: Option<OperationsAndMaintenance>,
#[yaserde(rename = "CustomProperties")]
#[serde(rename = "CustomProperties", skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomProperties>,
}
#[derive(Default, Debug, Clone, PartialEq, YaDeserialize, YaSerialize, Serialize, Deserialize)]
pub struct TemperatureRange {
#[yaserde(rename = "Lower")]
#[serde(rename = "Lower")]
pub lower: i32,
#[yaserde(rename = "Upper")]
#[serde(rename = "Upper")]
pub upper: i32,
}