use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TransferSchedule {
#[serde(rename = "transferScheduleId")]
pub transfer_schedule_id: String,
#[serde(rename = "transactionType")]
pub transaction_type: models::seller_wallet_2024_03_01::TransactionType,
#[serde(rename = "transactionSourceAccount", skip_serializing_if = "Option::is_none")]
pub transaction_source_account: Option<Box<models::seller_wallet_2024_03_01::TransactionAccount>>,
#[serde(rename = "transactionDestinationAccount")]
pub transaction_destination_account: Box<models::seller_wallet_2024_03_01::TransactionAccount>,
#[serde(rename = "transferScheduleStatus")]
pub transfer_schedule_status: models::seller_wallet_2024_03_01::TransferScheduleStatus,
#[serde(rename = "transferScheduleInformation")]
pub transfer_schedule_information: Box<models::seller_wallet_2024_03_01::TransferScheduleInformation>,
#[serde(rename = "paymentPreference", skip_serializing_if = "Option::is_none")]
pub payment_preference: Option<Box<models::seller_wallet_2024_03_01::PaymentPreference>>,
#[serde(rename = "transferScheduleFailures")]
pub transfer_schedule_failures: Vec<models::seller_wallet_2024_03_01::TransferScheduleFailures>,
}
impl TransferSchedule {
pub fn new(transfer_schedule_id: String, transaction_type: models::seller_wallet_2024_03_01::TransactionType, transaction_destination_account: models::seller_wallet_2024_03_01::TransactionAccount, transfer_schedule_status: models::seller_wallet_2024_03_01::TransferScheduleStatus, transfer_schedule_information: models::seller_wallet_2024_03_01::TransferScheduleInformation, transfer_schedule_failures: Vec<models::seller_wallet_2024_03_01::TransferScheduleFailures>) -> TransferSchedule {
TransferSchedule {
transfer_schedule_id,
transaction_type,
transaction_source_account: None,
transaction_destination_account: Box::new(transaction_destination_account),
transfer_schedule_status,
transfer_schedule_information: Box::new(transfer_schedule_information),
payment_preference: None,
transfer_schedule_failures,
}
}
}