Skip to main content

osdm_sys/models/
deck_availability.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/// DeckAvailability : A coach deck 
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
17pub struct DeckAvailability {
18    /// Identifies the coach deck layout. It is recommended to import coach deck layout master data periodically by calling GET /coach-deck-layouts 
19    #[serde(rename = "layoutId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20    pub layout_id: Option<Option<String>>,
21    /// Only compartments that match a requested place restriction must be returned (e.g. only return bike hook compartments if availabilities for a bicycle reservation offer were requested). Empty if the whole deck contains no compartments (e.g. traction unit) or no places that matches a requested place restriction. 
22    #[serde(rename = "compartments", skip_serializing_if = "Option::is_none")]
23    pub compartments: Option<Vec<models::CompartmentAvailability>>,
24}
25
26impl DeckAvailability {
27    /// A coach deck 
28    pub fn new() -> DeckAvailability {
29        DeckAvailability {
30            layout_id: None,
31            compartments: None,
32        }
33    }
34}
35