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 OnboardingDetailsAttributes {
    /// Email belonging to the onboarding user
    #[serde(rename = "email", skip_serializing_if = "Option::is_none")]
    pub email: Option<String>,
    /// First name of the onboarding user
    #[serde(rename = "firstName", skip_serializing_if = "Option::is_none")]
    pub first_name: Option<String>,
    /// Last name of the onboarding user
    #[serde(rename = "lastName", skip_serializing_if = "Option::is_none")]
    pub last_name: Option<String>,
    /// City of the onboarding user's organization
    #[serde(rename = "addressCity", skip_serializing_if = "Option::is_none")]
    pub address_city: Option<String>,
    /// Country of the onboarding user's organization
    #[serde(rename = "addressCountry", skip_serializing_if = "Option::is_none")]
    pub address_country: Option<String>,
    /// Postal code of the onboarding user's organization
    #[serde(rename = "addressPostalCode", skip_serializing_if = "Option::is_none")]
    pub address_postal_code: Option<String>,
    /// Street address of the onboarding user's organization
    #[serde(rename = "addressStreetAddress", skip_serializing_if = "Option::is_none")]
    pub address_street_address: Option<String>,
    /// Enterprise number corresponding to the onboarding user's organization
    #[serde(rename = "enterpriseNumber", skip_serializing_if = "Option::is_none")]
    pub enterprise_number: Option<String>,
    /// VAT number corresponding to the onboarding user's organization
    #[serde(rename = "vatNumber", skip_serializing_if = "Option::is_none")]
    pub vat_number: Option<String>,
    /// Phone number of the onboarding user
    #[serde(rename = "phoneNumber", skip_serializing_if = "Option::is_none")]
    pub phone_number: Option<String>,
    /// Indicates if the form should be automatically submitted when all fields are completed. Defaults to <code>false</code>.
    #[serde(rename = "automaticSubmissionOnCompletedForms", skip_serializing_if = "Option::is_none")]
    pub automatic_submission_on_completed_forms: Option<bool>,
    /// Unique identifier of the financial institution that should be preselected during the Ponto onboarding process
    #[serde(rename = "initialFinancialInstitutionId", skip_serializing_if = "Option::is_none")]
    pub initial_financial_institution_id: Option<uuid::Uuid>,
    /// Name of the onboarding user's organization
    #[serde(rename = "organizationName", skip_serializing_if = "Option::is_none")]
    pub organization_name: Option<String>,
    /// Type of the onboarding user's organization. Can be <code>business</code> or <code>personal</code>
    #[serde(rename = "organizationType", skip_serializing_if = "Option::is_none")]
    pub organization_type: Option<String>,
    /// Preferred OTP method for the user. If <code>sms</code> provided, the phone number will be validated. Defaults to <code>email</code>
    #[serde(rename = "preferredOtpMethod", skip_serializing_if = "Option::is_none")]
    pub preferred_otp_method: Option<serde_json::Value>,
    /// Unique identifier of the organization that should be preselected during the Ponto onboarding process
    #[serde(rename = "requestedOrganisationId", skip_serializing_if = "Option::is_none")]
    pub requested_organisation_id: Option<uuid::Uuid>,
    /// Unique identifier that can be used to identify records on the partner side.
    #[serde(rename = "partnerReference", skip_serializing_if = "Option::is_none")]
    pub partner_reference: Option<String>,
}

impl OnboardingDetailsAttributes {
    pub fn new() -> OnboardingDetailsAttributes {
        OnboardingDetailsAttributes {
            email: None,
            first_name: None,
            last_name: None,
            address_city: None,
            address_country: None,
            address_postal_code: None,
            address_street_address: None,
            enterprise_number: None,
            vat_number: None,
            phone_number: None,
            automatic_submission_on_completed_forms: None,
            initial_financial_institution_id: None,
            organization_name: None,
            organization_type: None,
            preferred_otp_method: None,
            requested_organisation_id: None,
            partner_reference: None,
        }
    }
}