lockstep_sdk 2022.4.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. checksums.yaml +7 -0
  2. data/lib/lockstep_sdk/clients/activities_client.rb +119 -0
  3. data/lib/lockstep_sdk/clients/api_keys_client.rb +78 -0
  4. data/lib/lockstep_sdk/clients/app_enrollments_client.rb +121 -0
  5. data/lib/lockstep_sdk/clients/applications_client.rb +100 -0
  6. data/lib/lockstep_sdk/clients/attachments_client.rb +121 -0
  7. data/lib/lockstep_sdk/clients/code_definitions_client.rb +60 -0
  8. data/lib/lockstep_sdk/clients/companies_client.rb +123 -0
  9. data/lib/lockstep_sdk/clients/contacts_client.rb +90 -0
  10. data/lib/lockstep_sdk/clients/credit_memo_applied_client.rb +92 -0
  11. data/lib/lockstep_sdk/clients/currencies_client.rb +55 -0
  12. data/lib/lockstep_sdk/clients/custom_field_definitions_client.rb +94 -0
  13. data/lib/lockstep_sdk/clients/custom_field_values_client.rb +97 -0
  14. data/lib/lockstep_sdk/clients/definitions_client.rb +95 -0
  15. data/lib/lockstep_sdk/clients/emails_client.rb +108 -0
  16. data/lib/lockstep_sdk/clients/invoice_history_client.rb +56 -0
  17. data/lib/lockstep_sdk/clients/invoices_client.rb +126 -0
  18. data/lib/lockstep_sdk/clients/leads_client.rb +40 -0
  19. data/lib/lockstep_sdk/clients/notes_client.rb +84 -0
  20. data/lib/lockstep_sdk/clients/payment_applications_client.rb +92 -0
  21. data/lib/lockstep_sdk/clients/payments_client.rb +138 -0
  22. data/lib/lockstep_sdk/clients/provisioning_client.rb +56 -0
  23. data/lib/lockstep_sdk/clients/reports_client.rb +114 -0
  24. data/lib/lockstep_sdk/clients/status_client.rb +53 -0
  25. data/lib/lockstep_sdk/clients/sync_client.rb +97 -0
  26. data/lib/lockstep_sdk/clients/user_accounts_client.rb +127 -0
  27. data/lib/lockstep_sdk/clients/user_roles_client.rb +54 -0
  28. data/lib/lockstep_sdk/lockstep_api.rb +264 -0
  29. data/lib/lockstep_sdk/models/activity_model.rb +221 -0
  30. data/lib/lockstep_sdk/models/activity_stream_item_model.rb +104 -0
  31. data/lib/lockstep_sdk/models/activity_xref_model.rb +72 -0
  32. data/lib/lockstep_sdk/models/aging_model.rb +62 -0
  33. data/lib/lockstep_sdk/models/api_key_model.rb +116 -0
  34. data/lib/lockstep_sdk/models/app_enrollment_custom_field_model.rb +110 -0
  35. data/lib/lockstep_sdk/models/app_enrollment_model.rb +151 -0
  36. data/lib/lockstep_sdk/models/application_model.rb +166 -0
  37. data/lib/lockstep_sdk/models/ar_aging_header_info_model.rb +86 -0
  38. data/lib/lockstep_sdk/models/ar_header_info_model.rb +170 -0
  39. data/lib/lockstep_sdk/models/at_risk_invoice_summary_model.rb +140 -0
  40. data/lib/lockstep_sdk/models/attachment_header_info_model.rb +74 -0
  41. data/lib/lockstep_sdk/models/attachment_model.rb +122 -0
  42. data/lib/lockstep_sdk/models/bulk_currency_conversion_model.rb +56 -0
  43. data/lib/lockstep_sdk/models/cashflow_report_model.rb +74 -0
  44. data/lib/lockstep_sdk/models/code_definition_model.rb +99 -0
  45. data/lib/lockstep_sdk/models/company_model.rb +336 -0
  46. data/lib/lockstep_sdk/models/connector_info_model.rb +69 -0
  47. data/lib/lockstep_sdk/models/contact_model.rb +227 -0
  48. data/lib/lockstep_sdk/models/country_model.rb +116 -0
  49. data/lib/lockstep_sdk/models/credit_memo_applied_model.rb +150 -0
  50. data/lib/lockstep_sdk/models/credit_memo_invoice_model.rb +116 -0
  51. data/lib/lockstep_sdk/models/currency_model.rb +74 -0
  52. data/lib/lockstep_sdk/models/currency_rate_model.rb +68 -0
  53. data/lib/lockstep_sdk/models/custom_field_definition_model.rb +121 -0
  54. data/lib/lockstep_sdk/models/custom_field_value_model.rb +115 -0
  55. data/lib/lockstep_sdk/models/customer_details_model.rb +164 -0
  56. data/lib/lockstep_sdk/models/customer_details_payment_model.rb +104 -0
  57. data/lib/lockstep_sdk/models/customer_summary_model.rb +134 -0
  58. data/lib/lockstep_sdk/models/daily_sales_outstanding_report_model.rb +62 -0
  59. data/lib/lockstep_sdk/models/developer_account_submit_model.rb +62 -0
  60. data/lib/lockstep_sdk/models/email_model.rb +245 -0
  61. data/lib/lockstep_sdk/models/erp_info_data_model.rb +63 -0
  62. data/lib/lockstep_sdk/models/erp_info_model.rb +56 -0
  63. data/lib/lockstep_sdk/models/erp_model.rb +62 -0
  64. data/lib/lockstep_sdk/models/invite_data_model.rb +56 -0
  65. data/lib/lockstep_sdk/models/invite_model.rb +68 -0
  66. data/lib/lockstep_sdk/models/invite_submit_model.rb +50 -0
  67. data/lib/lockstep_sdk/models/invoice_address_model.rb +140 -0
  68. data/lib/lockstep_sdk/models/invoice_history_model.rb +238 -0
  69. data/lib/lockstep_sdk/models/invoice_line_model.rb +194 -0
  70. data/lib/lockstep_sdk/models/invoice_model.rb +325 -0
  71. data/lib/lockstep_sdk/models/invoice_payment_detail_model.rb +104 -0
  72. data/lib/lockstep_sdk/models/invoice_summary_model.rb +134 -0
  73. data/lib/lockstep_sdk/models/lead_model.rb +74 -0
  74. data/lib/lockstep_sdk/models/note_model.rb +121 -0
  75. data/lib/lockstep_sdk/models/payment_applied_model.rb +131 -0
  76. data/lib/lockstep_sdk/models/payment_detail_header_model.rb +80 -0
  77. data/lib/lockstep_sdk/models/payment_detail_model.rb +176 -0
  78. data/lib/lockstep_sdk/models/payment_model.rb +206 -0
  79. data/lib/lockstep_sdk/models/payment_summary_model.rb +128 -0
  80. data/lib/lockstep_sdk/models/provisioning_finalize_request_model.rb +74 -0
  81. data/lib/lockstep_sdk/models/provisioning_model.rb +74 -0
  82. data/lib/lockstep_sdk/models/provisioning_response_model.rb +86 -0
  83. data/lib/lockstep_sdk/models/risk_rate_model.rb +98 -0
  84. data/lib/lockstep_sdk/models/state_model.rb +62 -0
  85. data/lib/lockstep_sdk/models/status_model.rb +128 -0
  86. data/lib/lockstep_sdk/models/sync_entity_result_model.rb +74 -0
  87. data/lib/lockstep_sdk/models/sync_request_model.rb +98 -0
  88. data/lib/lockstep_sdk/models/sync_submit_model.rb +50 -0
  89. data/lib/lockstep_sdk/models/transfer_owner_model.rb +56 -0
  90. data/lib/lockstep_sdk/models/transfer_owner_submit_model.rb +50 -0
  91. data/lib/lockstep_sdk/models/user_account_model.rb +240 -0
  92. data/lib/lockstep_sdk/models/user_role_model.rb +86 -0
  93. data/lib/lockstep_sdk/version.rb +3 -0
  94. metadata +150 -0
@@ -0,0 +1,134 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Contains summarized data for an invoice
24
+ class InvoiceSummaryModel
25
+
26
+ ##
27
+ # Initialize the InvoiceSummaryModel using the provided prototype
28
+ def initialize(params = {})
29
+ @group_key = params.dig(:group_key)
30
+ @customer_id = params.dig(:customer_id)
31
+ @invoice_id = params.dig(:invoice_id)
32
+ @invoice_number = params.dig(:invoice_number)
33
+ @invoice_date = params.dig(:invoice_date)
34
+ @customer_name = params.dig(:customer_name)
35
+ @status = params.dig(:status)
36
+ @payment_due_date = params.dig(:payment_due_date)
37
+ @invoice_amount = params.dig(:invoice_amount)
38
+ @outstanding_balance = params.dig(:outstanding_balance)
39
+ @invoice_type_code = params.dig(:invoice_type_code)
40
+ @newest_activity = params.dig(:newest_activity)
41
+ @days_past_due = params.dig(:days_past_due)
42
+ @payment_numbers = params.dig(:payment_numbers)
43
+ @payment_ids = params.dig(:payment_ids)
44
+ end
45
+
46
+ ##
47
+ # @return [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](https://developer.lockstep.io/docs/accounts-and-groupkeys).
48
+ attr_accessor :group_key
49
+
50
+ ##
51
+ # @return [Uuid] The ID number of the counterparty for the invoice, for example, a customer or vendor.
52
+ attr_accessor :customer_id
53
+
54
+ ##
55
+ # @return [Uuid] The unique ID number of this invoice.
56
+ attr_accessor :invoice_id
57
+
58
+ ##
59
+ # @return [String] A reference code that is used to identify this invoice. The meaning of this field is specific to the ERP or accounting system used by the user.
60
+ attr_accessor :invoice_number
61
+
62
+ ##
63
+ # @return [Date] The reporting date for this invoice.
64
+ attr_accessor :invoice_date
65
+
66
+ ##
67
+ # @return [String] The name of the counterparty for the invoice, for example, a customer or vendor.
68
+ attr_accessor :customer_name
69
+
70
+ ##
71
+ # @return [String] The status of the invoice.
72
+ attr_accessor :status
73
+
74
+ ##
75
+ # @return [Date] The due date of the invoice.
76
+ attr_accessor :payment_due_date
77
+
78
+ ##
79
+ # @return [Double] The total amount of the Invoice.
80
+ attr_accessor :invoice_amount
81
+
82
+ ##
83
+ # @return [Double] The remaining balance value of this invoice.
84
+ attr_accessor :outstanding_balance
85
+
86
+ ##
87
+ # @return [String] A code identifying the type of this Invoice.
88
+ attr_accessor :invoice_type_code
89
+
90
+ ##
91
+ # @return [Date] The date stamp for the newest Activity on this Invoice.
92
+ attr_accessor :newest_activity
93
+
94
+ ##
95
+ # @return [Int32] The number of days this Invoice is past due.
96
+ attr_accessor :days_past_due
97
+
98
+ ##
99
+ # @return [String] The memo text of the payments associated to this invoice.
100
+ attr_accessor :payment_numbers
101
+
102
+ ##
103
+ # @return [Uuid] The ids of the payments associated to this invoice.
104
+ attr_accessor :payment_ids
105
+
106
+ ##
107
+ # @return [object] This object as a JSON key-value structure
108
+ def as_json(options={})
109
+ {
110
+ 'groupKey' => @group_key,
111
+ 'customerId' => @customer_id,
112
+ 'invoiceId' => @invoice_id,
113
+ 'invoiceNumber' => @invoice_number,
114
+ 'invoiceDate' => @invoice_date,
115
+ 'customerName' => @customer_name,
116
+ 'status' => @status,
117
+ 'paymentDueDate' => @payment_due_date,
118
+ 'invoiceAmount' => @invoice_amount,
119
+ 'outstandingBalance' => @outstanding_balance,
120
+ 'invoiceTypeCode' => @invoice_type_code,
121
+ 'newestActivity' => @newest_activity,
122
+ 'daysPastDue' => @days_past_due,
123
+ 'paymentNumbers' => @payment_numbers,
124
+ 'paymentIds' => @payment_ids,
125
+ }
126
+ end
127
+
128
+ ##
129
+ # @return [String] This object converted to a JSON string
130
+ def to_json(*options)
131
+ "[#{as_json(*options).to_json(*options)}]"
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,74 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Represents leads for creating new ERP connectors
24
+ class LeadModel
25
+
26
+ ##
27
+ # Initialize the LeadModel using the provided prototype
28
+ def initialize(params = {})
29
+ @lead_id = params.dig(:lead_id)
30
+ @name = params.dig(:name)
31
+ @company = params.dig(:company)
32
+ @email = params.dig(:email)
33
+ @erp_system = params.dig(:erp_system)
34
+ end
35
+
36
+ ##
37
+ # @return [Uuid] The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform.
38
+ attr_accessor :lead_id
39
+
40
+ ##
41
+ # @return [String] Name of lead
42
+ attr_accessor :name
43
+
44
+ ##
45
+ # @return [String] Name of company of lead
46
+ attr_accessor :company
47
+
48
+ ##
49
+ # @return [String] Email of lead
50
+ attr_accessor :email
51
+
52
+ ##
53
+ # @return [String] Requested ERP of lead
54
+ attr_accessor :erp_system
55
+
56
+ ##
57
+ # @return [object] This object as a JSON key-value structure
58
+ def as_json(options={})
59
+ {
60
+ 'leadId' => @lead_id,
61
+ 'name' => @name,
62
+ 'company' => @company,
63
+ 'email' => @email,
64
+ 'erpSystem' => @erp_system,
65
+ }
66
+ end
67
+
68
+ ##
69
+ # @return [String] This object converted to a JSON string
70
+ def to_json(*options)
71
+ "[#{as_json(*options).to_json(*options)}]"
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,121 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # A note is a customizable text string that can be attached to various account attributes
24
+ # within Lockstep. You can use notes for internal communication, correspondence with
25
+ # clients, or personal reminders. The Note Model represents a note and a number of
26
+ # different metadata attributes related to the creation, storage, and ownership of the note.
27
+ #
28
+ # See [Extensibility](https://developer.lockstep.io/docs/extensibility) for more information.
29
+ class NoteModel
30
+
31
+ ##
32
+ # Initialize the NoteModel using the provided prototype
33
+ def initialize(params = {})
34
+ @note_id = params.dig(:note_id)
35
+ @group_key = params.dig(:group_key)
36
+ @table_key = params.dig(:table_key)
37
+ @object_key = params.dig(:object_key)
38
+ @note_text = params.dig(:note_text)
39
+ @note_type = params.dig(:note_type)
40
+ @is_archived = params.dig(:is_archived)
41
+ @created = params.dig(:created)
42
+ @created_user_id = params.dig(:created_user_id)
43
+ @created_user_name = params.dig(:created_user_name)
44
+ @app_enrollment_id = params.dig(:app_enrollment_id)
45
+ @recipient_name = params.dig(:recipient_name)
46
+ end
47
+
48
+ ##
49
+ # @return [Uuid] The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform.
50
+ attr_accessor :note_id
51
+
52
+ ##
53
+ # @return [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](https://developer.lockstep.io/docs/accounts-and-groupkeys).
54
+ attr_accessor :group_key
55
+
56
+ ##
57
+ # @return [String] The name of the table the note is associated with
58
+ attr_accessor :table_key
59
+
60
+ ##
61
+ # @return [Uuid] The ID of the object the note is associated with
62
+ attr_accessor :object_key
63
+
64
+ ##
65
+ # @return [String] The text of the note
66
+ attr_accessor :note_text
67
+
68
+ ##
69
+ # @return [String] The type of the note
70
+ attr_accessor :note_type
71
+
72
+ ##
73
+ # @return [Boolean] Flag indicating if the note has been archived
74
+ attr_accessor :is_archived
75
+
76
+ ##
77
+ # @return [Date-time] The date the note was created
78
+ attr_accessor :created
79
+
80
+ ##
81
+ # @return [Uuid] The ID of the user who created the note
82
+ attr_accessor :created_user_id
83
+
84
+ ##
85
+ # @return [String] The name of the user who created the note
86
+ attr_accessor :created_user_name
87
+
88
+ ##
89
+ # @return [Uuid] AppEnrollmentId for this record; used for mapping purposes.
90
+ attr_accessor :app_enrollment_id
91
+
92
+ ##
93
+ # @return [String] The person to whom this note is intended for.
94
+ attr_accessor :recipient_name
95
+
96
+ ##
97
+ # @return [object] This object as a JSON key-value structure
98
+ def as_json(options={})
99
+ {
100
+ 'noteId' => @note_id,
101
+ 'groupKey' => @group_key,
102
+ 'tableKey' => @table_key,
103
+ 'objectKey' => @object_key,
104
+ 'noteText' => @note_text,
105
+ 'noteType' => @note_type,
106
+ 'isArchived' => @is_archived,
107
+ 'created' => @created,
108
+ 'createdUserId' => @created_user_id,
109
+ 'createdUserName' => @created_user_name,
110
+ 'appEnrollmentId' => @app_enrollment_id,
111
+ 'recipientName' => @recipient_name,
112
+ }
113
+ end
114
+
115
+ ##
116
+ # @return [String] This object converted to a JSON string
117
+ def to_json(*options)
118
+ "[#{as_json(*options).to_json(*options)}]"
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,131 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # A Payment Application is created by a business who receives a Payment from a customer. A customer may make
24
+ # a single Payment to match an Invoice exactly, a partial Payment for an Invoice, or a single Payment may be
25
+ # made for multiple smaller Invoices. The Payment Application contains information about which Invoices are connected
26
+ # to which Payments and for which amounts.
27
+ class PaymentAppliedModel
28
+
29
+ ##
30
+ # Initialize the PaymentAppliedModel using the provided prototype
31
+ def initialize(params = {})
32
+ @group_key = params.dig(:group_key)
33
+ @payment_applied_id = params.dig(:payment_applied_id)
34
+ @invoice_id = params.dig(:invoice_id)
35
+ @payment_id = params.dig(:payment_id)
36
+ @erp_key = params.dig(:erp_key)
37
+ @entry_number = params.dig(:entry_number)
38
+ @apply_to_invoice_date = params.dig(:apply_to_invoice_date)
39
+ @payment_applied_amount = params.dig(:payment_applied_amount)
40
+ @created = params.dig(:created)
41
+ @created_user_id = params.dig(:created_user_id)
42
+ @modified = params.dig(:modified)
43
+ @modified_user_id = params.dig(:modified_user_id)
44
+ @app_enrollment_id = params.dig(:app_enrollment_id)
45
+ @invoice = params.dig(:invoice)
46
+ end
47
+
48
+ ##
49
+ # @return [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](https://developer.lockstep.io/docs/accounts-and-groupkeys).
50
+ attr_accessor :group_key
51
+
52
+ ##
53
+ # @return [Uuid] The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform. For the ID of this record in its originating financial system, see `ErpKey`.
54
+ attr_accessor :payment_applied_id
55
+
56
+ ##
57
+ # @return [Uuid] The Invoice this payment is applied to.
58
+ attr_accessor :invoice_id
59
+
60
+ ##
61
+ # @return [Uuid] The Payment applied to the invoice.
62
+ attr_accessor :payment_id
63
+
64
+ ##
65
+ # @return [String] The unique ID of this record as it was known in its originating financial system. If this company record was imported from a financial system, it will have the value `ErpKey` set to the original primary key number of the record as it was known in the originating financial system. If this record was not imported, this value will be `null`. For more information, see [Identity Columns](https://developer.lockstep.io/docs/identity-columns).
66
+ attr_accessor :erp_key
67
+
68
+ ##
69
+ # @return [Int32] Reference number for the payment applied.
70
+ attr_accessor :entry_number
71
+
72
+ ##
73
+ # @return [Date-time] Date payment applied to invoice.
74
+ attr_accessor :apply_to_invoice_date
75
+
76
+ ##
77
+ # @return [Double] Amount applied to invoice.
78
+ attr_accessor :payment_applied_amount
79
+
80
+ ##
81
+ # @return [Date-time] Date payment applied record was created.
82
+ attr_accessor :created
83
+
84
+ ##
85
+ # @return [Uuid] The id of the user who created this applied payment.
86
+ attr_accessor :created_user_id
87
+
88
+ ##
89
+ # @return [Date-time] Date payment applied record was modified.
90
+ attr_accessor :modified
91
+
92
+ ##
93
+ # @return [Uuid] The id of the user who modified this applied payment.
94
+ attr_accessor :modified_user_id
95
+
96
+ ##
97
+ # @return [Uuid] AppEnrollmentId for this record; used for mapping purposes.
98
+ attr_accessor :app_enrollment_id
99
+
100
+ ##
101
+ # @return [InvoiceModel] The invoice associated with this applied payment.
102
+ attr_accessor :invoice
103
+
104
+ ##
105
+ # @return [object] This object as a JSON key-value structure
106
+ def as_json(options={})
107
+ {
108
+ 'groupKey' => @group_key,
109
+ 'paymentAppliedId' => @payment_applied_id,
110
+ 'invoiceId' => @invoice_id,
111
+ 'paymentId' => @payment_id,
112
+ 'erpKey' => @erp_key,
113
+ 'entryNumber' => @entry_number,
114
+ 'applyToInvoiceDate' => @apply_to_invoice_date,
115
+ 'paymentAppliedAmount' => @payment_applied_amount,
116
+ 'created' => @created,
117
+ 'createdUserId' => @created_user_id,
118
+ 'modified' => @modified,
119
+ 'modifiedUserId' => @modified_user_id,
120
+ 'appEnrollmentId' => @app_enrollment_id,
121
+ 'invoice' => @invoice,
122
+ }
123
+ end
124
+
125
+ ##
126
+ # @return [String] This object converted to a JSON string
127
+ def to_json(*options)
128
+ "[#{as_json(*options).to_json(*options)}]"
129
+ end
130
+ end
131
+ end
@@ -0,0 +1,80 @@
1
+ #
2
+ # Lockstep Software Development Kit for Ruby
3
+ #
4
+ # (c) 2021-2022 Lockstep, Inc.
5
+ #
6
+ # For the full copyright and license information, please view the LICENSE
7
+ # file that was distributed with this source code.
8
+ #
9
+ # @author Ted Spence <tspence@lockstep.io>
10
+ # @author Manish Narayan B S <manish.n@lockstep.io>
11
+ # @author Rishi Rajkumar Jawahar <rjawahar@lockstep.io>
12
+ # @copyright 2021-2022 Lockstep, Inc.
13
+ # @version 2022.4
14
+ # @link https://github.com/Lockstep-Network/lockstep-sdk-ruby
15
+ #
16
+
17
+
18
+ require 'json'
19
+
20
+ module LockstepSdk
21
+
22
+ ##
23
+ # Contains group level payment data.
24
+ class PaymentDetailHeaderModel
25
+
26
+ ##
27
+ # Initialize the PaymentDetailHeaderModel using the provided prototype
28
+ def initialize(params = {})
29
+ @group_key = params.dig(:group_key)
30
+ @customer_count = params.dig(:customer_count)
31
+ @amount_collected = params.dig(:amount_collected)
32
+ @unapplied_amount = params.dig(:unapplied_amount)
33
+ @paid_invoice_count = params.dig(:paid_invoice_count)
34
+ @open_invoice_count = params.dig(:open_invoice_count)
35
+ end
36
+
37
+ ##
38
+ # @return [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](https://developer.lockstep.io/docs/accounts-and-groupkeys).
39
+ attr_accessor :group_key
40
+
41
+ ##
42
+ # @return [Int32] The total number of Customers.
43
+ attr_accessor :customer_count
44
+
45
+ ##
46
+ # @return [Double] The total amount collected.
47
+ attr_accessor :amount_collected
48
+
49
+ ##
50
+ # @return [Double] The total unapplied amount.
51
+ attr_accessor :unapplied_amount
52
+
53
+ ##
54
+ # @return [Int32] The number of paid invoices.
55
+ attr_accessor :paid_invoice_count
56
+
57
+ ##
58
+ # @return [Int32] The number of open invoices.
59
+ attr_accessor :open_invoice_count
60
+
61
+ ##
62
+ # @return [object] This object as a JSON key-value structure
63
+ def as_json(options={})
64
+ {
65
+ 'groupKey' => @group_key,
66
+ 'customerCount' => @customer_count,
67
+ 'amountCollected' => @amount_collected,
68
+ 'unappliedAmount' => @unapplied_amount,
69
+ 'paidInvoiceCount' => @paid_invoice_count,
70
+ 'openInvoiceCount' => @open_invoice_count,
71
+ }
72
+ end
73
+
74
+ ##
75
+ # @return [String] This object converted to a JSON string
76
+ def to_json(*options)
77
+ "[#{as_json(*options).to_json(*options)}]"
78
+ end
79
+ end
80
+ end