osdm-sys 0.1.0-alpha.3

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};

/// BankAccountReference : bank account 
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub struct BankAccountReference {
    /// IBAN to be used in Europe 
    #[serde(rename = "iban", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub iban: Option<Option<String>>,
    /// bank account id to be used outside of EU 
    #[serde(rename = "accountId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub account_id: Option<Option<String>>,
    #[serde(rename = "bankIdCode", skip_serializing_if = "Option::is_none")]
    pub bank_id_code: Option<String>,
    #[serde(rename = "bankId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub bank_id: Option<Option<String>>,
    #[serde(rename = "ownerName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub owner_name: Option<Option<String>>,
}

impl BankAccountReference {
    /// bank account 
    pub fn new() -> BankAccountReference {
        BankAccountReference {
            iban: None,
            account_id: None,
            bank_id_code: None,
            bank_id: None,
            owner_name: None,
        }
    }
}