osdm-sys 0.1.0-alpha.2

Specifications for the OSDM API standard. The OSDM specification supports two modes of operation: Retailer Mode and Distributor Mode. The API works identically in both modes, except that in distributor mode the API also returns fare information. The following resources are key to get started: - [Processes](https://osdm.io/spec/processes/) - [Models](https://osdm.io/spec/models/) - [Getting started](https://osdm.io/spec/getting-started/)
Documentation
/*
 * UIC 90918-10 - OSDM
 *
 * Specifications for the OSDM API standard. The OSDM specification supports two modes of operation: Retailer Mode and Distributor Mode. The API works identically in both modes, except that in distributor mode the API also returns fare information.  The following resources are key to get started:    -  [Processes](https://osdm.io/spec/processes/)   -  [Models](https://osdm.io/spec/models/)   -  [Getting started](https://osdm.io/spec/getting-started/) 
 *
 * The version of the OpenAPI document: 3.7.0
 * Contact: osdm@uic.org
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// PointOfInterestCategory : A categorization of points of interest in respect of the activities undertaken at them (defined by key-value-pairs). Provided by OJP. 
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct PointOfInterestCategory {
    /// Open Street Map tag structure (key-value) 
    #[serde(rename = "osmTags", skip_serializing_if = "Option::is_none")]
    pub osm_tags: Option<Vec<models::OsmTag>>,
    /// Classification of the POI (when it is not from OSM). The codification of the classification Id may include de codification source (for example 'IGN:[classificationCode]') 
    #[serde(rename = "pointOfInterestClassifications", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub point_of_interest_classifications: Option<Option<Vec<String>>>,
}

impl PointOfInterestCategory {
    /// A categorization of points of interest in respect of the activities undertaken at them (defined by key-value-pairs). Provided by OJP. 
    pub fn new() -> PointOfInterestCategory {
        PointOfInterestCategory {
            osm_tags: None,
            point_of_interest_classifications: None,
        }
    }
}