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,68 @@
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 a currency rate for specific currencies and date
24
+ class CurrencyRateModel
25
+
26
+ ##
27
+ # Initialize the CurrencyRateModel using the provided prototype
28
+ def initialize(params = {})
29
+ @source_currency = params.dig(:source_currency)
30
+ @destination_currency = params.dig(:destination_currency)
31
+ @date = params.dig(:date)
32
+ @currency_rate = params.dig(:currency_rate)
33
+ end
34
+
35
+ ##
36
+ # @return [String] The source currency
37
+ attr_accessor :source_currency
38
+
39
+ ##
40
+ # @return [String] The destination currency
41
+ attr_accessor :destination_currency
42
+
43
+ ##
44
+ # @return [Date] The date for the currency rate
45
+ attr_accessor :date
46
+
47
+ ##
48
+ # @return [Double] The currency rate value
49
+ attr_accessor :currency_rate
50
+
51
+ ##
52
+ # @return [object] This object as a JSON key-value structure
53
+ def as_json(options={})
54
+ {
55
+ 'sourceCurrency' => @source_currency,
56
+ 'destinationCurrency' => @destination_currency,
57
+ 'date' => @date,
58
+ 'currencyRate' => @currency_rate,
59
+ }
60
+ end
61
+
62
+ ##
63
+ # @return [String] This object converted to a JSON string
64
+ def to_json(*options)
65
+ "[#{as_json(*options).to_json(*options)}]"
66
+ end
67
+ end
68
+ 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 Custom Field represents metadata added to an object within the Lockstep Platform. Lockstep provides a
24
+ # core definition for each object. The core definition is intended to represent a level of compatibility
25
+ # that provides support across most accounting systems and products. When a user or developer requires
26
+ # information beyond this core definition, you can use Custom Fields to represent this information.
27
+ #
28
+ # See [Extensibility](https://developer.lockstep.io/docs/extensibility) for more information.
29
+ class CustomFieldDefinitionModel
30
+
31
+ ##
32
+ # Initialize the CustomFieldDefinitionModel using the provided prototype
33
+ def initialize(params = {})
34
+ @group_key = params.dig(:group_key)
35
+ @custom_field_definition_id = params.dig(:custom_field_definition_id)
36
+ @table_key = params.dig(:table_key)
37
+ @app_id = params.dig(:app_id)
38
+ @custom_field_label = params.dig(:custom_field_label)
39
+ @data_type = params.dig(:data_type)
40
+ @sort_order = params.dig(:sort_order)
41
+ @created = params.dig(:created)
42
+ @created_user_id = params.dig(:created_user_id)
43
+ @modified = params.dig(:modified)
44
+ @modified_user_id = params.dig(:modified_user_id)
45
+ @app_enrollment_id = params.dig(:app_enrollment_id)
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.
54
+ attr_accessor :custom_field_definition_id
55
+
56
+ ##
57
+ # @return [String] Table to which this definition belongs
58
+ attr_accessor :table_key
59
+
60
+ ##
61
+ # @return [Uuid] Id of app this definition belongs to
62
+ attr_accessor :app_id
63
+
64
+ ##
65
+ # @return [String] Text to display in-application for custom field
66
+ attr_accessor :custom_field_label
67
+
68
+ ##
69
+ # @return [String] Data type of this definition
70
+ attr_accessor :data_type
71
+
72
+ ##
73
+ # @return [Int32] Used for display logic when multiple custom fields exist
74
+ attr_accessor :sort_order
75
+
76
+ ##
77
+ # @return [Date-time] Date created
78
+ attr_accessor :created
79
+
80
+ ##
81
+ # @return [Uuid] Id of user who created this definition
82
+ attr_accessor :created_user_id
83
+
84
+ ##
85
+ # @return [Date-time] Date modified
86
+ attr_accessor :modified
87
+
88
+ ##
89
+ # @return [Uuid] Id of user who modified this definition
90
+ attr_accessor :modified_user_id
91
+
92
+ ##
93
+ # @return [Uuid] AppEnrollmentId for this record; used for mapping purposes.
94
+ attr_accessor :app_enrollment_id
95
+
96
+ ##
97
+ # @return [object] This object as a JSON key-value structure
98
+ def as_json(options={})
99
+ {
100
+ 'groupKey' => @group_key,
101
+ 'customFieldDefinitionId' => @custom_field_definition_id,
102
+ 'tableKey' => @table_key,
103
+ 'appId' => @app_id,
104
+ 'customFieldLabel' => @custom_field_label,
105
+ 'dataType' => @data_type,
106
+ 'sortOrder' => @sort_order,
107
+ 'created' => @created,
108
+ 'createdUserId' => @created_user_id,
109
+ 'modified' => @modified,
110
+ 'modifiedUserId' => @modified_user_id,
111
+ 'appEnrollmentId' => @app_enrollment_id,
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,115 @@
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 Custom Field represents metadata added to an object within the Lockstep Platform. Lockstep provides a
24
+ # core definition for each object. The core definition is intended to represent a level of compatibility
25
+ # that provides support across most accounting systems and products. When a user or developer requires
26
+ # information beyond this core definition, you can use Custom Fields to represent this information.
27
+ #
28
+ # See [Extensibility](https://developer.lockstep.io/docs/extensibility) for more information.
29
+ class CustomFieldValueModel
30
+
31
+ ##
32
+ # Initialize the CustomFieldValueModel using the provided prototype
33
+ def initialize(params = {})
34
+ @group_key = params.dig(:group_key)
35
+ @custom_field_definition_id = params.dig(:custom_field_definition_id)
36
+ @record_key = params.dig(:record_key)
37
+ @string_value = params.dig(:string_value)
38
+ @numeric_value = params.dig(:numeric_value)
39
+ @created = params.dig(:created)
40
+ @created_user_id = params.dig(:created_user_id)
41
+ @modified = params.dig(:modified)
42
+ @modified_user_id = params.dig(:modified_user_id)
43
+ @app_enrollment_id = params.dig(:app_enrollment_id)
44
+ @custom_field_definition = params.dig(:custom_field_definition)
45
+ end
46
+
47
+ ##
48
+ # @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).
49
+ attr_accessor :group_key
50
+
51
+ ##
52
+ # @return [Uuid] The unique ID of this record, automatically assigned by Lockstep when this record is added to the Lockstep platform.
53
+ attr_accessor :custom_field_definition_id
54
+
55
+ ##
56
+ # @return [Uuid] Additional key if source table doesn't have a unique id
57
+ attr_accessor :record_key
58
+
59
+ ##
60
+ # @return [String] String of data for field
61
+ attr_accessor :string_value
62
+
63
+ ##
64
+ # @return [Double] Number data for field
65
+ attr_accessor :numeric_value
66
+
67
+ ##
68
+ # @return [Date-time] Date created
69
+ attr_accessor :created
70
+
71
+ ##
72
+ # @return [Uuid] Id of user who created this value
73
+ attr_accessor :created_user_id
74
+
75
+ ##
76
+ # @return [Date-time] Date modified
77
+ attr_accessor :modified
78
+
79
+ ##
80
+ # @return [Uuid] Id of user who modified this value
81
+ attr_accessor :modified_user_id
82
+
83
+ ##
84
+ # @return [Uuid] AppEnrollmentId for this record; used for mapping purposes.
85
+ attr_accessor :app_enrollment_id
86
+
87
+ ##
88
+ # @return [CustomFieldDefinitionModel] Definition of the value
89
+ attr_accessor :custom_field_definition
90
+
91
+ ##
92
+ # @return [object] This object as a JSON key-value structure
93
+ def as_json(options={})
94
+ {
95
+ 'groupKey' => @group_key,
96
+ 'customFieldDefinitionId' => @custom_field_definition_id,
97
+ 'recordKey' => @record_key,
98
+ 'stringValue' => @string_value,
99
+ 'numericValue' => @numeric_value,
100
+ 'created' => @created,
101
+ 'createdUserId' => @created_user_id,
102
+ 'modified' => @modified,
103
+ 'modifiedUserId' => @modified_user_id,
104
+ 'appEnrollmentId' => @app_enrollment_id,
105
+ 'customFieldDefinition' => @custom_field_definition,
106
+ }
107
+ end
108
+
109
+ ##
110
+ # @return [String] This object converted to a JSON string
111
+ def to_json(*options)
112
+ "[#{as_json(*options).to_json(*options)}]"
113
+ end
114
+ end
115
+ end
@@ -0,0 +1,164 @@
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 customer details data
24
+ class CustomerDetailsModel
25
+
26
+ ##
27
+ # Initialize the CustomerDetailsModel using the provided prototype
28
+ def initialize(params = {})
29
+ @group_key = params.dig(:group_key)
30
+ @customer_id = params.dig(:customer_id)
31
+ @name = params.dig(:name)
32
+ @address1 = params.dig(:address1)
33
+ @address2 = params.dig(:address2)
34
+ @address3 = params.dig(:address3)
35
+ @city = params.dig(:city)
36
+ @state = params.dig(:state)
37
+ @postal_code = params.dig(:postal_code)
38
+ @country = params.dig(:country)
39
+ @phone_number = params.dig(:phone_number)
40
+ @fax_number = params.dig(:fax_number)
41
+ @email = params.dig(:email)
42
+ @contact_id = params.dig(:contact_id)
43
+ @contact_name = params.dig(:contact_name)
44
+ @contact_email = params.dig(:contact_email)
45
+ @outstanding_invoices = params.dig(:outstanding_invoices)
46
+ @outstanding_amount = params.dig(:outstanding_amount)
47
+ @amount_past_due = params.dig(:amount_past_due)
48
+ @payments = params.dig(:payments)
49
+ end
50
+
51
+ ##
52
+ # @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).
53
+ attr_accessor :group_key
54
+
55
+ ##
56
+ # @return [Uuid] The unique ID of this customer
57
+ attr_accessor :customer_id
58
+
59
+ ##
60
+ # @return [String] The unique ID of this customer
61
+ attr_accessor :name
62
+
63
+ ##
64
+ # @return [String] Customer address info
65
+ attr_accessor :address1
66
+
67
+ ##
68
+ # @return [String] Customer address info
69
+ attr_accessor :address2
70
+
71
+ ##
72
+ # @return [String] Customer address info
73
+ attr_accessor :address3
74
+
75
+ ##
76
+ # @return [String] Customer address info
77
+ attr_accessor :city
78
+
79
+ ##
80
+ # @return [String] Customer address info
81
+ attr_accessor :state
82
+
83
+ ##
84
+ # @return [String] Customer address info
85
+ attr_accessor :postal_code
86
+
87
+ ##
88
+ # @return [String] Customer address country
89
+ attr_accessor :country
90
+
91
+ ##
92
+ # @return [String] Customer phone number
93
+ attr_accessor :phone_number
94
+
95
+ ##
96
+ # @return [String] Customer fax number
97
+ attr_accessor :fax_number
98
+
99
+ ##
100
+ # @return [String] Customer AR email address
101
+ attr_accessor :email
102
+
103
+ ##
104
+ # @return [Uuid] Customer primary contact id
105
+ attr_accessor :contact_id
106
+
107
+ ##
108
+ # @return [String] Customer primary contact name
109
+ attr_accessor :contact_name
110
+
111
+ ##
112
+ # @return [String] Customer primary contact email address
113
+ attr_accessor :contact_email
114
+
115
+ ##
116
+ # @return [Int32] Customer number of outstanding invoices
117
+ attr_accessor :outstanding_invoices
118
+
119
+ ##
120
+ # @return [Double] Customer total outstanding invoice amount
121
+ attr_accessor :outstanding_amount
122
+
123
+ ##
124
+ # @return [Double] Customer total past due amount
125
+ attr_accessor :amount_past_due
126
+
127
+ ##
128
+ # @return [CustomerDetailsPaymentModel] Customer payments collected
129
+ attr_accessor :payments
130
+
131
+ ##
132
+ # @return [object] This object as a JSON key-value structure
133
+ def as_json(options={})
134
+ {
135
+ 'groupKey' => @group_key,
136
+ 'customerId' => @customer_id,
137
+ 'name' => @name,
138
+ 'address1' => @address1,
139
+ 'address2' => @address2,
140
+ 'address3' => @address3,
141
+ 'city' => @city,
142
+ 'state' => @state,
143
+ 'postalCode' => @postal_code,
144
+ 'country' => @country,
145
+ 'phoneNumber' => @phone_number,
146
+ 'faxNumber' => @fax_number,
147
+ 'email' => @email,
148
+ 'contactId' => @contact_id,
149
+ 'contactName' => @contact_name,
150
+ 'contactEmail' => @contact_email,
151
+ 'outstandingInvoices' => @outstanding_invoices,
152
+ 'outstandingAmount' => @outstanding_amount,
153
+ 'amountPastDue' => @amount_past_due,
154
+ 'payments' => @payments,
155
+ }
156
+ end
157
+
158
+ ##
159
+ # @return [String] This object converted to a JSON string
160
+ def to_json(*options)
161
+ "[#{as_json(*options).to_json(*options)}]"
162
+ end
163
+ end
164
+ end
@@ -0,0 +1,104 @@
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
+ # Customer payment collected information
24
+ class CustomerDetailsPaymentModel
25
+
26
+ ##
27
+ # Initialize the CustomerDetailsPaymentModel using the provided prototype
28
+ def initialize(params = {})
29
+ @group_key = params.dig(:group_key)
30
+ @payment_id = params.dig(:payment_id)
31
+ @payment_applied_id = params.dig(:payment_applied_id)
32
+ @payment_type = params.dig(:payment_type)
33
+ @invoice_id = params.dig(:invoice_id)
34
+ @invoice_type_code = params.dig(:invoice_type_code)
35
+ @invoice_reference_code = params.dig(:invoice_reference_code)
36
+ @invoice_total_amount = params.dig(:invoice_total_amount)
37
+ @payment_date = params.dig(:payment_date)
38
+ @payment_amount = params.dig(:payment_amount)
39
+ end
40
+
41
+ ##
42
+ # @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).
43
+ attr_accessor :group_key
44
+
45
+ ##
46
+ # @return [Uuid] Unique identifier for payment
47
+ attr_accessor :payment_id
48
+
49
+ ##
50
+ # @return [Uuid] Unique identifier for payment applied
51
+ attr_accessor :payment_applied_id
52
+
53
+ ##
54
+ # @return [String] Payment type
55
+ attr_accessor :payment_type
56
+
57
+ ##
58
+ # @return [Uuid] Unique identifier for invoice payment is associated with
59
+ attr_accessor :invoice_id
60
+
61
+ ##
62
+ # @return [String] Invoice type payment is associated with
63
+ attr_accessor :invoice_type_code
64
+
65
+ ##
66
+ # @return [String] Invoice reference code payment is associated with
67
+ attr_accessor :invoice_reference_code
68
+
69
+ ##
70
+ # @return [Double] Invoice total amount payment is associated with
71
+ attr_accessor :invoice_total_amount
72
+
73
+ ##
74
+ # @return [Date-time] Date payment placed
75
+ attr_accessor :payment_date
76
+
77
+ ##
78
+ # @return [Double] Amount payment was made for
79
+ attr_accessor :payment_amount
80
+
81
+ ##
82
+ # @return [object] This object as a JSON key-value structure
83
+ def as_json(options={})
84
+ {
85
+ 'groupKey' => @group_key,
86
+ 'paymentId' => @payment_id,
87
+ 'paymentAppliedId' => @payment_applied_id,
88
+ 'paymentType' => @payment_type,
89
+ 'invoiceId' => @invoice_id,
90
+ 'invoiceTypeCode' => @invoice_type_code,
91
+ 'invoiceReferenceCode' => @invoice_reference_code,
92
+ 'invoiceTotalAmount' => @invoice_total_amount,
93
+ 'paymentDate' => @payment_date,
94
+ 'paymentAmount' => @payment_amount,
95
+ }
96
+ end
97
+
98
+ ##
99
+ # @return [String] This object converted to a JSON string
100
+ def to_json(*options)
101
+ "[#{as_json(*options).to_json(*options)}]"
102
+ end
103
+ end
104
+ end