use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct PlaceParam {
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<models::PlaceType>,
#[serde(rename = "usage", skip_serializing_if = "Option::is_none")]
pub usage: Option<models::PlaceUsage>,
#[serde(rename = "ptModes", skip_serializing_if = "Option::is_none")]
pub pt_modes: Option<Box<models::ModeFilter>>,
#[serde(rename = "serviceBrandFilter", skip_serializing_if = "Option::is_none")]
pub service_brand_filter: Option<Box<models::ServiceBrandFilter>>,
#[serde(rename = "carrierFilter", skip_serializing_if = "Option::is_none")]
pub carrier_filter: Option<Box<models::CarrierFilter>>,
#[serde(rename = "pointOfInterestFilter", skip_serializing_if = "Option::is_none")]
pub point_of_interest_filter: Option<Box<models::PointOfInterestFilter>>,
#[serde(rename = "numberOfResults", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub number_of_results: Option<Option<i32>>,
}
impl PlaceParam {
pub fn new() -> PlaceParam {
PlaceParam {
r#type: None,
usage: None,
pt_modes: None,
service_brand_filter: None,
carrier_filter: None,
point_of_interest_filter: None,
number_of_results: None,
}
}
}