pontoconnect_rs 2.0.3

For more info, please refer to the documentation: https://documentation.ibanity.com/ponto-connect/
Documentation
/*
 * Ponto Connect
 *
 * For more info, please refer to the documentation: https://documentation.ibanity.com/ponto-connect/
 *
 * The version of the OpenAPI document: 2
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FinancialInstitutionTransactionAttributes {
    /// Description of the financial institution transaction
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// Currency of the financial institution transaction, in <a href='https://en.wikipedia.org/wiki/ISO_4217'>ISO4217</a> format
    #[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
    pub currency: Option<String>,
    /// When this financial institution transaction was created. Formatted according to <a href='https://en.wikipedia.org/wiki/ISO_8601'>ISO8601</a> spec
    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none")]
    pub created_at: Option<String>,
    /// When this financial institution transaction was last synchronized successfully. Formatted according to <a href='https://en.wikipedia.org/wiki/ISO_8601'>ISO8601</a> spec
    #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<String>,
    /// Amount of the financial institution transaction. Can be positive or negative
    #[serde(rename = "amount", skip_serializing_if = "Option::is_none")]
    pub amount: Option<f64>,
    /// A fee that was withheld from this transaction at the financial institution
    #[serde(rename = "fee", skip_serializing_if = "Option::is_none")]
    pub fee: Option<f64>,
    /// Additional transaction-related information provided from the financial institution to the customer
    #[serde(rename = "additionalInformation", skip_serializing_if = "Option::is_none")]
    pub additional_information: Option<String>,
    /// Bank transaction code, based on <a href='https://www.iso20022.org/catalogue-messages/additional-content-messages/external-code-sets'>ISO 20022</a>
    #[serde(rename = "bankTransactionCode", skip_serializing_if = "Option::is_none")]
    pub bank_transaction_code: Option<String>,
    /// Reference for card related to the transaction (if any). For example the last 4 digits of the card number.
    #[serde(rename = "cardReference", skip_serializing_if = "Option::is_none")]
    pub card_reference: Option<String>,
    /// Type of card reference (can be <code>PAN</code> or <code>MASKEDPAN</code>)
    #[serde(rename = "cardReferenceType", skip_serializing_if = "Option::is_none")]
    pub card_reference_type: Option<String>,
    /// Legal name of the counterpart. Can only be updated if it was previously not provided (blank).
    #[serde(rename = "counterpartName", skip_serializing_if = "Option::is_none")]
    pub counterpart_name: Option<String>,
    /// Number representing the counterpart's account
    #[serde(rename = "counterpartReference", skip_serializing_if = "Option::is_none")]
    pub counterpart_reference: Option<String>,
    /// Identification of the creditor, e.g. a SEPA Creditor ID.
    #[serde(rename = "creditorId", skip_serializing_if = "Option::is_none")]
    pub creditor_id: Option<String>,
    /// Identifier assigned by the initiating party to identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Limited to 35 characters in the set <code>a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 / - ? : ( ) . , ' + Space</code> to ensure it is not rejected by the financial institution.
    #[serde(rename = "endToEndId", skip_serializing_if = "Option::is_none")]
    pub end_to_end_id: Option<String>,
    /// Date representing the moment when the financial institution recorded the financial institution transaction.
    #[serde(rename = "executionDate", skip_serializing_if = "Option::is_none")]
    pub execution_date: Option<String>,
    /// Unique reference of the mandate which is signed between the remitter and the debtor
    #[serde(rename = "mandateId", skip_serializing_if = "Option::is_none")]
    pub mandate_id: Option<String>,
    /// Bank transaction code prorietary to the financial institution. Content will vary per financial institution
    #[serde(rename = "proprietaryBankTransactionCode", skip_serializing_if = "Option::is_none")]
    pub proprietary_bank_transaction_code: Option<String>,
    /// Purpose code, based on <a href='https://www.iso20022.org/'>ISO 20022</a>
    #[serde(rename = "purposeCode", skip_serializing_if = "Option::is_none")]
    pub purpose_code: Option<String>,
    /// Content of the remittance information (aka communication)
    #[serde(rename = "remittanceInformation", skip_serializing_if = "Option::is_none")]
    pub remittance_information: Option<String>,
    /// Type of remittance information, can be <code>structured</code> or <code>unstructured</code>
    #[serde(rename = "remittanceInformationType", skip_serializing_if = "Option::is_none")]
    pub remittance_information_type: Option<String>,
    /// Date representing the moment the financial institution transaction is considered effective
    #[serde(rename = "valueDate", skip_serializing_if = "Option::is_none")]
    pub value_date: Option<String>,
}

impl FinancialInstitutionTransactionAttributes {
    pub fn new() -> FinancialInstitutionTransactionAttributes {
        FinancialInstitutionTransactionAttributes {
            description: None,
            currency: None,
            created_at: None,
            updated_at: None,
            amount: None,
            fee: None,
            additional_information: None,
            bank_transaction_code: None,
            card_reference: None,
            card_reference_type: None,
            counterpart_name: None,
            counterpart_reference: None,
            creditor_id: None,
            end_to_end_id: None,
            execution_date: None,
            mandate_id: None,
            proprietary_bank_transaction_code: None,
            purpose_code: None,
            remittance_information: None,
            remittance_information_type: None,
            value_date: None,
        }
    }
}