use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TransferScheduleRequest {
#[serde(rename = "sourceAccountId")]
pub source_account_id: String,
#[serde(rename = "sourceCurrencyCode")]
pub source_currency_code: String,
#[serde(rename = "destinationAccountId")]
pub destination_account_id: String,
#[serde(rename = "destinationTransactionInstrument")]
pub destination_transaction_instrument: Box<models::seller_wallet_2024_03_01::TransactionInstrumentDetails>,
#[serde(rename = "transactionType")]
pub transaction_type: models::seller_wallet_2024_03_01::TransactionType,
#[serde(rename = "transferScheduleInformation")]
pub transfer_schedule_information: Box<models::seller_wallet_2024_03_01::TransferScheduleInformation>,
#[serde(rename = "paymentPreference")]
pub payment_preference: Box<models::seller_wallet_2024_03_01::PaymentPreference>,
#[serde(rename = "transferScheduleStatus", skip_serializing_if = "Option::is_none")]
pub transfer_schedule_status: Option<models::seller_wallet_2024_03_01::TransferScheduleStatus>,
}
impl TransferScheduleRequest {
pub fn new(source_account_id: String, source_currency_code: String, destination_account_id: String, destination_transaction_instrument: models::seller_wallet_2024_03_01::TransactionInstrumentDetails, transaction_type: models::seller_wallet_2024_03_01::TransactionType, transfer_schedule_information: models::seller_wallet_2024_03_01::TransferScheduleInformation, payment_preference: models::seller_wallet_2024_03_01::PaymentPreference) -> TransferScheduleRequest {
TransferScheduleRequest {
source_account_id,
source_currency_code,
destination_account_id,
destination_transaction_instrument: Box::new(destination_transaction_instrument),
transaction_type,
transfer_schedule_information: Box::new(transfer_schedule_information),
payment_preference: Box::new(payment_preference),
transfer_schedule_status: None,
}
}
}