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 PaymentAttributes {
    /// Current status of the payment. <a href='/ponto-connect/products#payment-initiation-workflow'>See possible statuses</a>.
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<String>,
    /// Currency of the payment, 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>,
    /// Amount of the payment.
    #[serde(rename = "amount", skip_serializing_if = "Option::is_none")]
    pub amount: Option<f64>,
    /// 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>,
    /// Content of the remittance information (aka communication). Limited to 140 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 = "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>,
    /// Financial institution's internal reference for the payee's account
    #[serde(rename = "creditorAccountReference", skip_serializing_if = "Option::is_none")]
    pub creditor_account_reference: Option<String>,
    /// Type of payee's account reference, currently must be <code>IBAN</code>
    #[serde(rename = "creditorAccountReferenceType", skip_serializing_if = "Option::is_none")]
    pub creditor_account_reference_type: Option<String>,
    /// Reference to the financial institution
    #[serde(rename = "creditorAgent", skip_serializing_if = "Option::is_none")]
    pub creditor_agent: Option<String>,
    /// Type of financial institution reference, currently must be <code>BIC</code>
    #[serde(rename = "creditorAgentType", skip_serializing_if = "Option::is_none")]
    pub creditor_agent_type: Option<String>,
    /// Name of the payee. Limited to 60 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 = "creditorName", skip_serializing_if = "Option::is_none")]
    pub creditor_name: Option<String>,
    /// A date in the future when the payment is requested to be executed. The availability of this feature depends on each financial institution. See <a href='https://documentation.ibanity.com//api#financial-institution-attributes'>financial institution attributes</a>. Note that it is not possible to simulate the delayed execution of a payment with the sandbox.
    #[serde(rename = "requestedExecutionDate", skip_serializing_if = "Option::is_none")]
    pub requested_execution_date: Option<String>,
}

impl PaymentAttributes {
    pub fn new() -> PaymentAttributes {
        PaymentAttributes {
            status: None,
            currency: None,
            amount: None,
            end_to_end_id: None,
            remittance_information: None,
            remittance_information_type: None,
            creditor_account_reference: None,
            creditor_account_reference_type: None,
            creditor_agent: None,
            creditor_agent_type: None,
            creditor_name: None,
            requested_execution_date: None,
        }
    }
}