use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Location {
#[serde(rename = "AltitudeMeters")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub altitude_meters: Option<f64>,
#[serde(rename = "Contacts")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contacts: Option<Vec<models::resource::v1_14_1::ContactInfo>>,
#[serde(rename = "Info")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub info: Option<String>,
#[serde(rename = "InfoFormat")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub inf_of: Option<String>,
#[serde(rename = "Latitude")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub latitude: Option<f64>,
#[serde(rename = "Longitude")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub longitude: Option<f64>,
#[serde(rename = "Oem")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oem: Option<models::resource::Oem>,
#[serde(rename = "PartLocation")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub part_location: Option<models::resource::v1_14_1::PartLocation>,
#[serde(rename = "Placement")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub placement: Option<models::resource::v1_14_1::Placement>,
#[serde(rename = "PostalAddress")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub postal_address: Option<models::resource::v1_14_1::PostalAddress>,
}
impl crate::Metadata<'static> for Location {
const JSON_SCHEMA: &'static str = "Resource.v1_14_1.json";
}