Skip to main content

osdm_sys/models/
place_position.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/// PlacePosition : description of a place 
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
17pub struct PlacePosition {
18    /// place number as indicated at the place in the coach 
19    #[serde(rename = "number")]
20    pub number: String,
21    #[serde(rename = "status")]
22    pub status: models::AvailabilityStatus,
23    /// references to the reservations for which this place can be selected. The reservation ids must be part of the list of reservation ids for which the consumer has requested the available places and the consumer must accept a list by setting singleSelectionMapsRequired to false 
24    #[serde(rename = "reservationRefs", skip_serializing_if = "Option::is_none")]
25    pub reservation_refs: Option<Vec<String>>,
26    #[serde(rename = "placeProperties", skip_serializing_if = "Option::is_none")]
27    pub place_properties: Option<Vec<String>>,
28    #[serde(rename = "selectionFee", skip_serializing_if = "Option::is_none")]
29    pub selection_fee: Option<Box<models::SelectionFee>>,
30}
31
32impl PlacePosition {
33    /// description of a place 
34    pub fn new(number: String, status: models::AvailabilityStatus) -> PlacePosition {
35        PlacePosition {
36            number,
37            status,
38            reservation_refs: None,
39            place_properties: None,
40            selection_fee: None,
41        }
42    }
43}
44