Skip to main content

fattureincloud_rs/models/
payment_method.rs

1/*
2 * Fatture in Cloud API v2 - API Reference
3 *
4 * Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 500.000 businesses in Italy.   The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5 *
6 * The version of the OpenAPI document: 2.0.32
7 * Contact: info@fattureincloud.it
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
14pub struct PaymentMethod {
15    /// Payment method id
16    #[serde(rename = "id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
17    pub id: Option<Option<i32>>,
18    /// Payment method name
19    #[serde(rename = "name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20    pub name: Option<Option<String>>,
21    /// Payment method type
22    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
23    pub r#type: Option<Type>,
24    /// Payment method is default
25    #[serde(rename = "is_default", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26    pub is_default: Option<Option<bool>>,
27    #[serde(rename = "default_payment_account", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28    pub default_payment_account: Option<Option<Box<models::PaymentAccount>>>,
29    /// Payment method details
30    #[serde(rename = "details", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31    pub details: Option<Option<Vec<models::PaymentMethodDetails>>>,
32    /// Payment method bank iban
33    #[serde(rename = "bank_iban", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34    pub bank_iban: Option<Option<String>>,
35    /// Payment method bank name
36    #[serde(rename = "bank_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37    pub bank_name: Option<Option<String>>,
38    /// Payment method bank beneficiary
39    #[serde(rename = "bank_beneficiary", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
40    pub bank_beneficiary: Option<Option<String>>,
41    /// E-invoice payment method
42    #[serde(rename = "ei_payment_method", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43    pub ei_payment_method: Option<Option<String>>,
44}
45
46impl PaymentMethod {
47    pub fn new() -> PaymentMethod {
48        PaymentMethod {
49            id: None,
50            name: None,
51            r#type: None,
52            is_default: None,
53            default_payment_account: None,
54            details: None,
55            bank_iban: None,
56            bank_name: None,
57            bank_beneficiary: None,
58            ei_payment_method: None,
59        }
60    }
61}
62/// Payment method type
63#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
64pub enum Type {
65    #[serde(rename = "standard")]
66    Standard,
67    #[serde(rename = "riba")]
68    Riba,
69}
70
71impl Default for Type {
72    fn default() -> Type {
73        Self::Standard
74    }
75}
76