Class: FdxV660Api::LineOfCreditAccountEntity

Inherits:
AccountEntity show all
Defined in:
lib/fdx_v660_api/models/line_of_credit_account_entity.rb

Overview

A line of credit account

Instance Attribute Summary collapse

Attributes inherited from AccountEntity

#balance_type, #bank_institution_id, #bank_transit_id, #bill_pay_status, #contact, #early_penalty_flag, #interest_rate, #interest_rate_as_of, #interest_rate_index, #interest_rate_type, #last_activity_date, #line_of_business, #line_of_business_type, #micr_number, #prior_interest_rate, #reward_balances, #reward_program_id, #routing_transit_number, #transactions_included, #transfer_in, #transfer_out

Attributes inherited from AccountDescriptorEntity

#account_category, #account_close_date, #account_id, #account_number, #account_number_display, #account_open_date, #account_type, #currency, #data_clusters, #description, #domicile, #error, #fi_attributes, #links, #nickname, #parent_account_id, #product_id, #product_name, #status, #transfer_out_use_cases

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AccountEntity

discriminators, #to_custom_interest_rate_as_of

Methods inherited from AccountDescriptorEntity

discriminators

Methods inherited from BaseModel

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

Constructor Details

#initialize(bills: SKIP, scheduled_payments: SKIP, charged_interest: SKIP, balance_as_of: SKIP, credit_line: SKIP, available_credit: SKIP, next_payment_amount: SKIP, next_payment_date: SKIP, principal_balance: SKIP, current_balance: SKIP, minimum_payment_amount: SKIP, last_payment_amount: SKIP, last_payment_date: SKIP, past_due_amount: SKIP, last_stmt_balance: SKIP, last_stmt_date: SKIP, statement_amount_due_date: SKIP, purchases_apr: SKIP, advances_apr: SKIP, transfers_apr: SKIP, cash_advance_limit: SKIP, available_cash: SKIP, finance_charges: SKIP, card_network: SKIP, card_art: SKIP, cash_advance_balance: SKIP, transfer_balance: SKIP, ppil_balance: SKIP, under_arbitration: SKIP, fee_schedule: SKIP, ppil_apr: SKIP, balance_transfers_apr: SKIP, target_rate_sale_apr: SKIP, transactions: SKIP, line_of_business: SKIP, line_of_business_type: SKIP, routing_transit_number: SKIP, balance_type: SKIP, contact: SKIP, interest_rate: SKIP, interest_rate_type: SKIP, interest_rate_as_of: SKIP, prior_interest_rate: SKIP, interest_rate_index: SKIP, early_penalty_flag: SKIP, transfer_in: SKIP, transfer_out: SKIP, bill_pay_status: SKIP, micr_number: SKIP, last_activity_date: SKIP, reward_program_id: SKIP, reward_balances: SKIP, transactions_included: SKIP, bank_institution_id: SKIP, bank_transit_id: SKIP, account_category: 'Line of Credit Account entity', account_id: SKIP, parent_account_id: SKIP, error: SKIP, account_type: SKIP, domicile: SKIP, account_number: SKIP, account_number_display: SKIP, product_id: SKIP, product_name: SKIP, nickname: SKIP, status: SKIP, description: SKIP, account_open_date: SKIP, account_close_date: SKIP, currency: SKIP, data_clusters: SKIP, transfer_out_use_cases: SKIP, fi_attributes: SKIP, links: SKIP, additional_properties: nil) ⇒ LineOfCreditAccountEntity

Returns a new instance of LineOfCreditAccountEntity.



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
293
294
295
296
297
298
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
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 256

def initialize(bills: SKIP, scheduled_payments: SKIP,
               charged_interest: SKIP, balance_as_of: SKIP,
               credit_line: SKIP, available_credit: SKIP,
               next_payment_amount: SKIP, next_payment_date: SKIP,
               principal_balance: SKIP, current_balance: SKIP,
               minimum_payment_amount: SKIP, last_payment_amount: SKIP,
               last_payment_date: SKIP, past_due_amount: SKIP,
               last_stmt_balance: SKIP, last_stmt_date: SKIP,
               statement_amount_due_date: SKIP, purchases_apr: SKIP,
               advances_apr: SKIP, transfers_apr: SKIP,
               cash_advance_limit: SKIP, available_cash: SKIP,
               finance_charges: SKIP, card_network: SKIP, card_art: SKIP,
               cash_advance_balance: SKIP, transfer_balance: SKIP,
               ppil_balance: SKIP, under_arbitration: SKIP,
               fee_schedule: SKIP, ppil_apr: SKIP,
               balance_transfers_apr: SKIP, target_rate_sale_apr: SKIP,
               transactions: SKIP, line_of_business: SKIP,
               line_of_business_type: SKIP, routing_transit_number: SKIP,
               balance_type: SKIP, contact: SKIP, interest_rate: SKIP,
               interest_rate_type: SKIP, interest_rate_as_of: SKIP,
               prior_interest_rate: SKIP, interest_rate_index: SKIP,
               early_penalty_flag: SKIP, transfer_in: SKIP,
               transfer_out: SKIP, bill_pay_status: SKIP, micr_number: SKIP,
               last_activity_date: SKIP, reward_program_id: SKIP,
               reward_balances: SKIP, transactions_included: SKIP,
               bank_institution_id: SKIP, bank_transit_id: SKIP,
               account_category: 'Line of Credit Account entity',
               account_id: SKIP, parent_account_id: SKIP, error: SKIP,
               account_type: SKIP, domicile: SKIP, account_number: SKIP,
               account_number_display: SKIP, product_id: SKIP,
               product_name: SKIP, nickname: SKIP, status: SKIP,
               description: SKIP, account_open_date: SKIP,
               account_close_date: SKIP, currency: SKIP,
               data_clusters: SKIP, transfer_out_use_cases: SKIP,
               fi_attributes: SKIP, links: SKIP, additional_properties: nil)
  @bills = bills unless bills == SKIP
  @scheduled_payments = scheduled_payments unless scheduled_payments == SKIP
  @charged_interest = charged_interest unless charged_interest == SKIP
  @balance_as_of = balance_as_of unless balance_as_of == SKIP
  @credit_line = credit_line unless credit_line == SKIP
  @available_credit = available_credit unless available_credit == SKIP
  @next_payment_amount = next_payment_amount unless next_payment_amount == SKIP
  @next_payment_date = next_payment_date unless next_payment_date == SKIP
  @principal_balance = principal_balance unless principal_balance == SKIP
  @current_balance = current_balance unless current_balance == SKIP
  @minimum_payment_amount = minimum_payment_amount unless minimum_payment_amount == SKIP
  @last_payment_amount = last_payment_amount unless last_payment_amount == SKIP
  @last_payment_date = last_payment_date unless last_payment_date == SKIP
  @past_due_amount = past_due_amount unless past_due_amount == SKIP
  @last_stmt_balance = last_stmt_balance unless last_stmt_balance == SKIP
  @last_stmt_date = last_stmt_date unless last_stmt_date == SKIP
  unless statement_amount_due_date == SKIP
    @statement_amount_due_date =
      statement_amount_due_date
  end
  @purchases_apr = purchases_apr unless purchases_apr == SKIP
  @advances_apr = advances_apr unless advances_apr == SKIP
  @transfers_apr = transfers_apr unless transfers_apr == SKIP
  @cash_advance_limit = cash_advance_limit unless cash_advance_limit == SKIP
  @available_cash = available_cash unless available_cash == SKIP
  @finance_charges = finance_charges unless finance_charges == SKIP
  @card_network = card_network unless card_network == SKIP
  @card_art = card_art unless card_art == SKIP
  @cash_advance_balance = cash_advance_balance unless cash_advance_balance == SKIP
  @transfer_balance = transfer_balance unless transfer_balance == SKIP
  @ppil_balance = ppil_balance unless ppil_balance == SKIP
  @under_arbitration = under_arbitration unless under_arbitration == SKIP
  @fee_schedule = fee_schedule unless fee_schedule == SKIP
  @ppil_apr = ppil_apr unless ppil_apr == SKIP
  @balance_transfers_apr = balance_transfers_apr unless balance_transfers_apr == SKIP
  @target_rate_sale_apr = target_rate_sale_apr unless target_rate_sale_apr == SKIP
  @transactions = transactions unless transactions == SKIP
  @additional_properties = additional_properties

  # Call the constructor of the base class
  super(line_of_business: line_of_business,
        line_of_business_type: line_of_business_type,
        routing_transit_number: routing_transit_number,
        balance_type: balance_type,
        contact: contact,
        interest_rate: interest_rate,
        interest_rate_type: interest_rate_type,
        interest_rate_as_of: interest_rate_as_of,
        prior_interest_rate: prior_interest_rate,
        interest_rate_index: interest_rate_index,
        early_penalty_flag: early_penalty_flag,
        transfer_in: transfer_in,
        transfer_out: transfer_out,
        bill_pay_status: bill_pay_status,
        micr_number: micr_number,
        last_activity_date: last_activity_date,
        reward_program_id: reward_program_id,
        reward_balances: reward_balances,
        transactions_included: transactions_included,
        bank_institution_id: bank_institution_id,
        bank_transit_id: bank_transit_id,
        account_category: ,
        account_id: ,
        parent_account_id: ,
        error: error,
        account_type: ,
        domicile: domicile,
        account_number: ,
        account_number_display: ,
        product_id: product_id,
        product_name: product_name,
        nickname: nickname,
        status: status,
        description: description,
        account_open_date: ,
        account_close_date: ,
        currency: currency,
        data_clusters: data_clusters,
        transfer_out_use_cases: transfer_out_use_cases,
        fi_attributes: fi_attributes,
        links: links,
        additional_properties: additional_properties)
end

Instance Attribute Details

#advances_aprFloat

Annual Percentage Rate for cash advances

Returns:

  • (Float)


99
100
101
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 99

def advances_apr
  @advances_apr
end

#available_cashFloat

Available cash

Returns:

  • (Float)


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

def available_cash
  @available_cash
end

#available_creditFloat

Available credit

Returns:

  • (Float)


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

def available_credit
  @available_credit
end

#balance_as_ofDateTime

As-of date for balances

Returns:

  • (DateTime)


26
27
28
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 26

def balance_as_of
  @balance_as_of
end

#balance_transfers_aprFloat

Current annual percentage rate (APR) for Balance Transfers. Replaces duplicate transfersApr also added in V6.4 and V5.4

Returns:

  • (Float)


156
157
158
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 156

def balance_transfers_apr
  @balance_transfers_apr
end

#billsArray[BillEntity]

Payments due on the line of credit account

Returns:



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

def bills
  @bills
end

#card_artCardArtEntity2

Any art associated to the card related to the account

Returns:



126
127
128
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 126

def card_art
  @card_art
end

#card_networkString

Card network, e.g. VISA, MASTERCARD, AMERICAN_EXPRESS, DISCOVER, INTERLINK, STAR etc.

Returns:

  • (String)


122
123
124
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 122

def card_network
  @card_network
end

#cash_advance_balanceFloat

Total balance of cash advances

Returns:

  • (Float)


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

def cash_advance_balance
  @cash_advance_balance
end

#cash_advance_limitFloat

Cash advance limit

Returns:

  • (Float)


109
110
111
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 109

def cash_advance_limit
  @cash_advance_limit
end

#charged_interestInterestRateEntity6

The periodic interest rate on the line of credit

Returns:



22
23
24
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 22

def charged_interest
  @charged_interest
end

#credit_lineFloat

Credit limit

Returns:

  • (Float)


30
31
32
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 30

def credit_line
  @credit_line
end

#current_balanceFloat

Current balance of the line of credit

Returns:

  • (Float)


55
56
57
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 55

def current_balance
  @current_balance
end

#fee_scheduleString

Describes the current fee schedule for the account

Returns:

  • (String)


146
147
148
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 146

def fee_schedule
  @fee_schedule
end

#finance_chargesFloat

Finance charges

Returns:

  • (Float)


117
118
119
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 117

def finance_charges
  @finance_charges
end

#last_payment_amountFloat

Last payment amount. Deprecated in favor of lastPaymentAmount in Bills, will be removed with a future major release

Returns:

  • (Float)


66
67
68
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 66

def last_payment_amount
  @last_payment_amount
end

#last_payment_dateDate

Last payment date. Deprecated in favor of lastPaymentDate in Bills, will be removed with a future major release

Returns:

  • (Date)


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

def last_payment_date
  @last_payment_date
end

#last_stmt_balanceFloat

Final balance amount at end of last statement. Deprecated in favor of statementBalance in Bills, will be removed with a future major release

Returns:

  • (Float)


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

def last_stmt_balance
  @last_stmt_balance
end

#last_stmt_dateDate

Last Statement Date. Deprecated in favor of statementDate in Bills, will be removed with a future major release

Returns:

  • (Date)


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

def last_stmt_date
  @last_stmt_date
end

#minimum_payment_amountFloat

Minimum payment amount from last statement balance, which is due at statementAmountDueDate. Deprecated in favor of minimumPaymentDue in Bills, will be removed with a future major release

Returns:

  • (Float)


61
62
63
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 61

def minimum_payment_amount
  @minimum_payment_amount
end

#next_payment_amountFloat

The amount of the next payment. This may differ from minimumPaymentAmount if the customer pays more than their minimum or pays out of cycle. This property is deprecated in favor of amount in ScheduledPayments and will be removed with a future major release

Returns:

  • (Float)


41
42
43
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 41

def next_payment_amount
  @next_payment_amount
end

#next_payment_dateDate

Due date of next payment. May differ from statementAmountDueDate if the customer pays out of cycle. Deprecated in favor of date in ScheduledPayments, will be removed with a future major release

Returns:

  • (Date)


47
48
49
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 47

def next_payment_date
  @next_payment_date
end

#past_due_amountFloat

Past Due Amount as it appears on the account. The statement past due amount should be populated in the Bills object

Returns:

  • (Float)


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

def past_due_amount
  @past_due_amount
end

#ppil_aprFloat

Current annual percentage rate (APR) for Post Purchase Installment Loans (PPIL)

Returns:

  • (Float)


151
152
153
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 151

def ppil_apr
  @ppil_apr
end

#ppil_balanceFloat

Total balance of Post Purchase Installment Loans (PPIL)

Returns:

  • (Float)


138
139
140
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 138

def ppil_balance
  @ppil_balance
end

#principal_balanceFloat

Principal balance

Returns:

  • (Float)


51
52
53
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 51

def principal_balance
  @principal_balance
end

#purchases_aprFloat

Annual Percentage Rate for purchases

Returns:

  • (Float)


95
96
97
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 95

def purchases_apr
  @purchases_apr
end

#scheduled_paymentsArray[ScheduledPaymentEntity]

Array of payments scheduled

Returns:



18
19
20
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 18

def scheduled_payments
  @scheduled_payments
end

#statement_amount_due_dateDate

The payment due date listed for the statement balance. Deprecated in favor of dueDate in Bills, will be removed with a future major release

Returns:

  • (Date)


91
92
93
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 91

def statement_amount_due_date
  @statement_amount_due_date
end

#target_rate_sale_aprFloat

Current annual percentage rate (APR) for Target Rate Sales

Returns:

  • (Float)


160
161
162
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 160

def target_rate_sale_apr
  @target_rate_sale_apr
end

#transactionsArray[LineOfCreditTransactionEntity]

Transactions on the line-of-credit account. Deprecated in release V6.3.1 and will be removed in next major release. Transactions are returned in the searchForAccountTransactions operation response

Returns:



166
167
168
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 166

def transactions
  @transactions
end

#transfer_balanceFloat

Total of all balance transfer amounts

Returns:

  • (Float)


134
135
136
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 134

def transfer_balance
  @transfer_balance
end

#transfers_aprFloat

Annual Percentage Rate for balance transfers. Deprecated. Instead use balanceTransfersApr also added in V6.4 and V5.4, will be removed in next major release

Returns:

  • (Float)


105
106
107
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 105

def transfers_apr
  @transfers_apr
end

#under_arbitrationTrueClass | FalseClass

If true, the account is currently under arbitration

Returns:

  • (TrueClass | FalseClass)


142
143
144
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 142

def under_arbitration
  @under_arbitration
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



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
402
403
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
545
546
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
577
578
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
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 376

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  # Parameter is an array, so we need to iterate through it
  bills = nil
  unless hash['bills'].nil?
    bills = []
    hash['bills'].each do |structure|
      bills << (BillEntity.from_hash(structure) if structure)
    end
  end

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

  scheduled_payments = SKIP unless hash.key?('scheduledPayments')
  charged_interest = InterestRateEntity6.from_hash(hash['chargedInterest']) if
    hash['chargedInterest']
  balance_as_of = if hash.key?('balanceAsOf')
                    (DateTimeHelper.from_rfc3339(hash['balanceAsOf']) if hash['balanceAsOf'])
                  else
                    SKIP
                  end
  credit_line = hash.key?('creditLine') ? hash['creditLine'] : SKIP
  available_credit =
    hash.key?('availableCredit') ? hash['availableCredit'] : SKIP
  next_payment_amount =
    hash.key?('nextPaymentAmount') ? hash['nextPaymentAmount'] : SKIP
  next_payment_date =
    hash.key?('nextPaymentDate') ? hash['nextPaymentDate'] : SKIP
  principal_balance =
    hash.key?('principalBalance') ? hash['principalBalance'] : SKIP
  current_balance =
    hash.key?('currentBalance') ? hash['currentBalance'] : SKIP
  minimum_payment_amount =
    hash.key?('minimumPaymentAmount') ? hash['minimumPaymentAmount'] : SKIP
  last_payment_amount =
    hash.key?('lastPaymentAmount') ? hash['lastPaymentAmount'] : SKIP
  last_payment_date =
    hash.key?('lastPaymentDate') ? hash['lastPaymentDate'] : SKIP
  past_due_amount =
    hash.key?('pastDueAmount') ? hash['pastDueAmount'] : SKIP
  last_stmt_balance =
    hash.key?('lastStmtBalance') ? hash['lastStmtBalance'] : SKIP
  last_stmt_date = hash.key?('lastStmtDate') ? hash['lastStmtDate'] : SKIP
  statement_amount_due_date =
    hash.key?('statementAmountDueDate') ? hash['statementAmountDueDate'] : SKIP
  purchases_apr = hash.key?('purchasesApr') ? hash['purchasesApr'] : SKIP
  advances_apr = hash.key?('advancesApr') ? hash['advancesApr'] : SKIP
  transfers_apr = hash.key?('transfersApr') ? hash['transfersApr'] : SKIP
  cash_advance_limit =
    hash.key?('cashAdvanceLimit') ? hash['cashAdvanceLimit'] : SKIP
  available_cash = hash.key?('availableCash') ? hash['availableCash'] : SKIP
  finance_charges =
    hash.key?('financeCharges') ? hash['financeCharges'] : SKIP
  card_network = hash.key?('cardNetwork') ? hash['cardNetwork'] : SKIP
  card_art = CardArtEntity2.from_hash(hash['cardArt']) if hash['cardArt']
  cash_advance_balance =
    hash.key?('cashAdvanceBalance') ? hash['cashAdvanceBalance'] : SKIP
  transfer_balance =
    hash.key?('transferBalance') ? hash['transferBalance'] : SKIP
  ppil_balance = hash.key?('ppilBalance') ? hash['ppilBalance'] : SKIP
  under_arbitration =
    hash.key?('underArbitration') ? hash['underArbitration'] : SKIP
  fee_schedule = hash.key?('feeSchedule') ? hash['feeSchedule'] : SKIP
  ppil_apr = hash.key?('ppilApr') ? hash['ppilApr'] : SKIP
  balance_transfers_apr =
    hash.key?('balanceTransfersApr') ? hash['balanceTransfersApr'] : SKIP
  target_rate_sale_apr =
    hash.key?('targetRateSaleApr') ? hash['targetRateSaleApr'] : SKIP
  # Parameter is an array, so we need to iterate through it
  transactions = nil
  unless hash['transactions'].nil?
    transactions = []
    hash['transactions'].each do |structure|
      transactions << (LineOfCreditTransactionEntity.from_hash(structure) if structure)
    end
  end

  transactions = SKIP unless hash.key?('transactions')
  line_of_business =
    hash.key?('lineOfBusiness') ? hash['lineOfBusiness'] : SKIP
  line_of_business_type =
    hash.key?('lineOfBusinessType') ? hash['lineOfBusinessType'] : SKIP
  routing_transit_number =
    hash.key?('routingTransitNumber') ? hash['routingTransitNumber'] : SKIP
  balance_type = hash.key?('balanceType') ? hash['balanceType'] : SKIP
  contact = AccountContactEntity.from_hash(hash['contact']) if hash['contact']
  interest_rate = hash.key?('interestRate') ? hash['interestRate'] : SKIP
  interest_rate_type =
    hash.key?('interestRateType') ? hash['interestRateType'] : SKIP
  interest_rate_as_of = if hash.key?('interestRateAsOf')
                          (DateTimeHelper.from_rfc3339(hash['interestRateAsOf']) if hash['interestRateAsOf'])
                        else
                          SKIP
                        end
  prior_interest_rate =
    hash.key?('priorInterestRate') ? hash['priorInterestRate'] : SKIP
  interest_rate_index =
    hash.key?('interestRateIndex') ? hash['interestRateIndex'] : SKIP
  early_penalty_flag =
    hash.key?('earlyPenaltyFlag') ? hash['earlyPenaltyFlag'] : SKIP
  transfer_in = hash.key?('transferIn') ? hash['transferIn'] : SKIP
  transfer_out = hash.key?('transferOut') ? hash['transferOut'] : SKIP
  bill_pay_status =
    hash.key?('billPayStatus') ? hash['billPayStatus'] : SKIP
  micr_number = hash.key?('micrNumber') ? hash['micrNumber'] : SKIP
  last_activity_date =
    hash.key?('lastActivityDate') ? hash['lastActivityDate'] : SKIP
  reward_program_id =
    hash.key?('rewardProgramId') ? hash['rewardProgramId'] : SKIP
  # Parameter is an array, so we need to iterate through it
  reward_balances = nil
  unless hash['rewardBalances'].nil?
    reward_balances = []
    hash['rewardBalances'].each do |structure|
      reward_balances << (RewardBalanceEntity.from_hash(structure) if structure)
    end
  end

  reward_balances = SKIP unless hash.key?('rewardBalances')
  transactions_included =
    hash.key?('transactionsIncluded') ? hash['transactionsIncluded'] : SKIP
  bank_institution_id =
    hash.key?('bankInstitutionId') ? hash['bankInstitutionId'] : SKIP
  bank_transit_id =
    hash.key?('bankTransitId') ? hash['bankTransitId'] : SKIP
   =
    hash['accountCategory'] ||= 'Line of Credit Account entity'
   = hash.key?('accountId') ? hash['accountId'] : SKIP
   =
    hash.key?('parentAccountId') ? hash['parentAccountId'] : SKIP
  error = Error3.from_hash(hash['error']) if hash['error']
   = hash.key?('accountType') ? hash['accountType'] : SKIP
  domicile = DomicileEntity3.from_hash(hash['domicile']) if hash['domicile']
   = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
   =
    hash.key?('accountNumberDisplay') ? hash['accountNumberDisplay'] : SKIP
  product_id = hash.key?('productId') ? hash['productId'] : SKIP
  product_name = hash.key?('productName') ? hash['productName'] : SKIP
  nickname = hash.key?('nickname') ? hash['nickname'] : SKIP
  status = hash.key?('status') ? hash['status'] : SKIP
  description = hash.key?('description') ? hash['description'] : SKIP
   =
    hash.key?('accountOpenDate') ? hash['accountOpenDate'] : SKIP
   =
    hash.key?('accountCloseDate') ? hash['accountCloseDate'] : SKIP
  currency = CurrencyEntity4.from_hash(hash['currency']) if hash['currency']
  data_clusters = hash.key?('dataClusters') ? hash['dataClusters'] : SKIP
  transfer_out_use_cases =
    hash.key?('transferOutUseCases') ? hash['transferOutUseCases'] : SKIP
  # 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')
  # Parameter is an array, so we need to iterate through it
  links = nil
  unless hash['links'].nil?
    links = []
    hash['links'].each do |structure|
      links << (HateoasLink.from_hash(structure) if structure)
    end
  end

  links = SKIP unless hash.key?('links')

  # 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.
  LineOfCreditAccountEntity.new(bills: bills,
                                scheduled_payments: scheduled_payments,
                                charged_interest: charged_interest,
                                balance_as_of: balance_as_of,
                                credit_line: credit_line,
                                available_credit: available_credit,
                                next_payment_amount: next_payment_amount,
                                next_payment_date: next_payment_date,
                                principal_balance: principal_balance,
                                current_balance: current_balance,
                                minimum_payment_amount: minimum_payment_amount,
                                last_payment_amount: last_payment_amount,
                                last_payment_date: last_payment_date,
                                past_due_amount: past_due_amount,
                                last_stmt_balance: last_stmt_balance,
                                last_stmt_date: last_stmt_date,
                                statement_amount_due_date: statement_amount_due_date,
                                purchases_apr: purchases_apr,
                                advances_apr: advances_apr,
                                transfers_apr: transfers_apr,
                                cash_advance_limit: cash_advance_limit,
                                available_cash: available_cash,
                                finance_charges: finance_charges,
                                card_network: card_network,
                                card_art: card_art,
                                cash_advance_balance: cash_advance_balance,
                                transfer_balance: transfer_balance,
                                ppil_balance: ppil_balance,
                                under_arbitration: under_arbitration,
                                fee_schedule: fee_schedule,
                                ppil_apr: ppil_apr,
                                balance_transfers_apr: balance_transfers_apr,
                                target_rate_sale_apr: target_rate_sale_apr,
                                transactions: transactions,
                                line_of_business: line_of_business,
                                line_of_business_type: line_of_business_type,
                                routing_transit_number: routing_transit_number,
                                balance_type: balance_type,
                                contact: contact,
                                interest_rate: interest_rate,
                                interest_rate_type: interest_rate_type,
                                interest_rate_as_of: interest_rate_as_of,
                                prior_interest_rate: prior_interest_rate,
                                interest_rate_index: interest_rate_index,
                                early_penalty_flag: early_penalty_flag,
                                transfer_in: transfer_in,
                                transfer_out: transfer_out,
                                bill_pay_status: bill_pay_status,
                                micr_number: micr_number,
                                last_activity_date: last_activity_date,
                                reward_program_id: reward_program_id,
                                reward_balances: reward_balances,
                                transactions_included: transactions_included,
                                bank_institution_id: bank_institution_id,
                                bank_transit_id: bank_transit_id,
                                account_category: ,
                                account_id: ,
                                parent_account_id: ,
                                error: error,
                                account_type: ,
                                domicile: domicile,
                                account_number: ,
                                account_number_display: ,
                                product_id: product_id,
                                product_name: product_name,
                                nickname: nickname,
                                status: status,
                                description: description,
                                account_open_date: ,
                                account_close_date: ,
                                currency: currency,
                                data_clusters: data_clusters,
                                transfer_out_use_cases: transfer_out_use_cases,
                                fi_attributes: fi_attributes,
                                links: links,
                                additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 169

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['bills'] = 'bills'
  @_hash['scheduled_payments'] = 'scheduledPayments'
  @_hash['charged_interest'] = 'chargedInterest'
  @_hash['balance_as_of'] = 'balanceAsOf'
  @_hash['credit_line'] = 'creditLine'
  @_hash['available_credit'] = 'availableCredit'
  @_hash['next_payment_amount'] = 'nextPaymentAmount'
  @_hash['next_payment_date'] = 'nextPaymentDate'
  @_hash['principal_balance'] = 'principalBalance'
  @_hash['current_balance'] = 'currentBalance'
  @_hash['minimum_payment_amount'] = 'minimumPaymentAmount'
  @_hash['last_payment_amount'] = 'lastPaymentAmount'
  @_hash['last_payment_date'] = 'lastPaymentDate'
  @_hash['past_due_amount'] = 'pastDueAmount'
  @_hash['last_stmt_balance'] = 'lastStmtBalance'
  @_hash['last_stmt_date'] = 'lastStmtDate'
  @_hash['statement_amount_due_date'] = 'statementAmountDueDate'
  @_hash['purchases_apr'] = 'purchasesApr'
  @_hash['advances_apr'] = 'advancesApr'
  @_hash['transfers_apr'] = 'transfersApr'
  @_hash['cash_advance_limit'] = 'cashAdvanceLimit'
  @_hash['available_cash'] = 'availableCash'
  @_hash['finance_charges'] = 'financeCharges'
  @_hash['card_network'] = 'cardNetwork'
  @_hash['card_art'] = 'cardArt'
  @_hash['cash_advance_balance'] = 'cashAdvanceBalance'
  @_hash['transfer_balance'] = 'transferBalance'
  @_hash['ppil_balance'] = 'ppilBalance'
  @_hash['under_arbitration'] = 'underArbitration'
  @_hash['fee_schedule'] = 'feeSchedule'
  @_hash['ppil_apr'] = 'ppilApr'
  @_hash['balance_transfers_apr'] = 'balanceTransfersApr'
  @_hash['target_rate_sale_apr'] = 'targetRateSaleApr'
  @_hash['transactions'] = 'transactions'
  @_hash = super().merge(@_hash)
  @_hash
end

.nullablesObject

An array for nullable fields



251
252
253
254
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 251

def self.nullables
  _arr = []
  (_arr << super()).flatten!
end

.optionalsObject

An array for optional fields



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/line_of_credit_account_entity.rb', line 210

def self.optionals
  _arr = %w[
    bills
    scheduled_payments
    charged_interest
    balance_as_of
    credit_line
    available_credit
    next_payment_amount
    next_payment_date
    principal_balance
    current_balance
    minimum_payment_amount
    last_payment_amount
    last_payment_date
    past_due_amount
    last_stmt_balance
    last_stmt_date
    statement_amount_due_date
    purchases_apr
    advances_apr
    transfers_apr
    cash_advance_limit
    available_cash
    finance_charges
    card_network
    card_art
    cash_advance_balance
    transfer_balance
    ppil_balance
    under_arbitration
    fee_schedule
    ppil_apr
    balance_transfers_apr
    target_rate_sale_apr
    transactions
  ]
  (_arr << super()).flatten!
end

.validate(value) ⇒ Object

Validates an instance of the object from a given value.

Parameters:



648
649
650
651
652
653
654
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 648

def self.validate(value)
  return true if value.instance_of? self

  return false unless value.instance_of? Hash

  true
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 680

def inspect
  class_name = self.class.name.split('::').last
  super_string = super().inspect.sub(/^<[^ ]+ /, '').sub(/>$/, '')
  "<#{class_name} #{super_string}, bills: #{@bills.inspect}, scheduled_payments:"\
  " #{@scheduled_payments.inspect}, charged_interest: #{@charged_interest.inspect},"\
  " balance_as_of: #{@balance_as_of.inspect}, credit_line: #{@credit_line.inspect},"\
  " available_credit: #{@available_credit.inspect}, next_payment_amount:"\
  " #{@next_payment_amount.inspect}, next_payment_date: #{@next_payment_date.inspect},"\
  " principal_balance: #{@principal_balance.inspect}, current_balance:"\
  " #{@current_balance.inspect}, minimum_payment_amount: #{@minimum_payment_amount.inspect},"\
  " last_payment_amount: #{@last_payment_amount.inspect}, last_payment_date:"\
  " #{@last_payment_date.inspect}, past_due_amount: #{@past_due_amount.inspect},"\
  " last_stmt_balance: #{@last_stmt_balance.inspect}, last_stmt_date:"\
  " #{@last_stmt_date.inspect}, statement_amount_due_date:"\
  " #{@statement_amount_due_date.inspect}, purchases_apr: #{@purchases_apr.inspect},"\
  " advances_apr: #{@advances_apr.inspect}, transfers_apr: #{@transfers_apr.inspect},"\
  " cash_advance_limit: #{@cash_advance_limit.inspect}, available_cash:"\
  " #{@available_cash.inspect}, finance_charges: #{@finance_charges.inspect}, card_network:"\
  " #{@card_network.inspect}, card_art: #{@card_art.inspect}, cash_advance_balance:"\
  " #{@cash_advance_balance.inspect}, transfer_balance: #{@transfer_balance.inspect},"\
  " ppil_balance: #{@ppil_balance.inspect}, under_arbitration: #{@under_arbitration.inspect},"\
  " fee_schedule: #{@fee_schedule.inspect}, ppil_apr: #{@ppil_apr.inspect},"\
  " balance_transfers_apr: #{@balance_transfers_apr.inspect}, target_rate_sale_apr:"\
  " #{@target_rate_sale_apr.inspect}, transactions: #{@transactions.inspect}>"
end

#to_custom_balance_as_ofObject



642
643
644
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 642

def to_custom_balance_as_of
  DateTimeHelper.to_rfc3339(balance_as_of)
end

#to_sObject

Provides a human-readable string representation of the object.



657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
# File 'lib/fdx_v660_api/models/line_of_credit_account_entity.rb', line 657

def to_s
  class_name = self.class.name.split('::').last
  super_string = super().sub(/^<[^ ]+ /, '').sub(/>$/, '')
  "<#{class_name} #{super_string}, bills: #{@bills}, scheduled_payments:"\
  " #{@scheduled_payments}, charged_interest: #{@charged_interest}, balance_as_of:"\
  " #{@balance_as_of}, credit_line: #{@credit_line}, available_credit: #{@available_credit},"\
  " next_payment_amount: #{@next_payment_amount}, next_payment_date: #{@next_payment_date},"\
  " principal_balance: #{@principal_balance}, current_balance: #{@current_balance},"\
  " minimum_payment_amount: #{@minimum_payment_amount}, last_payment_amount:"\
  " #{@last_payment_amount}, last_payment_date: #{@last_payment_date}, past_due_amount:"\
  " #{@past_due_amount}, last_stmt_balance: #{@last_stmt_balance}, last_stmt_date:"\
  " #{@last_stmt_date}, statement_amount_due_date: #{@statement_amount_due_date},"\
  " purchases_apr: #{@purchases_apr}, advances_apr: #{@advances_apr}, transfers_apr:"\
  " #{@transfers_apr}, cash_advance_limit: #{@cash_advance_limit}, available_cash:"\
  " #{@available_cash}, finance_charges: #{@finance_charges}, card_network: #{@card_network},"\
  " card_art: #{@card_art}, cash_advance_balance: #{@cash_advance_balance}, transfer_balance:"\
  " #{@transfer_balance}, ppil_balance: #{@ppil_balance}, under_arbitration:"\
  " #{@under_arbitration}, fee_schedule: #{@fee_schedule}, ppil_apr: #{@ppil_apr},"\
  " balance_transfers_apr: #{@balance_transfers_apr}, target_rate_sale_apr:"\
  " #{@target_rate_sale_apr}, transactions: #{@transactions}>"
end