osdm_sys/models/
place_selection.rs

1/*
2 * UIC 90918-10 - OSDM
3 *
4 * 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/) 
5 *
6 * The version of the OpenAPI document: 3.7.0
7 * Contact: osdm@uic.org
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// PlaceSelection : Place selection options and selected options in an offer - reference place for adjacent reservation - selected optional place properties - selected places from a graphical place selection `tripLegCoverage` is deprecated and can be retrieved by the `reservationId` 
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct PlaceSelection {
17    #[serde(rename = "reservationId")]
18    pub reservation_id: String,
19    #[serde(rename = "referencePlace", skip_serializing_if = "Option::is_none")]
20    pub reference_place: Option<Box<models::SelectedReferencePlace>>,
21    #[serde(rename = "accommodations", skip_serializing_if = "Option::is_none")]
22    pub accommodations: Option<Vec<models::SelectedAccommodation>>,
23    #[serde(rename = "places", skip_serializing_if = "Option::is_none")]
24    pub places: Option<Vec<models::SelectedPlace>>,
25    #[serde(rename = "tripLegCoverage")]
26    pub trip_leg_coverage: Box<models::TripLegCoverage>,
27}
28
29impl PlaceSelection {
30    /// Place selection options and selected options in an offer - reference place for adjacent reservation - selected optional place properties - selected places from a graphical place selection `tripLegCoverage` is deprecated and can be retrieved by the `reservationId` 
31    pub fn new(reservation_id: String, trip_leg_coverage: models::TripLegCoverage) -> PlaceSelection {
32        PlaceSelection {
33            reservation_id,
34            reference_place: None,
35            accommodations: None,
36            places: None,
37            trip_leg_coverage: Box::new(trip_leg_coverage),
38        }
39    }
40}
41