Class: FdxV660Api::DepositAccountTermsAndConditionsEntity

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb

Overview

The static terms and conditions data elements for a deposit account

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(effective_date: SKIP, arbitration_provision: SKIP, card_replacement_fee: 0, paper_statements_fee: 0, domestic_atm_fee: 0, foreign_atm_foreign_currency_advance_fee: 0, foreign_atm_us_dollar_advance_fee: 0, foreign_purchase_foreign_currency_fee: 0, transaction_limits: SKIP, promotions: SKIP, fi_attributes: SKIP, monthly_account_fee: 0, account_closure_fee: 0, account_inactivity_fee: 0, incoming_transfer_fee: 0, incoming_wire_fee: 0, nonsufficient_funds_fee: 0, maximum_monthly_withdrawals: SKIP, excess_withdrawals_fee: 0, overdraft_fee: 0, overdraft_fee_waiver_balance: SKIP, overdraft_fee_waiver_debit: SKIP, daily_overdraft_fees_cap: SKIP, overdraft_protection_fee: 0, overdraft_opt_in_provision: SKIP, overdraft_allowed: SKIP, money_order_fee: 0, cashiers_check_fee: 0, domestic_outgoing_wire_fee: 0, international_outgoing_wire_fee: 0, returned_payment_fee: 0, fixed_finance_charge_fee: 0, check_redeposit_fee: 0, stop_payment_fee: 0, monthly_fee_waiver_direct_deposit: SKIP, monthly_fee_waiver_balance: SKIP, monthly_fee_waiver_balance_type: SKIP, interest_rate_tiers: SKIP, additional_properties: nil) ⇒ DepositAccountTermsAndConditionsEntity

Returns a new instance of DepositAccountTermsAndConditionsEntity.



299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 299

def initialize(effective_date: SKIP, arbitration_provision: SKIP,
               card_replacement_fee: 0, paper_statements_fee: 0,
               domestic_atm_fee: 0,
               foreign_atm_foreign_currency_advance_fee: 0,
               foreign_atm_us_dollar_advance_fee: 0,
               foreign_purchase_foreign_currency_fee: 0,
               transaction_limits: SKIP, promotions: SKIP,
               fi_attributes: SKIP, monthly_account_fee: 0,
               account_closure_fee: 0, account_inactivity_fee: 0,
               incoming_transfer_fee: 0, incoming_wire_fee: 0,
               nonsufficient_funds_fee: 0,
               maximum_monthly_withdrawals: SKIP, excess_withdrawals_fee: 0,
               overdraft_fee: 0, overdraft_fee_waiver_balance: SKIP,
               overdraft_fee_waiver_debit: SKIP,
               daily_overdraft_fees_cap: SKIP, overdraft_protection_fee: 0,
               overdraft_opt_in_provision: SKIP, overdraft_allowed: SKIP,
               money_order_fee: 0, cashiers_check_fee: 0,
               domestic_outgoing_wire_fee: 0,
               international_outgoing_wire_fee: 0, returned_payment_fee: 0,
               fixed_finance_charge_fee: 0, check_redeposit_fee: 0,
               stop_payment_fee: 0, monthly_fee_waiver_direct_deposit: SKIP,
               monthly_fee_waiver_balance: SKIP,
               monthly_fee_waiver_balance_type: SKIP,
               interest_rate_tiers: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @effective_date = effective_date unless effective_date == SKIP
  @arbitration_provision = arbitration_provision unless arbitration_provision == SKIP
  @card_replacement_fee = card_replacement_fee unless card_replacement_fee == SKIP
  @paper_statements_fee = paper_statements_fee unless paper_statements_fee == SKIP
  @domestic_atm_fee = domestic_atm_fee unless domestic_atm_fee == SKIP
  unless foreign_atm_foreign_currency_advance_fee == SKIP
    @foreign_atm_foreign_currency_advance_fee =
      foreign_atm_foreign_currency_advance_fee
  end
  unless foreign_atm_us_dollar_advance_fee == SKIP
    @foreign_atm_us_dollar_advance_fee =
      foreign_atm_us_dollar_advance_fee
  end
  unless foreign_purchase_foreign_currency_fee == SKIP
    @foreign_purchase_foreign_currency_fee =
      foreign_purchase_foreign_currency_fee
  end
  @transaction_limits = transaction_limits unless transaction_limits == SKIP
  @promotions = promotions unless promotions == SKIP
  @fi_attributes = fi_attributes unless fi_attributes == SKIP
  @monthly_account_fee =  unless  == SKIP
  @account_closure_fee =  unless  == SKIP
  @account_inactivity_fee =  unless  == SKIP
  @incoming_transfer_fee = incoming_transfer_fee unless incoming_transfer_fee == SKIP
  @incoming_wire_fee = incoming_wire_fee unless incoming_wire_fee == SKIP
  @nonsufficient_funds_fee = nonsufficient_funds_fee unless nonsufficient_funds_fee == SKIP
  unless maximum_monthly_withdrawals == SKIP
    @maximum_monthly_withdrawals =
      maximum_monthly_withdrawals
  end
  @excess_withdrawals_fee = excess_withdrawals_fee unless excess_withdrawals_fee == SKIP
  @overdraft_fee = overdraft_fee unless overdraft_fee == SKIP
  unless overdraft_fee_waiver_balance == SKIP
    @overdraft_fee_waiver_balance =
      overdraft_fee_waiver_balance
  end
  unless overdraft_fee_waiver_debit == SKIP
    @overdraft_fee_waiver_debit =
      overdraft_fee_waiver_debit
  end
  @daily_overdraft_fees_cap = daily_overdraft_fees_cap unless daily_overdraft_fees_cap == SKIP
  @overdraft_protection_fee = overdraft_protection_fee unless overdraft_protection_fee == SKIP
  unless overdraft_opt_in_provision == SKIP
    @overdraft_opt_in_provision =
      overdraft_opt_in_provision
  end
  @overdraft_allowed = overdraft_allowed unless overdraft_allowed == SKIP
  @money_order_fee = money_order_fee unless money_order_fee == SKIP
  @cashiers_check_fee = cashiers_check_fee unless cashiers_check_fee == SKIP
  unless domestic_outgoing_wire_fee == SKIP
    @domestic_outgoing_wire_fee =
      domestic_outgoing_wire_fee
  end
  unless international_outgoing_wire_fee == SKIP
    @international_outgoing_wire_fee =
      international_outgoing_wire_fee
  end
  @returned_payment_fee = returned_payment_fee unless returned_payment_fee == SKIP
  @fixed_finance_charge_fee = fixed_finance_charge_fee unless fixed_finance_charge_fee == SKIP
  @check_redeposit_fee = check_redeposit_fee unless check_redeposit_fee == SKIP
  @stop_payment_fee = stop_payment_fee unless stop_payment_fee == SKIP
  unless monthly_fee_waiver_direct_deposit == SKIP
    @monthly_fee_waiver_direct_deposit =
      monthly_fee_waiver_direct_deposit
  end
  unless monthly_fee_waiver_balance == SKIP
    @monthly_fee_waiver_balance =
      monthly_fee_waiver_balance
  end
  unless monthly_fee_waiver_balance_type == SKIP
    @monthly_fee_waiver_balance_type =
      monthly_fee_waiver_balance_type
  end
  @interest_rate_tiers = interest_rate_tiers unless interest_rate_tiers == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#account_closure_feeFloat

Fee for account closure. The value is zero if not charged on this account

Returns:

  • (Float)


71
72
73
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 71

def 
  @account_closure_fee
end

#account_inactivity_feeFloat

Fee for account inactivity. The value is zero if not charged on this account

Returns:

  • (Float)


76
77
78
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 76

def 
  @account_inactivity_fee
end

#arbitration_provisionTrueClass | FalseClass

A terms and conditions clause that requires the parties to resolve their disputes through an arbitration process. If true, the terms and conditions have an Arbitration Provision

Returns:

  • (TrueClass | FalseClass)


20
21
22
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 20

def arbitration_provision
  @arbitration_provision
end

#card_replacement_feeFloat

Fee for replacement of debit or credit card (Rush order?). The value is zero if not charged on this account

Returns:

  • (Float)


25
26
27
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 25

def card_replacement_fee
  @card_replacement_fee
end

#cashiers_check_feeFloat

Fee for a cashier's check. The value is zero if not charged on this account

Returns:

  • (Float)


148
149
150
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 148

def cashiers_check_fee
  @cashiers_check_fee
end

#check_redeposit_feeFloat

Fee for return or re-deposit of a check. The value is zero if not charged on this account

Returns:

  • (Float)


173
174
175
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 173

def check_redeposit_fee
  @check_redeposit_fee
end

#daily_overdraft_fees_capInteger

Daily cap on number of overdraft or NSF fees which can be charged to account

Returns:

  • (Integer)


124
125
126
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 124

def daily_overdraft_fees_cap
  @daily_overdraft_fees_cap
end

#domestic_atm_feeFloat

Fee for ATM withdrawal or advance in account-holder's own country and currency. The value is zero if not charged on this account

Returns:

  • (Float)


34
35
36
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 34

def domestic_atm_fee
  @domestic_atm_fee
end

#domestic_outgoing_wire_feeFloat

Fee for an outgoing wire transfer (domestic). The value is zero if not charged on this account

Returns:

  • (Float)


153
154
155
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 153

def domestic_outgoing_wire_fee
  @domestic_outgoing_wire_fee
end

#effective_dateDate

Date that the document or content became effective

Returns:

  • (Date)


14
15
16
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 14

def effective_date
  @effective_date
end

#excess_withdrawals_feeFloat

Fee when monthly withdrawals exceed the maximum. The value is zero if not charged on this account

Returns:

  • (Float)


102
103
104
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 102

def excess_withdrawals_fee
  @excess_withdrawals_fee
end

#fi_attributesArray[FiAttributeEntity]

Array of Financial institution-specific attributes

Returns:



62
63
64
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 62

def fi_attributes
  @fi_attributes
end

#fixed_finance_charge_feeFloat

Fee for a fixed finance charge. The value is zero if not charged on this account

Returns:

  • (Float)


168
169
170
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 168

def fixed_finance_charge_fee
  @fixed_finance_charge_fee
end

#foreign_atm_foreign_currency_advance_feeFloat

Fee for foreign transaction ATM withdrawal or advance in foreign currency. The value is zero if not charged on this account

Returns:

  • (Float)


39
40
41
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 39

def foreign_atm_foreign_currency_advance_fee
  @foreign_atm_foreign_currency_advance_fee
end

#foreign_atm_us_dollar_advance_feeFloat

Fee for foreign transaction ATM withdrawal or advance in US Dollars. The value is zero if not charged on this account

Returns:

  • (Float)


44
45
46
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 44

def foreign_atm_us_dollar_advance_fee
  @foreign_atm_us_dollar_advance_fee
end

#foreign_purchase_foreign_currency_feeFloat

Fee for foreign transaction purchase in foreign currency. The value is zero if not charged on this account

Returns:

  • (Float)


49
50
51
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 49

def foreign_purchase_foreign_currency_fee
  @foreign_purchase_foreign_currency_fee
end

#incoming_transfer_feeFloat

Fee for an incoming electronic funds transfer. The value is zero if not charged on this account

Returns:

  • (Float)


81
82
83
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 81

def incoming_transfer_fee
  @incoming_transfer_fee
end

#incoming_wire_feeFloat

Fee for an incoming wire transfer. The value is zero if not charged on this account

Returns:

  • (Float)


86
87
88
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 86

def incoming_wire_fee
  @incoming_wire_fee
end

#interest_rate_tiersArray[InterestRateTier]

The single APY for the account statement period or the possible APYs earned for different minimum balance amounts (in the current cycle). Sorted from lowest minimumBalance to highest

Returns:



198
199
200
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 198

def interest_rate_tiers
  @interest_rate_tiers
end

#international_outgoing_wire_feeFloat

Fee for an outgoing wire transfer (international). The value is zero if not charged on this account

Returns:

  • (Float)


158
159
160
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 158

def international_outgoing_wire_fee
  @international_outgoing_wire_fee
end

#maximum_monthly_withdrawalsInteger

Monthly cap on number of withdrawals which can made from account before incurring a fee

Returns:

  • (Integer)


97
98
99
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 97

def maximum_monthly_withdrawals
  @maximum_monthly_withdrawals
end

#money_order_feeFloat

Fee for a money order. The value is zero if not charged on this account

Returns:

  • (Float)


143
144
145
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 143

def money_order_fee
  @money_order_fee
end

#monthly_account_feeFloat

Fee for monthly account maintenance. The value is zero if not charged on this account

Returns:

  • (Float)


67
68
69
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 67

def 
  @monthly_account_fee
end

#monthly_fee_waiver_balanceFloat

Account balance above which monthly maintenance fee is waived

Returns:

  • (Float)


186
187
188
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 186

def monthly_fee_waiver_balance
  @monthly_fee_waiver_balance
end

#monthly_fee_waiver_balance_typeString

Basis for assessing whether balance amount triggers maintenance fee waiver (average daily balance, average end-of-day balance, minimum end-of day balance)

Returns:

  • (String)


192
193
194
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 192

def monthly_fee_waiver_balance_type
  @monthly_fee_waiver_balance_type
end

#monthly_fee_waiver_direct_depositFloat

Amount of payroll direct deposit into account for which monthly maintenance fee is waived

Returns:

  • (Float)


182
183
184
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 182

def monthly_fee_waiver_direct_deposit
  @monthly_fee_waiver_direct_deposit
end

#nonsufficient_funds_feeFloat

Fee for Non-Sufficient Funds (NSF), if a check or ACH transaction presented on account is returned unpaid. The value is zero if not charged on this account

Returns:

  • (Float)


92
93
94
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 92

def nonsufficient_funds_fee
  @nonsufficient_funds_fee
end

#overdraft_allowedTrueClass | FalseClass

Whether account permits consumer to have overdrafts at all

Returns:

  • (TrueClass | FalseClass)


139
140
141
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 139

def overdraft_allowed
  @overdraft_allowed
end

#overdraft_feeFloat

Fee for an overdraft if item is paid. The value is zero if not charged on this account

Returns:

  • (Float)


107
108
109
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 107

def overdraft_fee
  @overdraft_fee
end

#overdraft_fee_waiver_balanceFloat

De minimis waiver no. 1 for overdraft fee. Absolute dollar amount of the negative balance above which (i.e. for smaller negative balances) the overdraft fee is waived

Returns:

  • (Float)


113
114
115
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 113

def overdraft_fee_waiver_balance
  @overdraft_fee_waiver_balance
end

#overdraft_fee_waiver_debitFloat

De minimis waiver no. 2 for overdraft fee. Dollar amount of a debit transaction below which (i.e. for smaller transactions) the overdraft fee is waived

Returns:

  • (Float)


119
120
121
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 119

def overdraft_fee_waiver_debit
  @overdraft_fee_waiver_debit
end

#overdraft_opt_in_provisionTrueClass | FalseClass

Whether account permits consumer to opt-in to overdraft coverage on debit card or ATM card transactions

Returns:

  • (TrueClass | FalseClass)


135
136
137
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 135

def overdraft_opt_in_provision
  @overdraft_opt_in_provision
end

#overdraft_protection_feeFloat

Fee for overdraft protection, an automatic sweep from a separate account to cover a transaction that would otherwise result in an overdraft. The value is zero if not charged on this account

Returns:

  • (Float)


130
131
132
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 130

def overdraft_protection_fee
  @overdraft_protection_fee
end

#paper_statements_feeFloat

Fee for paper statements. The value is zero if not charged on this account

Returns:

  • (Float)


29
30
31
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 29

def paper_statements_fee
  @paper_statements_fee
end

#promotionsArray[PromotionEntity]

The promotions originally defined in Terms and Conditions or currently active on the account

Returns:



58
59
60
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 58

def promotions
  @promotions
end

#returned_payment_feeFloat

Fee for a returned payment. The value is zero if not charged on this account

Returns:

  • (Float)


163
164
165
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 163

def returned_payment_fee
  @returned_payment_fee
end

#stop_payment_feeFloat

Fee for a stop payment. The value is zero if not charged on this account

Returns:

  • (Float)


177
178
179
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 177

def stop_payment_fee
  @stop_payment_fee
end

#transaction_limitsArray[TransactionLimit]

The various maximum amounts on different types of account transactions

Returns:



53
54
55
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 53

def transaction_limits
  @transaction_limits
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 404

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  effective_date = hash.key?('effectiveDate') ? hash['effectiveDate'] : SKIP
  arbitration_provision =
    hash.key?('arbitrationProvision') ? hash['arbitrationProvision'] : SKIP
  card_replacement_fee = hash['cardReplacementFee'] ||= 0
  paper_statements_fee = hash['paperStatementsFee'] ||= 0
  domestic_atm_fee = hash['domesticAtmFee'] ||= 0
  foreign_atm_foreign_currency_advance_fee =
    hash['foreignAtmForeignCurrencyAdvanceFee'] ||= 0
  foreign_atm_us_dollar_advance_fee =
    hash['foreignAtmUsDollarAdvanceFee'] ||= 0
  foreign_purchase_foreign_currency_fee =
    hash['foreignPurchaseForeignCurrencyFee'] ||= 0
  # Parameter is an array, so we need to iterate through it
  transaction_limits = nil
  unless hash['transactionLimits'].nil?
    transaction_limits = []
    hash['transactionLimits'].each do |structure|
      transaction_limits << (TransactionLimit.from_hash(structure) if structure)
    end
  end

  transaction_limits = SKIP unless hash.key?('transactionLimits')
  # Parameter is an array, so we need to iterate through it
  promotions = nil
  unless hash['promotions'].nil?
    promotions = []
    hash['promotions'].each do |structure|
      promotions << (PromotionEntity.from_hash(structure) if structure)
    end
  end

  promotions = SKIP unless hash.key?('promotions')
  # Parameter is an array, so we need to iterate through it
  fi_attributes = nil
  unless hash['fiAttributes'].nil?
    fi_attributes = []
    hash['fiAttributes'].each do |structure|
      fi_attributes << (FiAttributeEntity.from_hash(structure) if structure)
    end
  end

  fi_attributes = SKIP unless hash.key?('fiAttributes')
   = hash['monthlyAccountFee'] ||= 0
   = hash['accountClosureFee'] ||= 0
   = hash['accountInactivityFee'] ||= 0
  incoming_transfer_fee = hash['incomingTransferFee'] ||= 0
  incoming_wire_fee = hash['incomingWireFee'] ||= 0
  nonsufficient_funds_fee = hash['nonsufficientFundsFee'] ||= 0
  maximum_monthly_withdrawals =
    hash.key?('maximumMonthlyWithdrawals') ? hash['maximumMonthlyWithdrawals'] : SKIP
  excess_withdrawals_fee = hash['excessWithdrawalsFee'] ||= 0
  overdraft_fee = hash['overdraftFee'] ||= 0
  overdraft_fee_waiver_balance =
    hash.key?('overdraftFeeWaiverBalance') ? hash['overdraftFeeWaiverBalance'] : SKIP
  overdraft_fee_waiver_debit =
    hash.key?('overdraftFeeWaiverDebit') ? hash['overdraftFeeWaiverDebit'] : SKIP
  daily_overdraft_fees_cap =
    hash.key?('dailyOverdraftFeesCap') ? hash['dailyOverdraftFeesCap'] : SKIP
  overdraft_protection_fee = hash['overdraftProtectionFee'] ||= 0
  overdraft_opt_in_provision =
    hash.key?('overdraftOptInProvision') ? hash['overdraftOptInProvision'] : SKIP
  overdraft_allowed =
    hash.key?('overdraftAllowed') ? hash['overdraftAllowed'] : SKIP
  money_order_fee = hash['moneyOrderFee'] ||= 0
  cashiers_check_fee = hash['cashiersCheckFee'] ||= 0
  domestic_outgoing_wire_fee = hash['domesticOutgoingWireFee'] ||= 0
  international_outgoing_wire_fee =
    hash['internationalOutgoingWireFee'] ||= 0
  returned_payment_fee = hash['returnedPaymentFee'] ||= 0
  fixed_finance_charge_fee = hash['fixedFinanceChargeFee'] ||= 0
  check_redeposit_fee = hash['checkRedepositFee'] ||= 0
  stop_payment_fee = hash['stopPaymentFee'] ||= 0
  monthly_fee_waiver_direct_deposit =
    hash.key?('monthlyFeeWaiverDirectDeposit') ? hash['monthlyFeeWaiverDirectDeposit'] : SKIP
  monthly_fee_waiver_balance =
    hash.key?('monthlyFeeWaiverBalance') ? hash['monthlyFeeWaiverBalance'] : SKIP
  monthly_fee_waiver_balance_type =
    hash.key?('monthlyFeeWaiverBalanceType') ? hash['monthlyFeeWaiverBalanceType'] : SKIP
  # Parameter is an array, so we need to iterate through it
  interest_rate_tiers = nil
  unless hash['interestRateTiers'].nil?
    interest_rate_tiers = []
    hash['interestRateTiers'].each do |structure|
      interest_rate_tiers << (InterestRateTier.from_hash(structure) if structure)
    end
  end

  interest_rate_tiers = SKIP unless hash.key?('interestRateTiers')

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  DepositAccountTermsAndConditionsEntity.new(effective_date: effective_date,
                                             arbitration_provision: arbitration_provision,
                                             card_replacement_fee: card_replacement_fee,
                                             paper_statements_fee: paper_statements_fee,
                                             domestic_atm_fee: domestic_atm_fee,
                                             foreign_atm_foreign_currency_advance_fee: foreign_atm_foreign_currency_advance_fee,
                                             foreign_atm_us_dollar_advance_fee: foreign_atm_us_dollar_advance_fee,
                                             foreign_purchase_foreign_currency_fee: foreign_purchase_foreign_currency_fee,
                                             transaction_limits: transaction_limits,
                                             promotions: promotions,
                                             fi_attributes: fi_attributes,
                                             monthly_account_fee: ,
                                             account_closure_fee: ,
                                             account_inactivity_fee: ,
                                             incoming_transfer_fee: incoming_transfer_fee,
                                             incoming_wire_fee: incoming_wire_fee,
                                             nonsufficient_funds_fee: nonsufficient_funds_fee,
                                             maximum_monthly_withdrawals: maximum_monthly_withdrawals,
                                             excess_withdrawals_fee: excess_withdrawals_fee,
                                             overdraft_fee: overdraft_fee,
                                             overdraft_fee_waiver_balance: overdraft_fee_waiver_balance,
                                             overdraft_fee_waiver_debit: overdraft_fee_waiver_debit,
                                             daily_overdraft_fees_cap: daily_overdraft_fees_cap,
                                             overdraft_protection_fee: overdraft_protection_fee,
                                             overdraft_opt_in_provision: overdraft_opt_in_provision,
                                             overdraft_allowed: overdraft_allowed,
                                             money_order_fee: money_order_fee,
                                             cashiers_check_fee: cashiers_check_fee,
                                             domestic_outgoing_wire_fee: domestic_outgoing_wire_fee,
                                             international_outgoing_wire_fee: international_outgoing_wire_fee,
                                             returned_payment_fee: returned_payment_fee,
                                             fixed_finance_charge_fee: fixed_finance_charge_fee,
                                             check_redeposit_fee: check_redeposit_fee,
                                             stop_payment_fee: stop_payment_fee,
                                             monthly_fee_waiver_direct_deposit: monthly_fee_waiver_direct_deposit,
                                             monthly_fee_waiver_balance: monthly_fee_waiver_balance,
                                             monthly_fee_waiver_balance_type: monthly_fee_waiver_balance_type,
                                             interest_rate_tiers: interest_rate_tiers,
                                             additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 201

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['effective_date'] = 'effectiveDate'
  @_hash['arbitration_provision'] = 'arbitrationProvision'
  @_hash['card_replacement_fee'] = 'cardReplacementFee'
  @_hash['paper_statements_fee'] = 'paperStatementsFee'
  @_hash['domestic_atm_fee'] = 'domesticAtmFee'
  @_hash['foreign_atm_foreign_currency_advance_fee'] =
    'foreignAtmForeignCurrencyAdvanceFee'
  @_hash['foreign_atm_us_dollar_advance_fee'] =
    'foreignAtmUsDollarAdvanceFee'
  @_hash['foreign_purchase_foreign_currency_fee'] =
    'foreignPurchaseForeignCurrencyFee'
  @_hash['transaction_limits'] = 'transactionLimits'
  @_hash['promotions'] = 'promotions'
  @_hash['fi_attributes'] = 'fiAttributes'
  @_hash['monthly_account_fee'] = 'monthlyAccountFee'
  @_hash['account_closure_fee'] = 'accountClosureFee'
  @_hash['account_inactivity_fee'] = 'accountInactivityFee'
  @_hash['incoming_transfer_fee'] = 'incomingTransferFee'
  @_hash['incoming_wire_fee'] = 'incomingWireFee'
  @_hash['nonsufficient_funds_fee'] = 'nonsufficientFundsFee'
  @_hash['maximum_monthly_withdrawals'] = 'maximumMonthlyWithdrawals'
  @_hash['excess_withdrawals_fee'] = 'excessWithdrawalsFee'
  @_hash['overdraft_fee'] = 'overdraftFee'
  @_hash['overdraft_fee_waiver_balance'] = 'overdraftFeeWaiverBalance'
  @_hash['overdraft_fee_waiver_debit'] = 'overdraftFeeWaiverDebit'
  @_hash['daily_overdraft_fees_cap'] = 'dailyOverdraftFeesCap'
  @_hash['overdraft_protection_fee'] = 'overdraftProtectionFee'
  @_hash['overdraft_opt_in_provision'] = 'overdraftOptInProvision'
  @_hash['overdraft_allowed'] = 'overdraftAllowed'
  @_hash['money_order_fee'] = 'moneyOrderFee'
  @_hash['cashiers_check_fee'] = 'cashiersCheckFee'
  @_hash['domestic_outgoing_wire_fee'] = 'domesticOutgoingWireFee'
  @_hash['international_outgoing_wire_fee'] =
    'internationalOutgoingWireFee'
  @_hash['returned_payment_fee'] = 'returnedPaymentFee'
  @_hash['fixed_finance_charge_fee'] = 'fixedFinanceChargeFee'
  @_hash['check_redeposit_fee'] = 'checkRedepositFee'
  @_hash['stop_payment_fee'] = 'stopPaymentFee'
  @_hash['monthly_fee_waiver_direct_deposit'] =
    'monthlyFeeWaiverDirectDeposit'
  @_hash['monthly_fee_waiver_balance'] = 'monthlyFeeWaiverBalance'
  @_hash['monthly_fee_waiver_balance_type'] =
    'monthlyFeeWaiverBalanceType'
  @_hash['interest_rate_tiers'] = 'interestRateTiers'
  @_hash
end

.nullablesObject

An array for nullable fields



295
296
297
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 295

def self.nullables
  []
end

.optionalsObject

An array for optional fields



251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 251

def self.optionals
  %w[
    effective_date
    arbitration_provision
    card_replacement_fee
    paper_statements_fee
    domestic_atm_fee
    foreign_atm_foreign_currency_advance_fee
    foreign_atm_us_dollar_advance_fee
    foreign_purchase_foreign_currency_fee
    transaction_limits
    promotions
    fi_attributes
    monthly_account_fee
    account_closure_fee
    account_inactivity_fee
    incoming_transfer_fee
    incoming_wire_fee
    nonsufficient_funds_fee
    maximum_monthly_withdrawals
    excess_withdrawals_fee
    overdraft_fee
    overdraft_fee_waiver_balance
    overdraft_fee_waiver_debit
    daily_overdraft_fees_cap
    overdraft_protection_fee
    overdraft_opt_in_provision
    overdraft_allowed
    money_order_fee
    cashiers_check_fee
    domestic_outgoing_wire_fee
    international_outgoing_wire_fee
    returned_payment_fee
    fixed_finance_charge_fee
    check_redeposit_fee
    stop_payment_fee
    monthly_fee_waiver_direct_deposit
    monthly_fee_waiver_balance
    monthly_fee_waiver_balance_type
    interest_rate_tiers
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 579

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} effective_date: #{@effective_date.inspect}, arbitration_provision:"\
  " #{@arbitration_provision.inspect}, card_replacement_fee: #{@card_replacement_fee.inspect},"\
  " paper_statements_fee: #{@paper_statements_fee.inspect}, domestic_atm_fee:"\
  " #{@domestic_atm_fee.inspect}, foreign_atm_foreign_currency_advance_fee:"\
  " #{@foreign_atm_foreign_currency_advance_fee.inspect}, foreign_atm_us_dollar_advance_fee:"\
  " #{@foreign_atm_us_dollar_advance_fee.inspect}, foreign_purchase_foreign_currency_fee:"\
  " #{@foreign_purchase_foreign_currency_fee.inspect}, transaction_limits:"\
  " #{@transaction_limits.inspect}, promotions: #{@promotions.inspect}, fi_attributes:"\
  " #{@fi_attributes.inspect}, monthly_account_fee: #{@monthly_account_fee.inspect},"\
  " account_closure_fee: #{@account_closure_fee.inspect}, account_inactivity_fee:"\
  " #{@account_inactivity_fee.inspect}, incoming_transfer_fee:"\
  " #{@incoming_transfer_fee.inspect}, incoming_wire_fee: #{@incoming_wire_fee.inspect},"\
  " nonsufficient_funds_fee: #{@nonsufficient_funds_fee.inspect}, maximum_monthly_withdrawals:"\
  " #{@maximum_monthly_withdrawals.inspect}, excess_withdrawals_fee:"\
  " #{@excess_withdrawals_fee.inspect}, overdraft_fee: #{@overdraft_fee.inspect},"\
  " overdraft_fee_waiver_balance: #{@overdraft_fee_waiver_balance.inspect},"\
  " overdraft_fee_waiver_debit: #{@overdraft_fee_waiver_debit.inspect},"\
  " daily_overdraft_fees_cap: #{@daily_overdraft_fees_cap.inspect}, overdraft_protection_fee:"\
  " #{@overdraft_protection_fee.inspect}, overdraft_opt_in_provision:"\
  " #{@overdraft_opt_in_provision.inspect}, overdraft_allowed: #{@overdraft_allowed.inspect},"\
  " money_order_fee: #{@money_order_fee.inspect}, cashiers_check_fee:"\
  " #{@cashiers_check_fee.inspect}, domestic_outgoing_wire_fee:"\
  " #{@domestic_outgoing_wire_fee.inspect}, international_outgoing_wire_fee:"\
  " #{@international_outgoing_wire_fee.inspect}, returned_payment_fee:"\
  " #{@returned_payment_fee.inspect}, fixed_finance_charge_fee:"\
  " #{@fixed_finance_charge_fee.inspect}, check_redeposit_fee:"\
  " #{@check_redeposit_fee.inspect}, stop_payment_fee: #{@stop_payment_fee.inspect},"\
  " monthly_fee_waiver_direct_deposit: #{@monthly_fee_waiver_direct_deposit.inspect},"\
  " monthly_fee_waiver_balance: #{@monthly_fee_waiver_balance.inspect},"\
  " monthly_fee_waiver_balance_type: #{@monthly_fee_waiver_balance_type.inspect},"\
  " interest_rate_tiers: #{@interest_rate_tiers.inspect}, additional_properties:"\
  " #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
# File 'lib/fdx_v660_api/models/deposit_account_terms_and_conditions_entity.rb', line 547

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} effective_date: #{@effective_date}, arbitration_provision:"\
  " #{@arbitration_provision}, card_replacement_fee: #{@card_replacement_fee},"\
  " paper_statements_fee: #{@paper_statements_fee}, domestic_atm_fee: #{@domestic_atm_fee},"\
  " foreign_atm_foreign_currency_advance_fee: #{@foreign_atm_foreign_currency_advance_fee},"\
  " foreign_atm_us_dollar_advance_fee: #{@foreign_atm_us_dollar_advance_fee},"\
  " foreign_purchase_foreign_currency_fee: #{@foreign_purchase_foreign_currency_fee},"\
  " transaction_limits: #{@transaction_limits}, promotions: #{@promotions}, fi_attributes:"\
  " #{@fi_attributes}, monthly_account_fee: #{@monthly_account_fee}, account_closure_fee:"\
  " #{@account_closure_fee}, account_inactivity_fee: #{@account_inactivity_fee},"\
  " incoming_transfer_fee: #{@incoming_transfer_fee}, incoming_wire_fee:"\
  " #{@incoming_wire_fee}, nonsufficient_funds_fee: #{@nonsufficient_funds_fee},"\
  " maximum_monthly_withdrawals: #{@maximum_monthly_withdrawals}, excess_withdrawals_fee:"\
  " #{@excess_withdrawals_fee}, overdraft_fee: #{@overdraft_fee},"\
  " overdraft_fee_waiver_balance: #{@overdraft_fee_waiver_balance},"\
  " overdraft_fee_waiver_debit: #{@overdraft_fee_waiver_debit}, daily_overdraft_fees_cap:"\
  " #{@daily_overdraft_fees_cap}, overdraft_protection_fee: #{@overdraft_protection_fee},"\
  " overdraft_opt_in_provision: #{@overdraft_opt_in_provision}, overdraft_allowed:"\
  " #{@overdraft_allowed}, money_order_fee: #{@money_order_fee}, cashiers_check_fee:"\
  " #{@cashiers_check_fee}, domestic_outgoing_wire_fee: #{@domestic_outgoing_wire_fee},"\
  " international_outgoing_wire_fee: #{@international_outgoing_wire_fee},"\
  " returned_payment_fee: #{@returned_payment_fee}, fixed_finance_charge_fee:"\
  " #{@fixed_finance_charge_fee}, check_redeposit_fee: #{@check_redeposit_fee},"\
  " stop_payment_fee: #{@stop_payment_fee}, monthly_fee_waiver_direct_deposit:"\
  " #{@monthly_fee_waiver_direct_deposit}, monthly_fee_waiver_balance:"\
  " #{@monthly_fee_waiver_balance}, monthly_fee_waiver_balance_type:"\
  " #{@monthly_fee_waiver_balance_type}, interest_rate_tiers: #{@interest_rate_tiers},"\
  " additional_properties: #{@additional_properties}>"
end