avalara_sdk 25.6.0 → 25.7.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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -3
  3. data/docs/A1099/V2/BulkUpsert1099FormsRequest.md +3 -1
  4. data/docs/A1099/V2/CompaniesW9Api.md +45 -31
  5. data/docs/A1099/V2/CoveredIndividualReference.md +58 -0
  6. data/docs/A1099/V2/CoveredIndividualRequest.md +54 -0
  7. data/docs/A1099/V2/Form1095B.md +86 -0
  8. data/docs/A1099/V2/Form1095BList.md +20 -0
  9. data/docs/A1099/V2/Form1095BListItem.md +74 -0
  10. data/docs/A1099/V2/Form1095BRequest.md +76 -0
  11. data/docs/A1099/V2/Form1099Base.md +8 -8
  12. data/docs/A1099/V2/Form1099DivListItem.md +11 -11
  13. data/docs/A1099/V2/Form1099DivRequest.md +11 -17
  14. data/docs/A1099/V2/Form1099DivResponse.md +88 -0
  15. data/docs/A1099/V2/Form1099K.md +8 -8
  16. data/docs/A1099/V2/Form1099KListItem.md +11 -11
  17. data/docs/A1099/V2/Form1099KRequest.md +11 -17
  18. data/docs/A1099/V2/Form1099List.md +1 -1
  19. data/docs/A1099/V2/Form1099ListDataInner.md +32 -0
  20. data/docs/A1099/V2/Form1099Misc.md +8 -8
  21. data/docs/A1099/V2/Form1099MiscListItem.md +11 -11
  22. data/docs/A1099/V2/Form1099MiscRequest.md +11 -17
  23. data/docs/A1099/V2/Form1099MiscResponse.md +120 -0
  24. data/docs/A1099/V2/Form1099Nec.md +8 -8
  25. data/docs/A1099/V2/Form1099NecListItem.md +11 -11
  26. data/docs/A1099/V2/Form1099NecRequest.md +11 -17
  27. data/docs/A1099/V2/Form1099NecResponse.md +96 -0
  28. data/docs/A1099/V2/Form1099R.md +8 -8
  29. data/docs/A1099/V2/Form1099RListItem.md +11 -11
  30. data/docs/A1099/V2/Form1099RRequest.md +11 -17
  31. data/docs/A1099/V2/FormRequestBase.md +9 -13
  32. data/docs/A1099/V2/FormRequestCsvBase.md +66 -0
  33. data/docs/A1099/V2/FormResponseBase.md +43 -9
  34. data/docs/A1099/V2/FormSingleRequestBase.md +11 -15
  35. data/docs/A1099/V2/Forms1099Api.md +75 -57
  36. data/docs/A1099/V2/FormsW9Api.md +63 -123
  37. data/docs/A1099/V2/Get1099Form200Response.md +55 -0
  38. data/docs/A1099/V2/IncludedBase.md +20 -0
  39. data/docs/A1099/V2/Issuers1099Api.md +45 -31
  40. data/docs/A1099/V2/Jobs1099Api.md +10 -6
  41. data/docs/A1099/V2/StateAndLocalWithholdingResponse.md +32 -0
  42. data/docs/A1099/V2/StateEfileStatusDetail.md +1 -1
  43. data/docs/A1099/V2/StateEfileStatusDetailApp.md +22 -0
  44. data/docs/A1099/V2/StatusDetail.md +20 -0
  45. data/docs/A1099/V2/Update1099Form200Response.md +53 -0
  46. data/docs/A1099/V2/ValidationErrorApp.md +20 -0
  47. data/docs/EInvoicing/V1/DataInputFieldsApi.md +4 -4
  48. data/docs/EInvoicing/V1/DocumentsApi.md +2 -2
  49. data/docs/EInvoicing/V1/MandatesApi.md +4 -4
  50. data/docs/EInvoicing/V1/SubscriptionsApi.md +4 -4
  51. data/docs/EInvoicing/V1/TradingPartnersApi.md +4 -4
  52. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +103 -43
  53. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +171 -87
  54. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +135 -176
  55. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +103 -43
  56. data/lib/avalara_sdk/api/A1099/V2/jobs1099_api.rb +19 -7
  57. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +6 -6
  58. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +4 -4
  59. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +1 -1
  60. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +6 -6
  61. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +6 -6
  62. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +7 -7
  63. data/lib/avalara_sdk/models/A1099/V2/bulk_upsert1099_forms_request.rb +1 -0
  64. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference.rb +403 -0
  65. data/lib/avalara_sdk/models/A1099/V2/covered_individual_request.rb +378 -0
  66. data/lib/avalara_sdk/models/A1099/V2/form1095_b.rb +572 -0
  67. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list.rb +238 -0
  68. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item.rb +538 -0
  69. data/lib/avalara_sdk/models/A1099/V2/form1095_b_request.rb +559 -0
  70. data/lib/avalara_sdk/models/A1099/V2/form1099_base.rb +29 -29
  71. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item.rb +78 -36
  72. data/lib/avalara_sdk/models/A1099/V2/form1099_div_request.rb +80 -53
  73. data/lib/avalara_sdk/models/A1099/V2/form1099_div_response.rb +600 -0
  74. data/lib/avalara_sdk/models/A1099/V2/form1099_k.rb +29 -29
  75. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item.rb +56 -37
  76. data/lib/avalara_sdk/models/A1099/V2/form1099_k_request.rb +80 -54
  77. data/lib/avalara_sdk/models/A1099/V2/form1099_list.rb +1 -1
  78. data/lib/avalara_sdk/models/A1099/V2/form1099_list_data_inner.rb +20 -68
  79. data/lib/avalara_sdk/models/A1099/V2/form1099_misc.rb +29 -29
  80. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item.rb +78 -36
  81. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_request.rb +80 -53
  82. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_response.rb +744 -0
  83. data/lib/avalara_sdk/models/A1099/V2/form1099_nec.rb +29 -29
  84. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item.rb +78 -36
  85. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_request.rb +80 -53
  86. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_response.rb +636 -0
  87. data/lib/avalara_sdk/models/A1099/V2/form1099_r.rb +29 -29
  88. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item.rb +56 -36
  89. data/lib/avalara_sdk/models/A1099/V2/form1099_r_request.rb +80 -53
  90. data/lib/avalara_sdk/models/A1099/V2/form_request_base.rb +68 -44
  91. data/lib/avalara_sdk/models/A1099/V2/form_request_csv_base.rb +475 -0
  92. data/lib/avalara_sdk/models/A1099/V2/form_response_base.rb +252 -31
  93. data/lib/avalara_sdk/models/A1099/V2/form_single_request_base.rb +80 -44
  94. data/lib/avalara_sdk/models/A1099/V2/get1099_form200_response.rb +104 -0
  95. data/lib/avalara_sdk/models/A1099/V2/included_base.rb +219 -0
  96. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_request.rb +1 -0
  97. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_response.rb +274 -0
  98. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_app.rb +231 -0
  99. data/lib/avalara_sdk/models/A1099/V2/status_detail.rb +221 -0
  100. data/lib/avalara_sdk/models/A1099/V2/update1099_form200_response.rb +103 -0
  101. data/lib/avalara_sdk/models/A1099/V2/validation_error_app.rb +229 -0
  102. data/lib/avalara_sdk/version.rb +1 -1
  103. data/lib/avalara_sdk.rb +17 -0
  104. data/spec/integration/a1099_spec.rb +12 -12
  105. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  106. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  107. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +5 -5
  108. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +5 -5
  109. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +5 -5
  110. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
  111. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +5 -5
  112. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +5 -5
  113. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  114. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  115. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  116. metadata +36 -2
@@ -0,0 +1,559 @@
1
+ =begin
2
+ #Avalara 1099 & W-9 API Definition
3
+
4
+ ### 🔐 Authentication Use **username/password** or generate a **license key** from: *Avalara Portal → Settings → License and API Keys*. [More on authentication methods](https://developer.avalara.com/avatax-dm-combined-erp/common-setup/authentication/authentication-methods/) [Test your credentials](https://developer.avalara.com/avatax/test-credentials/) ## 📘 API & SDK Documentation [Avalara SDK (.NET) on GitHub](https://github.com/avadev/Avalara-SDK-DotNet#avalarasdk--the-unified-c-library-for-next-gen-avalara-services) [Code Examples – 1099 API](https://github.com/avadev/Avalara-SDK-DotNet/blob/main/docs/A1099/V2/Class1099IssuersApi.md#call1099issuersget)
5
+
6
+
7
+ =end
8
+
9
+ require 'date'
10
+ require 'time'
11
+
12
+ module AvalaraSdk::A1099::V2
13
+ class Form1095BRequest
14
+ attr_accessor :employee_first_name
15
+
16
+ attr_accessor :employee_middle_name
17
+
18
+ attr_accessor :employee_last_name
19
+
20
+ attr_accessor :employee_name_suffix
21
+
22
+ attr_accessor :employee_date_of_birth
23
+
24
+ attr_accessor :origin_of_health_coverage_code
25
+
26
+ attr_accessor :covered_individuals
27
+
28
+ attr_accessor :type
29
+
30
+ attr_accessor :issuer_id
31
+
32
+ attr_accessor :reference_id
33
+
34
+ attr_accessor :recipient_name
35
+
36
+ attr_accessor :recipient_tin
37
+
38
+ attr_accessor :tin_type
39
+
40
+ attr_accessor :recipient_second_name
41
+
42
+ attr_accessor :address
43
+
44
+ attr_accessor :address2
45
+
46
+ attr_accessor :city
47
+
48
+ attr_accessor :state
49
+
50
+ attr_accessor :zip
51
+
52
+ attr_accessor :recipient_email
53
+
54
+ attr_accessor :account_number
55
+
56
+ attr_accessor :office_code
57
+
58
+ attr_accessor :recipient_non_us_province
59
+
60
+ attr_accessor :country_code
61
+
62
+ attr_accessor :federal_e_file
63
+
64
+ attr_accessor :postal_mail
65
+
66
+ attr_accessor :state_e_file
67
+
68
+ attr_accessor :tin_match
69
+
70
+ attr_accessor :address_verification
71
+
72
+ attr_accessor :state_and_local_withholding
73
+
74
+ class EnumAttributeValidator
75
+ attr_reader :datatype
76
+ attr_reader :allowable_values
77
+
78
+ def initialize(datatype, allowable_values)
79
+ @allowable_values = allowable_values.map do |value|
80
+ case datatype.to_s
81
+ when /Integer/i
82
+ value.to_i
83
+ when /Float/i
84
+ value.to_f
85
+ else
86
+ value
87
+ end
88
+ end
89
+ end
90
+
91
+ def valid?(value)
92
+ !value || allowable_values.include?(value)
93
+ end
94
+ end
95
+
96
+ # Attribute mapping from ruby-style variable name to JSON key.
97
+ def self.attribute_map
98
+ {
99
+ :'employee_first_name' => :'employeeFirstName',
100
+ :'employee_middle_name' => :'employeeMiddleName',
101
+ :'employee_last_name' => :'employeeLastName',
102
+ :'employee_name_suffix' => :'employeeNameSuffix',
103
+ :'employee_date_of_birth' => :'employeeDateOfBirth',
104
+ :'origin_of_health_coverage_code' => :'originOfHealthCoverageCode',
105
+ :'covered_individuals' => :'coveredIndividuals',
106
+ :'type' => :'type',
107
+ :'issuer_id' => :'issuerId',
108
+ :'reference_id' => :'referenceId',
109
+ :'recipient_name' => :'recipientName',
110
+ :'recipient_tin' => :'recipientTin',
111
+ :'tin_type' => :'tinType',
112
+ :'recipient_second_name' => :'recipientSecondName',
113
+ :'address' => :'address',
114
+ :'address2' => :'address2',
115
+ :'city' => :'city',
116
+ :'state' => :'state',
117
+ :'zip' => :'zip',
118
+ :'recipient_email' => :'recipientEmail',
119
+ :'account_number' => :'accountNumber',
120
+ :'office_code' => :'officeCode',
121
+ :'recipient_non_us_province' => :'recipientNonUsProvince',
122
+ :'country_code' => :'countryCode',
123
+ :'federal_e_file' => :'federalEFile',
124
+ :'postal_mail' => :'postalMail',
125
+ :'state_e_file' => :'stateEFile',
126
+ :'tin_match' => :'tinMatch',
127
+ :'address_verification' => :'addressVerification',
128
+ :'state_and_local_withholding' => :'stateAndLocalWithholding'
129
+ }
130
+ end
131
+
132
+ # Returns all the JSON keys this model knows about
133
+ def self.acceptable_attributes
134
+ attribute_map.values
135
+ end
136
+
137
+ # Attribute type mapping.
138
+ def self.openapi_types
139
+ {
140
+ :'employee_first_name' => :'String',
141
+ :'employee_middle_name' => :'String',
142
+ :'employee_last_name' => :'String',
143
+ :'employee_name_suffix' => :'String',
144
+ :'employee_date_of_birth' => :'Time',
145
+ :'origin_of_health_coverage_code' => :'String',
146
+ :'covered_individuals' => :'Array<CoveredIndividualRequest>',
147
+ :'type' => :'String',
148
+ :'issuer_id' => :'String',
149
+ :'reference_id' => :'String',
150
+ :'recipient_name' => :'String',
151
+ :'recipient_tin' => :'String',
152
+ :'tin_type' => :'String',
153
+ :'recipient_second_name' => :'String',
154
+ :'address' => :'String',
155
+ :'address2' => :'String',
156
+ :'city' => :'String',
157
+ :'state' => :'String',
158
+ :'zip' => :'String',
159
+ :'recipient_email' => :'String',
160
+ :'account_number' => :'String',
161
+ :'office_code' => :'String',
162
+ :'recipient_non_us_province' => :'String',
163
+ :'country_code' => :'String',
164
+ :'federal_e_file' => :'Boolean',
165
+ :'postal_mail' => :'Boolean',
166
+ :'state_e_file' => :'Boolean',
167
+ :'tin_match' => :'Boolean',
168
+ :'address_verification' => :'Boolean',
169
+ :'state_and_local_withholding' => :'StateAndLocalWithholdingRequest'
170
+ }
171
+ end
172
+
173
+ # List of attributes with nullable: true
174
+ def self.openapi_nullable
175
+ Set.new([
176
+ :'employee_middle_name',
177
+ :'employee_name_suffix',
178
+ :'employee_date_of_birth',
179
+ :'issuer_id',
180
+ :'reference_id',
181
+ :'recipient_name',
182
+ :'address2',
183
+ :'recipient_email',
184
+ :'account_number',
185
+ :'office_code',
186
+ :'recipient_non_us_province',
187
+ ])
188
+ end
189
+
190
+ # List of class defined in allOf (OpenAPI v3)
191
+ def self.openapi_all_of
192
+ [
193
+ :'FormSingleRequestBase'
194
+ ]
195
+ end
196
+
197
+ # Initializes the object
198
+ # @param [Hash] attributes Model attributes in the form of hash
199
+ def initialize(attributes = {})
200
+ if (!attributes.is_a?(Hash))
201
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::Form1095BRequest` initialize method"
202
+ end
203
+
204
+ # check to see if the attribute exists and convert string to symbol for hash key
205
+ attributes = attributes.each_with_object({}) { |(k, v), h|
206
+ if (!self.class.attribute_map.key?(k.to_sym))
207
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::Form1095BRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
208
+ end
209
+ h[k.to_sym] = v
210
+ }
211
+
212
+ if attributes.key?(:'employee_first_name')
213
+ self.employee_first_name = attributes[:'employee_first_name']
214
+ end
215
+
216
+ if attributes.key?(:'employee_middle_name')
217
+ self.employee_middle_name = attributes[:'employee_middle_name']
218
+ end
219
+
220
+ if attributes.key?(:'employee_last_name')
221
+ self.employee_last_name = attributes[:'employee_last_name']
222
+ end
223
+
224
+ if attributes.key?(:'employee_name_suffix')
225
+ self.employee_name_suffix = attributes[:'employee_name_suffix']
226
+ end
227
+
228
+ if attributes.key?(:'employee_date_of_birth')
229
+ self.employee_date_of_birth = attributes[:'employee_date_of_birth']
230
+ end
231
+
232
+ if attributes.key?(:'origin_of_health_coverage_code')
233
+ self.origin_of_health_coverage_code = attributes[:'origin_of_health_coverage_code']
234
+ end
235
+
236
+ if attributes.key?(:'covered_individuals')
237
+ if (value = attributes[:'covered_individuals']).is_a?(Array)
238
+ self.covered_individuals = value
239
+ end
240
+ end
241
+
242
+ if attributes.key?(:'type')
243
+ self.type = attributes[:'type']
244
+ end
245
+
246
+ if attributes.key?(:'issuer_id')
247
+ self.issuer_id = attributes[:'issuer_id']
248
+ end
249
+
250
+ if attributes.key?(:'reference_id')
251
+ self.reference_id = attributes[:'reference_id']
252
+ end
253
+
254
+ if attributes.key?(:'recipient_name')
255
+ self.recipient_name = attributes[:'recipient_name']
256
+ end
257
+
258
+ if attributes.key?(:'recipient_tin')
259
+ self.recipient_tin = attributes[:'recipient_tin']
260
+ end
261
+
262
+ if attributes.key?(:'tin_type')
263
+ self.tin_type = attributes[:'tin_type']
264
+ end
265
+
266
+ if attributes.key?(:'recipient_second_name')
267
+ self.recipient_second_name = attributes[:'recipient_second_name']
268
+ end
269
+
270
+ if attributes.key?(:'address')
271
+ self.address = attributes[:'address']
272
+ end
273
+
274
+ if attributes.key?(:'address2')
275
+ self.address2 = attributes[:'address2']
276
+ end
277
+
278
+ if attributes.key?(:'city')
279
+ self.city = attributes[:'city']
280
+ end
281
+
282
+ if attributes.key?(:'state')
283
+ self.state = attributes[:'state']
284
+ end
285
+
286
+ if attributes.key?(:'zip')
287
+ self.zip = attributes[:'zip']
288
+ end
289
+
290
+ if attributes.key?(:'recipient_email')
291
+ self.recipient_email = attributes[:'recipient_email']
292
+ end
293
+
294
+ if attributes.key?(:'account_number')
295
+ self.account_number = attributes[:'account_number']
296
+ end
297
+
298
+ if attributes.key?(:'office_code')
299
+ self.office_code = attributes[:'office_code']
300
+ end
301
+
302
+ if attributes.key?(:'recipient_non_us_province')
303
+ self.recipient_non_us_province = attributes[:'recipient_non_us_province']
304
+ end
305
+
306
+ if attributes.key?(:'country_code')
307
+ self.country_code = attributes[:'country_code']
308
+ end
309
+
310
+ if attributes.key?(:'federal_e_file')
311
+ self.federal_e_file = attributes[:'federal_e_file']
312
+ end
313
+
314
+ if attributes.key?(:'postal_mail')
315
+ self.postal_mail = attributes[:'postal_mail']
316
+ end
317
+
318
+ if attributes.key?(:'state_e_file')
319
+ self.state_e_file = attributes[:'state_e_file']
320
+ end
321
+
322
+ if attributes.key?(:'tin_match')
323
+ self.tin_match = attributes[:'tin_match']
324
+ end
325
+
326
+ if attributes.key?(:'address_verification')
327
+ self.address_verification = attributes[:'address_verification']
328
+ end
329
+
330
+ if attributes.key?(:'state_and_local_withholding')
331
+ self.state_and_local_withholding = attributes[:'state_and_local_withholding']
332
+ end
333
+ end
334
+
335
+ # Show invalid properties with the reasons. Usually used together with valid?
336
+ # @return Array for valid properties with the reasons
337
+ def list_invalid_properties
338
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
339
+ invalid_properties = Array.new
340
+ invalid_properties
341
+ end
342
+
343
+ # Check to see if the all the properties in the model are valid
344
+ # @return true if the model is valid
345
+ def valid?
346
+ warn '[DEPRECATED] the `valid?` method is obsolete'
347
+ origin_of_health_coverage_code_validator = EnumAttributeValidator.new('String', ["SmallBusinessHealthOptionsProgram", "EmployerSponsored", "GovernmentSponsored", "IndividualMarket", "MultiemployerPlan", "OtherDesignatedMinimumEssentialCoverage", "EmployerSponsoredIndividualHra"])
348
+ return false unless origin_of_health_coverage_code_validator.valid?(@origin_of_health_coverage_code)
349
+ type_validator = EnumAttributeValidator.new('String', ["Form1099Nec", "Form1099Misc", "Form1099Div", "Form1099R", "Form1099K", "Form1095B"])
350
+ return false unless type_validator.valid?(@type)
351
+ tin_type_validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
352
+ return false unless tin_type_validator.valid?(@tin_type)
353
+ true
354
+ end
355
+
356
+ # Custom attribute writer method checking allowed values (enum).
357
+ # @param [Object] origin_of_health_coverage_code Object to be assigned
358
+ def origin_of_health_coverage_code=(origin_of_health_coverage_code)
359
+ validator = EnumAttributeValidator.new('String', ["SmallBusinessHealthOptionsProgram", "EmployerSponsored", "GovernmentSponsored", "IndividualMarket", "MultiemployerPlan", "OtherDesignatedMinimumEssentialCoverage", "EmployerSponsoredIndividualHra"])
360
+ unless validator.valid?(origin_of_health_coverage_code)
361
+ fail ArgumentError, "invalid value for \"origin_of_health_coverage_code\", must be one of #{validator.allowable_values}."
362
+ end
363
+ @origin_of_health_coverage_code = origin_of_health_coverage_code
364
+ end
365
+
366
+ # Custom attribute writer method with validation
367
+ # @param [Object] covered_individuals Value to be assigned
368
+ def covered_individuals=(covered_individuals)
369
+ if covered_individuals.nil?
370
+ fail ArgumentError, 'covered_individuals cannot be nil'
371
+ end
372
+
373
+ @covered_individuals = covered_individuals
374
+ end
375
+
376
+ # Custom attribute writer method checking allowed values (enum).
377
+ # @param [Object] type Object to be assigned
378
+ def type=(type)
379
+ validator = EnumAttributeValidator.new('String', ["Form1099Nec", "Form1099Misc", "Form1099Div", "Form1099R", "Form1099K", "Form1095B"])
380
+ unless validator.valid?(type)
381
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
382
+ end
383
+ @type = type
384
+ end
385
+
386
+ # Custom attribute writer method checking allowed values (enum).
387
+ # @param [Object] tin_type Object to be assigned
388
+ def tin_type=(tin_type)
389
+ validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
390
+ unless validator.valid?(tin_type)
391
+ fail ArgumentError, "invalid value for \"tin_type\", must be one of #{validator.allowable_values}."
392
+ end
393
+ @tin_type = tin_type
394
+ end
395
+
396
+ # Checks equality by comparing each attribute.
397
+ # @param [Object] Object to be compared
398
+ def ==(o)
399
+ return true if self.equal?(o)
400
+ self.class == o.class &&
401
+ employee_first_name == o.employee_first_name &&
402
+ employee_middle_name == o.employee_middle_name &&
403
+ employee_last_name == o.employee_last_name &&
404
+ employee_name_suffix == o.employee_name_suffix &&
405
+ employee_date_of_birth == o.employee_date_of_birth &&
406
+ origin_of_health_coverage_code == o.origin_of_health_coverage_code &&
407
+ covered_individuals == o.covered_individuals &&
408
+ type == o.type &&
409
+ issuer_id == o.issuer_id &&
410
+ reference_id == o.reference_id &&
411
+ recipient_name == o.recipient_name &&
412
+ recipient_tin == o.recipient_tin &&
413
+ tin_type == o.tin_type &&
414
+ recipient_second_name == o.recipient_second_name &&
415
+ address == o.address &&
416
+ address2 == o.address2 &&
417
+ city == o.city &&
418
+ state == o.state &&
419
+ zip == o.zip &&
420
+ recipient_email == o.recipient_email &&
421
+ account_number == o.account_number &&
422
+ office_code == o.office_code &&
423
+ recipient_non_us_province == o.recipient_non_us_province &&
424
+ country_code == o.country_code &&
425
+ federal_e_file == o.federal_e_file &&
426
+ postal_mail == o.postal_mail &&
427
+ state_e_file == o.state_e_file &&
428
+ tin_match == o.tin_match &&
429
+ address_verification == o.address_verification &&
430
+ state_and_local_withholding == o.state_and_local_withholding
431
+ end
432
+
433
+ # @see the `==` method
434
+ # @param [Object] Object to be compared
435
+ def eql?(o)
436
+ self == o
437
+ end
438
+
439
+ # Calculates hash code according to all attributes.
440
+ # @return [Integer] Hash code
441
+ def hash
442
+ [employee_first_name, employee_middle_name, employee_last_name, employee_name_suffix, employee_date_of_birth, origin_of_health_coverage_code, covered_individuals, type, issuer_id, reference_id, recipient_name, recipient_tin, tin_type, recipient_second_name, address, address2, city, state, zip, recipient_email, account_number, office_code, recipient_non_us_province, country_code, federal_e_file, postal_mail, state_e_file, tin_match, address_verification, state_and_local_withholding].hash
443
+ end
444
+
445
+ # Builds the object from hash
446
+ # @param [Hash] attributes Model attributes in the form of hash
447
+ # @return [Object] Returns the model itself
448
+ def self.build_from_hash(attributes)
449
+ return nil unless attributes.is_a?(Hash)
450
+ attributes = attributes.transform_keys(&:to_sym)
451
+ transformed_hash = {}
452
+ openapi_types.each_pair do |key, type|
453
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
454
+ transformed_hash["#{key}"] = nil
455
+ elsif type =~ /\AArray<(.*)>/i
456
+ # check to ensure the input is an array given that the attribute
457
+ # is documented as an array but the input is not
458
+ if attributes[attribute_map[key]].is_a?(Array)
459
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
460
+ end
461
+ elsif !attributes[attribute_map[key]].nil?
462
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
463
+ end
464
+ end
465
+ new(transformed_hash)
466
+ end
467
+
468
+ # Deserializes the data based on type
469
+ # @param string type Data type
470
+ # @param string value Value to be deserialized
471
+ # @return [Object] Deserialized data
472
+ def self._deserialize(type, value)
473
+ case type.to_sym
474
+ when :Time
475
+ Time.parse(value)
476
+ when :Date
477
+ Date.parse(value)
478
+ when :String
479
+ value.to_s
480
+ when :Integer
481
+ value.to_i
482
+ when :Float
483
+ value.to_f
484
+ when :Boolean
485
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
486
+ true
487
+ else
488
+ false
489
+ end
490
+ when :Object
491
+ # generic object (usually a Hash), return directly
492
+ value
493
+ when /\AArray<(?<inner_type>.+)>\z/
494
+ inner_type = Regexp.last_match[:inner_type]
495
+ value.map { |v| _deserialize(inner_type, v) }
496
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
497
+ k_type = Regexp.last_match[:k_type]
498
+ v_type = Regexp.last_match[:v_type]
499
+ {}.tap do |hash|
500
+ value.each do |k, v|
501
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
502
+ end
503
+ end
504
+ else # model
505
+ # models (e.g. Pet) or oneOf
506
+ klass = AvalaraSdk::A1099::V2.const_get(type)
507
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
508
+ end
509
+ end
510
+
511
+ # Returns the string representation of the object
512
+ # @return [String] String presentation of the object
513
+ def to_s
514
+ to_hash.to_s
515
+ end
516
+
517
+ # to_body is an alias to to_hash (backward compatibility)
518
+ # @return [Hash] Returns the object in the form of hash
519
+ def to_body
520
+ to_hash
521
+ end
522
+
523
+ # Returns the object in the form of hash
524
+ # @return [Hash] Returns the object in the form of hash
525
+ def to_hash
526
+ hash = {}
527
+ self.class.attribute_map.each_pair do |attr, param|
528
+ value = self.send(attr)
529
+ if value.nil?
530
+ is_nullable = self.class.openapi_nullable.include?(attr)
531
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
532
+ end
533
+
534
+ hash[param] = _to_hash(value)
535
+ end
536
+ hash
537
+ end
538
+
539
+ # Outputs non-array value in the form of hash
540
+ # For object, use to_hash. Otherwise, just return the value
541
+ # @param [Object] value Any valid value
542
+ # @return [Hash] Returns the value in the form of hash
543
+ def _to_hash(value)
544
+ if value.is_a?(Array)
545
+ value.compact.map { |v| _to_hash(v) }
546
+ elsif value.is_a?(Hash)
547
+ {}.tap do |hash|
548
+ value.each { |k, v| hash[k] = _to_hash(v) }
549
+ end
550
+ elsif value.respond_to? :to_hash
551
+ value.to_hash
552
+ else
553
+ value
554
+ end
555
+ end
556
+
557
+ end
558
+
559
+ end
@@ -47,17 +47,17 @@ module AvalaraSdk::A1099::V2
47
47
 
48
48
  attr_accessor :email
49
49
 
50
- attr_accessor :type_of_tin
50
+ attr_accessor :tin_type
51
51
 
52
52
  attr_accessor :tin
53
53
 
54
- attr_accessor :first_payee_name
54
+ attr_accessor :recipient_name
55
55
 
56
- attr_accessor :second_payee_name
56
+ attr_accessor :recipient_second_name
57
57
 
58
58
  attr_accessor :address
59
59
 
60
- attr_accessor :address_recipient_second
60
+ attr_accessor :address2
61
61
 
62
62
  attr_accessor :city
63
63
 
@@ -98,12 +98,12 @@ module AvalaraSdk::A1099::V2
98
98
  :'address_verification_status' => :'addressVerificationStatus',
99
99
  :'reference_id' => :'referenceId',
100
100
  :'email' => :'email',
101
- :'type_of_tin' => :'typeOfTin',
101
+ :'tin_type' => :'tinType',
102
102
  :'tin' => :'tin',
103
- :'first_payee_name' => :'firstPayeeName',
104
- :'second_payee_name' => :'secondPayeeName',
103
+ :'recipient_name' => :'recipientName',
104
+ :'recipient_second_name' => :'recipientSecondName',
105
105
  :'address' => :'address',
106
- :'address_recipient_second' => :'addressRecipientSecond',
106
+ :'address2' => :'address2',
107
107
  :'city' => :'city',
108
108
  :'state' => :'state',
109
109
  :'zip' => :'zip',
@@ -142,12 +142,12 @@ module AvalaraSdk::A1099::V2
142
142
  :'address_verification_status' => :'Form1099StatusDetail',
143
143
  :'reference_id' => :'String',
144
144
  :'email' => :'String',
145
- :'type_of_tin' => :'String',
145
+ :'tin_type' => :'String',
146
146
  :'tin' => :'String',
147
- :'first_payee_name' => :'String',
148
- :'second_payee_name' => :'String',
147
+ :'recipient_name' => :'String',
148
+ :'recipient_second_name' => :'String',
149
149
  :'address' => :'String',
150
- :'address_recipient_second' => :'String',
150
+ :'address2' => :'String',
151
151
  :'city' => :'String',
152
152
  :'state' => :'String',
153
153
  :'zip' => :'String',
@@ -171,12 +171,12 @@ module AvalaraSdk::A1099::V2
171
171
  :'address_verification_status',
172
172
  :'reference_id',
173
173
  :'email',
174
- :'type_of_tin',
174
+ :'tin_type',
175
175
  :'tin',
176
- :'first_payee_name',
177
- :'second_payee_name',
176
+ :'recipient_name',
177
+ :'recipient_second_name',
178
178
  :'address',
179
- :'address_recipient_second',
179
+ :'address2',
180
180
  :'city',
181
181
  :'state',
182
182
  :'zip',
@@ -276,28 +276,28 @@ module AvalaraSdk::A1099::V2
276
276
  self.email = attributes[:'email']
277
277
  end
278
278
 
279
- if attributes.key?(:'type_of_tin')
280
- self.type_of_tin = attributes[:'type_of_tin']
279
+ if attributes.key?(:'tin_type')
280
+ self.tin_type = attributes[:'tin_type']
281
281
  end
282
282
 
283
283
  if attributes.key?(:'tin')
284
284
  self.tin = attributes[:'tin']
285
285
  end
286
286
 
287
- if attributes.key?(:'first_payee_name')
288
- self.first_payee_name = attributes[:'first_payee_name']
287
+ if attributes.key?(:'recipient_name')
288
+ self.recipient_name = attributes[:'recipient_name']
289
289
  end
290
290
 
291
- if attributes.key?(:'second_payee_name')
292
- self.second_payee_name = attributes[:'second_payee_name']
291
+ if attributes.key?(:'recipient_second_name')
292
+ self.recipient_second_name = attributes[:'recipient_second_name']
293
293
  end
294
294
 
295
295
  if attributes.key?(:'address')
296
296
  self.address = attributes[:'address']
297
297
  end
298
298
 
299
- if attributes.key?(:'address_recipient_second')
300
- self.address_recipient_second = attributes[:'address_recipient_second']
299
+ if attributes.key?(:'address2')
300
+ self.address2 = attributes[:'address2']
301
301
  end
302
302
 
303
303
  if attributes.key?(:'city')
@@ -389,12 +389,12 @@ module AvalaraSdk::A1099::V2
389
389
  address_verification_status == o.address_verification_status &&
390
390
  reference_id == o.reference_id &&
391
391
  email == o.email &&
392
- type_of_tin == o.type_of_tin &&
392
+ tin_type == o.tin_type &&
393
393
  tin == o.tin &&
394
- first_payee_name == o.first_payee_name &&
395
- second_payee_name == o.second_payee_name &&
394
+ recipient_name == o.recipient_name &&
395
+ recipient_second_name == o.recipient_second_name &&
396
396
  address == o.address &&
397
- address_recipient_second == o.address_recipient_second &&
397
+ address2 == o.address2 &&
398
398
  city == o.city &&
399
399
  state == o.state &&
400
400
  zip == o.zip &&
@@ -415,7 +415,7 @@ module AvalaraSdk::A1099::V2
415
415
  # Calculates hash code according to all attributes.
416
416
  # @return [Integer] Hash code
417
417
  def hash
418
- [id, type, issuer_id, issuer_reference_id, issuer_tin, tax_year, federal_efile, federal_efile_status, state_efile, state_efile_status, postal_mail, postal_mail_status, tin_match, tin_match_status, address_verification, address_verification_status, reference_id, email, type_of_tin, tin, first_payee_name, second_payee_name, address, address_recipient_second, city, state, zip, foreign_province, country_code, validation_errors, created_at, updated_at, state_and_local_withholding].hash
418
+ [id, type, issuer_id, issuer_reference_id, issuer_tin, tax_year, federal_efile, federal_efile_status, state_efile, state_efile_status, postal_mail, postal_mail_status, tin_match, tin_match_status, address_verification, address_verification_status, reference_id, email, tin_type, tin, recipient_name, recipient_second_name, address, address2, city, state, zip, foreign_province, country_code, validation_errors, created_at, updated_at, state_and_local_withholding].hash
419
419
  end
420
420
 
421
421
  # Builds the object from hash