Class: LockstepSdk::CustomerSummaryModel

Inherits:
Object
  • Object
show all
Defined in:
lib/lockstep_sdk/models/customer_summary_model.rb

Overview

Contains summarized data for a customer

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ CustomerSummaryModel

Initialize the CustomerSummaryModel using the provided prototype



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 25

def initialize(params = {})
    @group_key = params.dig(:group_key)
    @company_id = params.dig(:company_id)
    @company_name = params.dig(:company_name)
    @primary_contact = params.dig(:primary_contact)
    @outstanding_invoices = params.dig(:outstanding_invoices)
    @total_invoices_open = params.dig(:total_invoices_open)
    @total_invoices_past_due = params.dig(:total_invoices_past_due)
    @closed_invoices = params.dig(:closed_invoices)
    @closed_invoices_past_thirty_days = params.dig(:closed_invoices_past_thirty_days)
    @amount_collected = params.dig(:amount_collected)
    @amount_collected_past_thirty_days = params.dig(:amount_collected_past_thirty_days)
    @outstanding_amount = params.dig(:outstanding_amount)
    @invoiced_amount_past_thirty_days = params.dig(:invoiced_amount_past_thirty_days)
    @outstanding_amount_past_thirty_days = params.dig(:outstanding_amount_past_thirty_days)
    @invoices_past_thirty_days = params.dig(:invoices_past_thirty_days)
    @amount_past_due = params.dig(:amount_past_due)
    @unapplied_payments = params.dig(:unapplied_payments)
    @unapplied_amount_past_thirty_days = params.dig(:unapplied_amount_past_thirty_days)
    @percent_of_total_ar = params.dig(:percent_of_total_ar)
    @dso = params.dig(:dso)
    @newest_activity = params.dig(:newest_activity)
end

Instance Attribute Details

#amount_collectedDouble

Returns The total from collected payments.

Returns:

  • (Double)

    The total from collected payments.



87
88
89
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 87

def amount_collected
  @amount_collected
end

#amount_collected_past_thirty_daysDouble

Returns The total from collected payments in the past thirty days.

Returns:

  • (Double)

    The total from collected payments in the past thirty days.



91
92
93
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 91

def amount_collected_past_thirty_days
  @amount_collected_past_thirty_days
end

#amount_past_dueDouble

Returns The total amount past due for this customer.

Returns:

  • (Double)

    The total amount past due for this customer.



111
112
113
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 111

def amount_past_due
  @amount_past_due
end

#closed_invoicesInt32

Returns The number of closed invoices for this customer.

Returns:

  • (Int32)

    The number of closed invoices for this customer.



79
80
81
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 79

def closed_invoices
  @closed_invoices
end

#closed_invoices_past_thirty_daysInt32

Returns The number of closed invoices for this customer in the past thirty days.

Returns:

  • (Int32)

    The number of closed invoices for this customer in the past thirty days.



83
84
85
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 83

def closed_invoices_past_thirty_days
  @closed_invoices_past_thirty_days
end

#company_idUuid

Returns The unique ID of this company.

Returns:

  • (Uuid)

    The unique ID of this company.



55
56
57
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 55

def company_id
  @company_id
end

#company_nameString

Returns The name of the company.

Returns:

  • (String)

    The name of the company.



59
60
61
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 59

def company_name
  @company_name
end

#dsoDouble

Returns Daily sales outstanding value for this Customer.

Returns:

  • (Double)

    Daily sales outstanding value for this Customer.



127
128
129
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 127

def dso
  @dso
end

#group_keyUuid

Returns The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).

Returns:

  • (Uuid)

    The GroupKey uniquely identifies a single Lockstep Platform account. All records for this account will share the same GroupKey value. GroupKey values cannot be changed once created. For more information, see [Accounts and GroupKeys](developer.lockstep.io/docs/accounts-and-groupkeys).



51
52
53
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 51

def group_key
  @group_key
end

#invoiced_amount_past_thirty_daysDouble

Returns The total amount invoiced in the past thirty days.

Returns:

  • (Double)

    The total amount invoiced in the past thirty days.



99
100
101
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 99

def invoiced_amount_past_thirty_days
  @invoiced_amount_past_thirty_days
end

#invoices_past_thirty_daysInt32

Returns The number of invoices invoiced in the past thirty days.

Returns:

  • (Int32)

    The number of invoices invoiced in the past thirty days.



107
108
109
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 107

def invoices_past_thirty_days
  @invoices_past_thirty_days
end

#newest_activityDate

Returns The date stamp for the newest Activity on this Customer.

Returns:

  • (Date)

    The date stamp for the newest Activity on this Customer.



131
132
133
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 131

def newest_activity
  @newest_activity
end

#outstanding_amountDouble

Returns The total balance of outstanding invoices.

Returns:

  • (Double)

    The total balance of outstanding invoices.



95
96
97
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 95

def outstanding_amount
  @outstanding_amount
end

#outstanding_amount_past_thirty_daysDouble

Returns The total amount outstanding from the invoices invoiced in the past thirty days.

Returns:

  • (Double)

    The total amount outstanding from the invoices invoiced in the past thirty days.



103
104
105
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 103

def outstanding_amount_past_thirty_days
  @outstanding_amount_past_thirty_days
end

#outstanding_invoicesInt32

Returns The number of outstanding invoices for this customer.

Returns:

  • (Int32)

    The number of outstanding invoices for this customer.



67
68
69
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 67

def outstanding_invoices
  @outstanding_invoices
end

#percent_of_total_arDouble

Returns Portion of Total AR for this Customer that is Past due. (TotalPastDue / Total AR).

Returns:

  • (Double)

    Portion of Total AR for this Customer that is Past due. (TotalPastDue / Total AR).



123
124
125
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 123

def percent_of_total_ar
  @percent_of_total_ar
end

#primary_contactString

Returns The name of the primary contact.

Returns:

  • (String)

    The name of the primary contact.



63
64
65
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 63

def primary_contact
  @primary_contact
end

#total_invoices_openInt32

Returns The number of open invoices.

Returns:

  • (Int32)

    The number of open invoices.



71
72
73
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 71

def total_invoices_open
  @total_invoices_open
end

#total_invoices_past_dueInt32

Returns The number of past due invoices.

Returns:

  • (Int32)

    The number of past due invoices.



75
76
77
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 75

def total_invoices_past_due
  @total_invoices_past_due
end

#unapplied_amount_past_thirty_daysDouble

Returns The total value of unapplied Payments for this Customer in the past thirty days.

Returns:

  • (Double)

    The total value of unapplied Payments for this Customer in the past thirty days.



119
120
121
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 119

def unapplied_amount_past_thirty_days
  @unapplied_amount_past_thirty_days
end

#unapplied_paymentsDouble

Returns The total value of unapplied Payments for this Customer.

Returns:

  • (Double)

    The total value of unapplied Payments for this Customer.



115
116
117
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 115

def unapplied_payments
  @unapplied_payments
end

Instance Method Details

#as_json(options = {}) ⇒ object

Returns This object as a JSON key-value structure.

Returns:

  • (object)

    This object as a JSON key-value structure



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 135

def as_json(options={})
    {
        'groupKey' => @group_key,
        'companyId' => @company_id,
        'companyName' => @company_name,
        'primaryContact' => @primary_contact,
        'outstandingInvoices' => @outstanding_invoices,
        'totalInvoicesOpen' => @total_invoices_open,
        'totalInvoicesPastDue' => @total_invoices_past_due,
        'closedInvoices' => @closed_invoices,
        'closedInvoicesPastThirtyDays' => @closed_invoices_past_thirty_days,
        'amountCollected' => @amount_collected,
        'amountCollectedPastThirtyDays' => @amount_collected_past_thirty_days,
        'outstandingAmount' => @outstanding_amount,
        'invoicedAmountPastThirtyDays' => @invoiced_amount_past_thirty_days,
        'outstandingAmountPastThirtyDays' => @outstanding_amount_past_thirty_days,
        'invoicesPastThirtyDays' => @invoices_past_thirty_days,
        'amountPastDue' => @amount_past_due,
        'unappliedPayments' => @unapplied_payments,
        'unappliedAmountPastThirtyDays' => @unapplied_amount_past_thirty_days,
        'percentOfTotalAr' => @percent_of_total_ar,
        'dso' => @dso,
        'newestActivity' => @newest_activity,
    }
end

#to_json(*options) ⇒ String

Returns This object converted to a JSON string.

Returns:

  • (String)

    This object converted to a JSON string



163
164
165
# File 'lib/lockstep_sdk/models/customer_summary_model.rb', line 163

def to_json(*options)
    "[#{as_json(*options).to_json(*options)}]"
end