use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FeatureProperties {
#[serde(rename = "naurt_type")]
pub naurt_type: NaurtType,
#[serde(rename = "accuracy", skip_serializing_if = "Option::is_none")]
pub accuracy: Option<Box<models::Accuracy>>,
#[serde(rename = "minimum_parking_to_door_distance", skip_serializing_if = "Option::is_none")]
pub minimum_parking_to_door_distance: Option<f64>,
}
impl FeatureProperties {
pub fn new(naurt_type: NaurtType) -> FeatureProperties {
FeatureProperties {
naurt_type,
accuracy: None,
minimum_parking_to_door_distance: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum NaurtType {
#[serde(rename = "basic_geocode")]
BasicGeocode,
#[serde(rename = "naurt_door")]
NaurtDoor,
#[serde(rename = "naurt_building")]
NaurtBuilding,
#[serde(rename = "naurt_parking")]
NaurtParking,
}
impl Default for NaurtType {
fn default() -> NaurtType {
Self::BasicGeocode
}
}