avalara_sdk 25.8.3 → 25.10.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +4 -14
  4. data/docs/A1099/V2/CompaniesW9Api.md +9 -9
  5. data/docs/A1099/V2/CompanyBase.md +50 -0
  6. data/docs/A1099/V2/CompanyRequest.md +50 -0
  7. data/docs/A1099/V2/ErrorResponse.md +2 -2
  8. data/docs/A1099/V2/ErrorResponseItem.md +2 -2
  9. data/docs/A1099/V2/Form1042S.md +16 -16
  10. data/docs/A1099/V2/Form1095B.md +15 -15
  11. data/docs/A1099/V2/Form1095C.md +14 -14
  12. data/docs/A1099/V2/Form1099Base.md +14 -14
  13. data/docs/A1099/V2/Form1099Div.md +15 -15
  14. data/docs/A1099/V2/Form1099Int.md +16 -16
  15. data/docs/A1099/V2/Form1099K.md +20 -20
  16. data/docs/A1099/V2/Form1099ListRequest.md +1 -1
  17. data/docs/A1099/V2/Form1099Misc.md +15 -15
  18. data/docs/A1099/V2/Form1099Nec.md +17 -17
  19. data/docs/A1099/V2/Form1099R.md +17 -17
  20. data/docs/A1099/V2/Forms1099Api.md +12 -12
  21. data/docs/A1099/V2/FormsW9Api.md +17 -17
  22. data/docs/A1099/V2/IntermediaryOrFlowThrough.md +2 -2
  23. data/docs/A1099/V2/IssuerBase.md +46 -0
  24. data/docs/A1099/V2/IssuerRequest.md +46 -0
  25. data/docs/A1099/V2/Issuers1099Api.md +9 -9
  26. data/docs/A1099/V2/JobResponse.md +1 -1
  27. data/docs/A1099/V2/JobsApi.md +1 -1
  28. data/docs/A1099/V2/TinMatchStatusResponse.md +1 -1
  29. data/docs/A1099/V2/W4FormMinimalRequest.md +2 -2
  30. data/docs/A1099/V2/W4FormRequest.md +11 -11
  31. data/docs/A1099/V2/W4FormResponse.md +48 -20
  32. data/docs/A1099/V2/W8BenEFormMinimalRequest.md +2 -2
  33. data/docs/A1099/V2/W8BenEFormRequest.md +10 -10
  34. data/docs/A1099/V2/W8BenEFormResponse.md +96 -68
  35. data/docs/A1099/V2/W8BenFormMinimalRequest.md +2 -2
  36. data/docs/A1099/V2/W8BenFormRequest.md +6 -6
  37. data/docs/A1099/V2/W8BenFormResponse.md +55 -27
  38. data/docs/A1099/V2/W8ImyFormMinimalRequest.md +2 -2
  39. data/docs/A1099/V2/W8ImyFormRequest.md +10 -10
  40. data/docs/A1099/V2/W8ImyFormResponse.md +118 -90
  41. data/docs/A1099/V2/W9FormBaseMinimalRequest.md +2 -2
  42. data/docs/A1099/V2/W9FormBaseRequest.md +2 -2
  43. data/docs/A1099/V2/W9FormBaseResponse.md +3 -3
  44. data/docs/A1099/V2/W9FormMinimalRequest.md +2 -2
  45. data/docs/A1099/V2/W9FormRequest.md +12 -12
  46. data/docs/A1099/V2/W9FormResponse.md +44 -16
  47. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +21 -21
  48. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +7 -7
  49. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +16 -16
  50. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +21 -21
  51. data/lib/avalara_sdk/api/A1099/V2/jobs_api.rb +1 -1
  52. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +1 -1
  53. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +1 -1
  54. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +1 -1
  55. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +1 -1
  56. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +1 -1
  57. data/lib/avalara_sdk/api/EInvoicing/V1/tax_identifiers_api.rb +1 -1
  58. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +1 -1
  59. data/lib/avalara_sdk/api_client.rb +10 -2
  60. data/lib/avalara_sdk/models/A1099/V2/company_base.rb +404 -0
  61. data/lib/avalara_sdk/models/A1099/V2/company_request.rb +411 -0
  62. data/lib/avalara_sdk/models/A1099/V2/company_response.rb +1 -1
  63. data/lib/avalara_sdk/models/A1099/V2/error_response.rb +2 -6
  64. data/lib/avalara_sdk/models/A1099/V2/error_response_item.rb +2 -0
  65. data/lib/avalara_sdk/models/A1099/V2/form1042_s.rb +20 -30
  66. data/lib/avalara_sdk/models/A1099/V2/form1095_b.rb +19 -40
  67. data/lib/avalara_sdk/models/A1099/V2/form1095_c.rb +18 -49
  68. data/lib/avalara_sdk/models/A1099/V2/form1099_base.rb +18 -29
  69. data/lib/avalara_sdk/models/A1099/V2/form1099_div.rb +20 -31
  70. data/lib/avalara_sdk/models/A1099/V2/form1099_int.rb +22 -32
  71. data/lib/avalara_sdk/models/A1099/V2/form1099_k.rb +35 -38
  72. data/lib/avalara_sdk/models/A1099/V2/form1099_list_request.rb +2 -12
  73. data/lib/avalara_sdk/models/A1099/V2/form1099_misc.rb +20 -31
  74. data/lib/avalara_sdk/models/A1099/V2/form1099_nec.rb +23 -33
  75. data/lib/avalara_sdk/models/A1099/V2/form1099_r.rb +48 -33
  76. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through.rb +48 -2
  77. data/lib/avalara_sdk/models/A1099/V2/issuer_base.rb +384 -0
  78. data/lib/avalara_sdk/models/A1099/V2/issuer_request.rb +391 -0
  79. data/lib/avalara_sdk/models/A1099/V2/issuer_response.rb +1 -1
  80. data/lib/avalara_sdk/models/A1099/V2/job_response.rb +0 -6
  81. data/lib/avalara_sdk/models/A1099/V2/validation_error.rb +0 -6
  82. data/lib/avalara_sdk/models/A1099/V2/w4_form_minimal_request.rb +1 -27
  83. data/lib/avalara_sdk/models/A1099/V2/w4_form_request.rb +50 -24
  84. data/lib/avalara_sdk/models/A1099/V2/w4_form_response.rb +191 -15
  85. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_minimal_request.rb +1 -27
  86. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_request.rb +37 -28
  87. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_response.rb +190 -14
  88. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_minimal_request.rb +1 -27
  89. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_request.rb +20 -23
  90. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_response.rb +191 -15
  91. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_minimal_request.rb +1 -27
  92. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_request.rb +72 -22
  93. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_response.rb +191 -15
  94. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_minimal_request.rb +1 -27
  95. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_request.rb +1 -27
  96. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_response.rb +47 -18
  97. data/lib/avalara_sdk/models/A1099/V2/w9_form_minimal_request.rb +1 -27
  98. data/lib/avalara_sdk/models/A1099/V2/w9_form_request.rb +61 -22
  99. data/lib/avalara_sdk/models/A1099/V2/w9_form_response.rb +190 -14
  100. data/lib/avalara_sdk/version.rb +1 -1
  101. data/lib/avalara_sdk.rb +8 -4
  102. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  103. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  104. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +5 -5
  105. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +5 -5
  106. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +5 -5
  107. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
  108. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +5 -5
  109. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +5 -5
  110. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  111. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  112. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  113. metadata +10 -2
@@ -10,7 +10,10 @@ require 'date'
10
10
  require 'time'
11
11
 
12
12
  module AvalaraSdk::A1099::V2
13
- class W8ImyFormResponse < W9FormBaseResponse
13
+ class W8ImyFormResponse
14
+ # The form type (always \"W8Imy\" for this model).
15
+ attr_accessor :type
16
+
14
17
  # The name of the individual or entity associated with the form.
15
18
  attr_accessor :name
16
19
 
@@ -59,7 +62,7 @@ module AvalaraSdk::A1099::V2
59
62
  # The country of the mailing address.
60
63
  attr_accessor :mailing_country
61
64
 
62
- # The type of TIN provided.
65
+ # Tax Identification Number (TIN) type.
63
66
  attr_accessor :tin_type
64
67
 
65
68
  # The taxpayer identification number (TIN).
@@ -344,9 +347,71 @@ module AvalaraSdk::A1099::V2
344
347
  # The name of the signer.
345
348
  attr_accessor :signer_name
346
349
 
350
+ # The unique identifier for the form.
351
+ attr_accessor :id
352
+
353
+ # The entry status information for the form.
354
+ attr_accessor :entry_status
355
+
356
+ # A reference identifier for the form.
357
+ attr_accessor :reference_id
358
+
359
+ # The ID of the associated company.
360
+ attr_accessor :company_id
361
+
362
+ # The display name associated with the form.
363
+ attr_accessor :display_name
364
+
365
+ # The email address of the individual associated with the form.
366
+ attr_accessor :email
367
+
368
+ # Indicates whether the form is archived.
369
+ attr_accessor :archived
370
+
371
+ # Form ID of previous version.
372
+ attr_accessor :ancestor_id
373
+
374
+ # The signature of the form.
375
+ attr_accessor :signature
376
+
377
+ # The date the form was signed.
378
+ attr_accessor :signed_date
379
+
380
+ # The date when e-delivery was consented.
381
+ attr_accessor :e_delivery_consented_at
382
+
383
+ # The creation date of the form.
384
+ attr_accessor :created_at
385
+
386
+ # The last updated date of the form.
387
+ attr_accessor :updated_at
388
+
389
+ class EnumAttributeValidator
390
+ attr_reader :datatype
391
+ attr_reader :allowable_values
392
+
393
+ def initialize(datatype, allowable_values)
394
+ @allowable_values = allowable_values.map do |value|
395
+ case datatype.to_s
396
+ when /Integer/i
397
+ value.to_i
398
+ when /Float/i
399
+ value.to_f
400
+ else
401
+ value
402
+ end
403
+ end
404
+ end
405
+
406
+ def valid?(value)
407
+ !value || allowable_values.include?(value)
408
+ end
409
+ end
410
+
347
411
  # Attribute mapping from ruby-style variable name to JSON key.
348
412
  def self.attribute_map
349
413
  {
414
+ :'type' => :'type',
350
415
  :'name' => :'name',
351
416
  :'citizenship_country' => :'citizenshipCountry',
352
417
  :'disregarded_entity' => :'disregardedEntity',
@@ -457,18 +522,32 @@ module AvalaraSdk::A1099::V2
457
522
  :'passive_nffe_certification' => :'passiveNffeCertification',
458
523
  :'sponsored_direct_reporting_nffe_certification' => :'sponsoredDirectReportingNffeCertification',
459
524
  :'direct_reporting_nffe_sponsoring_entity' => :'directReportingNffeSponsoringEntity',
460
- :'signer_name' => :'signerName'
525
+ :'signer_name' => :'signerName',
526
+ :'id' => :'id',
527
+ :'entry_status' => :'entryStatus',
528
+ :'reference_id' => :'referenceId',
529
+ :'company_id' => :'companyId',
530
+ :'display_name' => :'displayName',
531
+ :'email' => :'email',
532
+ :'archived' => :'archived',
533
+ :'ancestor_id' => :'ancestorId',
534
+ :'signature' => :'signature',
535
+ :'signed_date' => :'signedDate',
536
+ :'e_delivery_consented_at' => :'eDeliveryConsentedAt',
537
+ :'created_at' => :'createdAt',
538
+ :'updated_at' => :'updatedAt'
461
539
  }
462
540
  end
463
541
 
464
- # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
542
+ # Returns all the JSON keys this model knows about
465
543
  def self.acceptable_attributes
466
- attribute_map.values.concat(superclass.acceptable_attributes)
544
+ attribute_map.values
467
545
  end
468
546
 
469
547
  # Attribute type mapping.
470
548
  def self.openapi_types
471
549
  {
550
+ :'type' => :'String',
472
551
  :'name' => :'String',
473
552
  :'citizenship_country' => :'String',
474
553
  :'disregarded_entity' => :'String',
@@ -579,7 +658,20 @@ module AvalaraSdk::A1099::V2
579
658
  :'passive_nffe_certification' => :'Boolean',
580
659
  :'sponsored_direct_reporting_nffe_certification' => :'Boolean',
581
660
  :'direct_reporting_nffe_sponsoring_entity' => :'String',
582
- :'signer_name' => :'String'
661
+ :'signer_name' => :'String',
662
+ :'id' => :'String',
663
+ :'entry_status' => :'EntryStatusResponse',
664
+ :'reference_id' => :'String',
665
+ :'company_id' => :'String',
666
+ :'display_name' => :'String',
667
+ :'email' => :'String',
668
+ :'archived' => :'Boolean',
669
+ :'ancestor_id' => :'String',
670
+ :'signature' => :'String',
671
+ :'signed_date' => :'Time',
672
+ :'e_delivery_consented_at' => :'Time',
673
+ :'created_at' => :'Time',
674
+ :'updated_at' => :'Time'
583
675
  }
584
676
  end
585
677
 
@@ -618,7 +710,13 @@ module AvalaraSdk::A1099::V2
618
710
  :'publicly_traded_entity',
619
711
  :'nffe_affiliate_of_publicly_traded_entity_securities_market',
620
712
  :'direct_reporting_nffe_sponsoring_entity',
621
- :'signer_name'
713
+ :'signer_name',
714
+ :'reference_id',
715
+ :'email',
716
+ :'ancestor_id',
717
+ :'signature',
718
+ :'signed_date',
719
+ :'e_delivery_consented_at',
622
720
  ])
623
721
  end
624
722
 
@@ -644,8 +742,9 @@ module AvalaraSdk::A1099::V2
644
742
  h[k.to_sym] = v
645
743
  }
646
744
 
647
- # call parent's initialize
648
- super(attributes)
745
+ if attributes.key?(:'type')
746
+ self.type = attributes[:'type']
747
+ end
649
748
 
650
749
  if attributes.key?(:'name')
651
750
  self.name = attributes[:'name']
@@ -1090,13 +1189,65 @@ module AvalaraSdk::A1099::V2
1090
1189
  if attributes.key?(:'signer_name')
1091
1190
  self.signer_name = attributes[:'signer_name']
1092
1191
  end
1192
+
1193
+ if attributes.key?(:'id')
1194
+ self.id = attributes[:'id']
1195
+ end
1196
+
1197
+ if attributes.key?(:'entry_status')
1198
+ self.entry_status = attributes[:'entry_status']
1199
+ end
1200
+
1201
+ if attributes.key?(:'reference_id')
1202
+ self.reference_id = attributes[:'reference_id']
1203
+ end
1204
+
1205
+ if attributes.key?(:'company_id')
1206
+ self.company_id = attributes[:'company_id']
1207
+ end
1208
+
1209
+ if attributes.key?(:'display_name')
1210
+ self.display_name = attributes[:'display_name']
1211
+ end
1212
+
1213
+ if attributes.key?(:'email')
1214
+ self.email = attributes[:'email']
1215
+ end
1216
+
1217
+ if attributes.key?(:'archived')
1218
+ self.archived = attributes[:'archived']
1219
+ end
1220
+
1221
+ if attributes.key?(:'ancestor_id')
1222
+ self.ancestor_id = attributes[:'ancestor_id']
1223
+ end
1224
+
1225
+ if attributes.key?(:'signature')
1226
+ self.signature = attributes[:'signature']
1227
+ end
1228
+
1229
+ if attributes.key?(:'signed_date')
1230
+ self.signed_date = attributes[:'signed_date']
1231
+ end
1232
+
1233
+ if attributes.key?(:'e_delivery_consented_at')
1234
+ self.e_delivery_consented_at = attributes[:'e_delivery_consented_at']
1235
+ end
1236
+
1237
+ if attributes.key?(:'created_at')
1238
+ self.created_at = attributes[:'created_at']
1239
+ end
1240
+
1241
+ if attributes.key?(:'updated_at')
1242
+ self.updated_at = attributes[:'updated_at']
1243
+ end
1093
1244
  end
1094
1245
 
1095
1246
  # Show invalid properties with the reasons. Usually used together with valid?
1096
1247
  # @return Array for valid properties with the reasons
1097
1248
  def list_invalid_properties
1098
1249
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
1099
- invalid_properties = super
1250
+ invalid_properties = Array.new
1100
1251
  invalid_properties
1101
1252
  end
1102
1253
 
@@ -1104,7 +1255,19 @@ module AvalaraSdk::A1099::V2
1104
1255
  # @return true if the model is valid
1105
1256
  def valid?
1106
1257
  warn '[DEPRECATED] the `valid?` method is obsolete'
1107
- true && super
1258
+ type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
1259
+ return false unless type_validator.valid?(@type)
1260
+ true
1261
+ end
1262
+
1263
+ # Custom attribute writer method checking allowed values (enum).
1264
+ # @param [Object] type Object to be assigned
1265
+ def type=(type)
1266
+ validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
1267
+ unless validator.valid?(type)
1268
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
1269
+ end
1270
+ @type = type
1108
1271
  end
1109
1272
 
1110
1273
  # Checks equality by comparing each attribute.
@@ -1112,6 +1275,7 @@ module AvalaraSdk::A1099::V2
1112
1275
  def ==(o)
1113
1276
  return true if self.equal?(o)
1114
1277
  self.class == o.class &&
1278
+ type == o.type &&
1115
1279
  name == o.name &&
1116
1280
  citizenship_country == o.citizenship_country &&
1117
1281
  disregarded_entity == o.disregarded_entity &&
@@ -1222,7 +1386,20 @@ module AvalaraSdk::A1099::V2
1222
1386
  passive_nffe_certification == o.passive_nffe_certification &&
1223
1387
  sponsored_direct_reporting_nffe_certification == o.sponsored_direct_reporting_nffe_certification &&
1224
1388
  direct_reporting_nffe_sponsoring_entity == o.direct_reporting_nffe_sponsoring_entity &&
1225
- signer_name == o.signer_name && super(o)
1389
+ signer_name == o.signer_name &&
1390
+ id == o.id &&
1391
+ entry_status == o.entry_status &&
1392
+ reference_id == o.reference_id &&
1393
+ company_id == o.company_id &&
1394
+ display_name == o.display_name &&
1395
+ email == o.email &&
1396
+ archived == o.archived &&
1397
+ ancestor_id == o.ancestor_id &&
1398
+ signature == o.signature &&
1399
+ signed_date == o.signed_date &&
1400
+ e_delivery_consented_at == o.e_delivery_consented_at &&
1401
+ created_at == o.created_at &&
1402
+ updated_at == o.updated_at
1226
1403
  end
1227
1404
 
1228
1405
  # @see the `==` method
@@ -1234,7 +1411,7 @@ module AvalaraSdk::A1099::V2
1234
1411
  # Calculates hash code according to all attributes.
1235
1412
  # @return [Integer] Hash code
1236
1413
  def hash
1237
- [name, citizenship_country, disregarded_entity, entity_type, fatca_status, residence_address, residence_city, residence_state, residence_zip, residence_country, residence_is_mailing, mailing_address, mailing_city, mailing_state, mailing_zip, mailing_country, tin_type, tin, giin, foreign_tin, reference_number, disregarded_entity_fatca_status, disregarded_address, disregarded_city, disregarded_state, disregarded_zip, disregarded_country, disregarded_entity_giin, qualified_intermediary_certification, qi_primary_withholding_responsibility_certification, qi_withholding_responsibility_for_ptp_sales_certification, qi_nominee_withholding_responsibility_for_ptp_distributions_certification, qi_securities_lender_substitute_dividend_withholding_certification, qi_withholding_and1099_reporting_responsibility_certification, qi_form1099_or_fatca_reporting_responsibility_certification, qi_opt_out_of_form1099_reporting_certification, qi_withholding_rate_pool_certification, qi_intermediary_or_flow_through_entity_documentation_certification, qualified_derivatives_dealer_certification, qdd_corporation, qdd_partnership, qdd_disregarded_entity, nonqualified_intermediary_certification, nqi_withholding_statement_transmission_certification, nqi_withholding_rate_pool_compliance_certification, nqi_qualified_securities_lender_certification, nqi_alternative_withholding_statement_verification_certification, territory_financial_institution_certification, tfi_treated_as_us_person_certification, tfi_withholding_statement_transmission_certification, tfi_treated_as_us_person_for_ptp_sales_certification, tfi_nominee_us_person_for_ptp_distributions_certification, tfi_not_nominee_for_ptp_distributions_certification, us_branch_non_effectively_connected_income_certification, us_branch_agreement_to_be_treated_as_us_person_certification, us_branch_withholding_statement_and_compliance_certification, us_branch_acting_as_us_person_for_ptp_sales_certification, us_branch_nominee_for_ptp_distributions_certification, us_branch_not_nominee_for_ptp_distributions_certification, withholding_foreign_partnership_or_trust_certification, nonwithholding_foreign_entity_withholding_statement_certification, foreign_entity_partner_in_lower_tier_partnership_certification, foreign_partnership_amount_realized_section1446_f_certification, foreign_partnership_modified_amount_realized_certification, foreign_grantor_trust_amount_realized_allocation_certification, alternative_withholding_statement_reliance_certification, np_ffi_with_exempt_beneficial_owners_certification, ffi_sponsoring_entity, investment_entity_certification, controlled_foreign_corporation_certification, owner_documented_ffi_certification, owner_documented_ffi_reporting_statement_certification, owner_documented_ffi_auditor_letter_certification, compliant_nonregistering_local_bank_certification, compliant_ffi_low_value_accounts_certification, sponsored_closely_held_entity_sponsoring_entity, sponsored_closely_held_investment_vehicle_certification, compliant_limited_life_debt_entity_certification, investment_entity_no_financial_accounts_certification, restricted_distributor_certification, restricted_distributor_agreement_certification, restricted_distributor_preexisting_sales_compliance_certification, foreign_central_bank_of_issue_certification, nonreporting_iga_ffi_certification, iga_country, iga_model, iga_legal_status_treatment, iga_ffi_trustee_or_sponsor, iga_ffi_trustee_is_foreign, treaty_qualified_pension_fund_certification, qualified_retirement_fund_certification, narrow_participation_retirement_fund_certification, section401_a_equivalent_pension_plan_certification, investment_entity_for_retirement_funds_certification, exempt_beneficial_owner_sponsored_retirement_fund_certification, excepted_nonfinancial_group_entity_certification, excepted_nonfinancial_start_up_certification, startup_formation_or_resolution_date, excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification, nonfinancial_entity_filing_date, publicly_traded_nffe_certification, publicly_traded_nffe_securities_market, nffe_affiliate_of_publicly_traded_entity_certification, publicly_traded_entity, nffe_affiliate_of_publicly_traded_entity_securities_market, excepted_territory_nffe_certification, active_nffe_certification, passive_nffe_certification, sponsored_direct_reporting_nffe_certification, direct_reporting_nffe_sponsoring_entity, signer_name].hash
1414
+ [type, name, citizenship_country, disregarded_entity, entity_type, fatca_status, residence_address, residence_city, residence_state, residence_zip, residence_country, residence_is_mailing, mailing_address, mailing_city, mailing_state, mailing_zip, mailing_country, tin_type, tin, giin, foreign_tin, reference_number, disregarded_entity_fatca_status, disregarded_address, disregarded_city, disregarded_state, disregarded_zip, disregarded_country, disregarded_entity_giin, qualified_intermediary_certification, qi_primary_withholding_responsibility_certification, qi_withholding_responsibility_for_ptp_sales_certification, qi_nominee_withholding_responsibility_for_ptp_distributions_certification, qi_securities_lender_substitute_dividend_withholding_certification, qi_withholding_and1099_reporting_responsibility_certification, qi_form1099_or_fatca_reporting_responsibility_certification, qi_opt_out_of_form1099_reporting_certification, qi_withholding_rate_pool_certification, qi_intermediary_or_flow_through_entity_documentation_certification, qualified_derivatives_dealer_certification, qdd_corporation, qdd_partnership, qdd_disregarded_entity, nonqualified_intermediary_certification, nqi_withholding_statement_transmission_certification, nqi_withholding_rate_pool_compliance_certification, nqi_qualified_securities_lender_certification, nqi_alternative_withholding_statement_verification_certification, territory_financial_institution_certification, tfi_treated_as_us_person_certification, tfi_withholding_statement_transmission_certification, tfi_treated_as_us_person_for_ptp_sales_certification, tfi_nominee_us_person_for_ptp_distributions_certification, tfi_not_nominee_for_ptp_distributions_certification, us_branch_non_effectively_connected_income_certification, us_branch_agreement_to_be_treated_as_us_person_certification, us_branch_withholding_statement_and_compliance_certification, us_branch_acting_as_us_person_for_ptp_sales_certification, us_branch_nominee_for_ptp_distributions_certification, us_branch_not_nominee_for_ptp_distributions_certification, withholding_foreign_partnership_or_trust_certification, nonwithholding_foreign_entity_withholding_statement_certification, foreign_entity_partner_in_lower_tier_partnership_certification, foreign_partnership_amount_realized_section1446_f_certification, foreign_partnership_modified_amount_realized_certification, foreign_grantor_trust_amount_realized_allocation_certification, alternative_withholding_statement_reliance_certification, np_ffi_with_exempt_beneficial_owners_certification, ffi_sponsoring_entity, investment_entity_certification, controlled_foreign_corporation_certification, owner_documented_ffi_certification, owner_documented_ffi_reporting_statement_certification, owner_documented_ffi_auditor_letter_certification, compliant_nonregistering_local_bank_certification, compliant_ffi_low_value_accounts_certification, sponsored_closely_held_entity_sponsoring_entity, sponsored_closely_held_investment_vehicle_certification, compliant_limited_life_debt_entity_certification, investment_entity_no_financial_accounts_certification, restricted_distributor_certification, restricted_distributor_agreement_certification, restricted_distributor_preexisting_sales_compliance_certification, foreign_central_bank_of_issue_certification, nonreporting_iga_ffi_certification, iga_country, iga_model, iga_legal_status_treatment, iga_ffi_trustee_or_sponsor, iga_ffi_trustee_is_foreign, treaty_qualified_pension_fund_certification, qualified_retirement_fund_certification, narrow_participation_retirement_fund_certification, section401_a_equivalent_pension_plan_certification, investment_entity_for_retirement_funds_certification, exempt_beneficial_owner_sponsored_retirement_fund_certification, excepted_nonfinancial_group_entity_certification, excepted_nonfinancial_start_up_certification, startup_formation_or_resolution_date, excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification, nonfinancial_entity_filing_date, publicly_traded_nffe_certification, publicly_traded_nffe_securities_market, nffe_affiliate_of_publicly_traded_entity_certification, publicly_traded_entity, nffe_affiliate_of_publicly_traded_entity_securities_market, excepted_territory_nffe_certification, active_nffe_certification, passive_nffe_certification, sponsored_direct_reporting_nffe_certification, direct_reporting_nffe_sponsoring_entity, signer_name, id, entry_status, reference_id, company_id, display_name, email, archived, ancestor_id, signature, signed_date, e_delivery_consented_at, created_at, updated_at].hash
1238
1415
  end
1239
1416
 
1240
1417
  # Builds the object from hash
@@ -1242,7 +1419,6 @@ module AvalaraSdk::A1099::V2
1242
1419
  # @return [Object] Returns the model itself
1243
1420
  def self.build_from_hash(attributes)
1244
1421
  return nil unless attributes.is_a?(Hash)
1245
- super(attributes)
1246
1422
  attributes = attributes.transform_keys(&:to_sym)
1247
1423
  transformed_hash = {}
1248
1424
  openapi_types.each_pair do |key, type|
@@ -1319,7 +1495,7 @@ module AvalaraSdk::A1099::V2
1319
1495
  # Returns the object in the form of hash
1320
1496
  # @return [Hash] Returns the object in the form of hash
1321
1497
  def to_hash
1322
- hash = super
1498
+ hash = {}
1323
1499
  self.class.attribute_map.each_pair do |attr, param|
1324
1500
  value = self.send(attr)
1325
1501
  if value.nil?
@@ -14,7 +14,7 @@ module AvalaraSdk::A1099::V2
14
14
  # The form type.
15
15
  attr_accessor :type
16
16
 
17
- # The ID of the associated company.
17
+ # The ID of the associated company. Required when creating a form.
18
18
  attr_accessor :company_id
19
19
 
20
20
  # A reference identifier for the form.
@@ -99,8 +99,6 @@ module AvalaraSdk::A1099::V2
99
99
 
100
100
  if attributes.key?(:'company_id')
101
101
  self.company_id = attributes[:'company_id']
102
- else
103
- self.company_id = nil
104
102
  end
105
103
 
106
104
  if attributes.key?(:'reference_id')
@@ -117,14 +115,6 @@ module AvalaraSdk::A1099::V2
117
115
  def list_invalid_properties
118
116
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
119
117
  invalid_properties = Array.new
120
- if @company_id.nil?
121
- invalid_properties.push('invalid value for "company_id", company_id cannot be nil.')
122
- end
123
-
124
- if @company_id.to_s.length < 1
125
- invalid_properties.push('invalid value for "company_id", the character length must be great than or equal to 1.')
126
- end
127
-
128
118
  invalid_properties
129
119
  end
130
120
 
@@ -134,8 +124,6 @@ module AvalaraSdk::A1099::V2
134
124
  warn '[DEPRECATED] the `valid?` method is obsolete'
135
125
  type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
136
126
  return false unless type_validator.valid?(@type)
137
- return false if @company_id.nil?
138
- return false if @company_id.to_s.length < 1
139
127
  true
140
128
  end
141
129
 
@@ -149,20 +137,6 @@ module AvalaraSdk::A1099::V2
149
137
  @type = type
150
138
  end
151
139
 
152
- # Custom attribute writer method with validation
153
- # @param [Object] company_id Value to be assigned
154
- def company_id=(company_id)
155
- if company_id.nil?
156
- fail ArgumentError, 'company_id cannot be nil'
157
- end
158
-
159
- if company_id.to_s.length < 1
160
- fail ArgumentError, 'invalid value for "company_id", the character length must be great than or equal to 1.'
161
- end
162
-
163
- @company_id = company_id
164
- end
165
-
166
140
  # Checks equality by comparing each attribute.
167
141
  # @param [Object] Object to be compared
168
142
  def ==(o)
@@ -20,7 +20,7 @@ module AvalaraSdk::A1099::V2
20
20
  # The form type.
21
21
  attr_accessor :type
22
22
 
23
- # The ID of the associated company.
23
+ # The ID of the associated company. Required when creating a form.
24
24
  attr_accessor :company_id
25
25
 
26
26
  # A reference identifier for the form.
@@ -126,8 +126,6 @@ module AvalaraSdk::A1099::V2
126
126
 
127
127
  if attributes.key?(:'company_id')
128
128
  self.company_id = attributes[:'company_id']
129
- else
130
- self.company_id = nil
131
129
  end
132
130
 
133
131
  if attributes.key?(:'reference_id')
@@ -144,14 +142,6 @@ module AvalaraSdk::A1099::V2
144
142
  def list_invalid_properties
145
143
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
146
144
  invalid_properties = Array.new
147
- if @company_id.nil?
148
- invalid_properties.push('invalid value for "company_id", company_id cannot be nil.')
149
- end
150
-
151
- if @company_id.to_s.length < 1
152
- invalid_properties.push('invalid value for "company_id", the character length must be great than or equal to 1.')
153
- end
154
-
155
145
  invalid_properties
156
146
  end
157
147
 
@@ -161,8 +151,6 @@ module AvalaraSdk::A1099::V2
161
151
  warn '[DEPRECATED] the `valid?` method is obsolete'
162
152
  type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
163
153
  return false unless type_validator.valid?(@type)
164
- return false if @company_id.nil?
165
- return false if @company_id.to_s.length < 1
166
154
  true
167
155
  end
168
156
 
@@ -176,20 +164,6 @@ module AvalaraSdk::A1099::V2
176
164
  @type = type
177
165
  end
178
166
 
179
- # Custom attribute writer method with validation
180
- # @param [Object] company_id Value to be assigned
181
- def company_id=(company_id)
182
- if company_id.nil?
183
- fail ArgumentError, 'company_id cannot be nil'
184
- end
185
-
186
- if company_id.to_s.length < 1
187
- fail ArgumentError, 'invalid value for "company_id", the character length must be great than or equal to 1.'
188
- end
189
-
190
- @company_id = company_id
191
- end
192
-
193
167
  # Checks equality by comparing each attribute.
194
168
  # @param [Object] Object to be compared
195
169
  def ==(o)
@@ -11,6 +11,9 @@ require 'time'
11
11
 
12
12
  module AvalaraSdk::A1099::V2
13
13
  class W9FormBaseResponse
14
+ # The form type.
15
+ attr_accessor :type
16
+
14
17
  # The unique identifier for the form.
15
18
  attr_accessor :id
16
19
 
@@ -50,12 +53,32 @@ module AvalaraSdk::A1099::V2
50
53
  # The last updated date of the form.
51
54
  attr_accessor :updated_at
52
55
 
53
- # The type of the response object.
54
- attr_accessor :type
56
+ class EnumAttributeValidator
57
+ attr_reader :datatype
58
+ attr_reader :allowable_values
59
+
60
+ def initialize(datatype, allowable_values)
61
+ @allowable_values = allowable_values.map do |value|
62
+ case datatype.to_s
63
+ when /Integer/i
64
+ value.to_i
65
+ when /Float/i
66
+ value.to_f
67
+ else
68
+ value
69
+ end
70
+ end
71
+ end
72
+
73
+ def valid?(value)
74
+ !value || allowable_values.include?(value)
75
+ end
76
+ end
55
77
 
56
78
  # Attribute mapping from ruby-style variable name to JSON key.
57
79
  def self.attribute_map
58
80
  {
81
+ :'type' => :'type',
59
82
  :'id' => :'id',
60
83
  :'entry_status' => :'entryStatus',
61
84
  :'reference_id' => :'referenceId',
@@ -68,8 +91,7 @@ module AvalaraSdk::A1099::V2
68
91
  :'signed_date' => :'signedDate',
69
92
  :'e_delivery_consented_at' => :'eDeliveryConsentedAt',
70
93
  :'created_at' => :'createdAt',
71
- :'updated_at' => :'updatedAt',
72
- :'type' => :'type'
94
+ :'updated_at' => :'updatedAt'
73
95
  }
74
96
  end
75
97
 
@@ -81,6 +103,7 @@ module AvalaraSdk::A1099::V2
81
103
  # Attribute type mapping.
82
104
  def self.openapi_types
83
105
  {
106
+ :'type' => :'String',
84
107
  :'id' => :'String',
85
108
  :'entry_status' => :'EntryStatusResponse',
86
109
  :'reference_id' => :'String',
@@ -93,8 +116,7 @@ module AvalaraSdk::A1099::V2
93
116
  :'signed_date' => :'Time',
94
117
  :'e_delivery_consented_at' => :'Time',
95
118
  :'created_at' => :'Time',
96
- :'updated_at' => :'Time',
97
- :'type' => :'String'
119
+ :'updated_at' => :'Time'
98
120
  }
99
121
  end
100
122
 
@@ -110,11 +132,6 @@ module AvalaraSdk::A1099::V2
110
132
  ])
111
133
  end
112
134
 
113
- # discriminator's property name in OpenAPI v3
114
- def self.openapi_discriminator_name
115
- :'type'
116
- end
117
-
118
135
  # Initializes the object
119
136
  # @param [Hash] attributes Model attributes in the form of hash
120
137
  def initialize(attributes = {})
@@ -130,6 +147,10 @@ module AvalaraSdk::A1099::V2
130
147
  h[k.to_sym] = v
131
148
  }
132
149
 
150
+ if attributes.key?(:'type')
151
+ self.type = attributes[:'type']
152
+ end
153
+
133
154
  if attributes.key?(:'id')
134
155
  self.id = attributes[:'id']
135
156
  end
@@ -181,10 +202,6 @@ module AvalaraSdk::A1099::V2
181
202
  if attributes.key?(:'updated_at')
182
203
  self.updated_at = attributes[:'updated_at']
183
204
  end
184
-
185
- if attributes.key?(:'type')
186
- self.type = attributes[:'type']
187
- end
188
205
  end
189
206
 
190
207
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -199,14 +216,27 @@ module AvalaraSdk::A1099::V2
199
216
  # @return true if the model is valid
200
217
  def valid?
201
218
  warn '[DEPRECATED] the `valid?` method is obsolete'
219
+ type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
220
+ return false unless type_validator.valid?(@type)
202
221
  true
203
222
  end
204
223
 
224
+ # Custom attribute writer method checking allowed values (enum).
225
+ # @param [Object] type Object to be assigned
226
+ def type=(type)
227
+ validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
228
+ unless validator.valid?(type)
229
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
230
+ end
231
+ @type = type
232
+ end
233
+
205
234
  # Checks equality by comparing each attribute.
206
235
  # @param [Object] Object to be compared
207
236
  def ==(o)
208
237
  return true if self.equal?(o)
209
238
  self.class == o.class &&
239
+ type == o.type &&
210
240
  id == o.id &&
211
241
  entry_status == o.entry_status &&
212
242
  reference_id == o.reference_id &&
@@ -219,8 +249,7 @@ module AvalaraSdk::A1099::V2
219
249
  signed_date == o.signed_date &&
220
250
  e_delivery_consented_at == o.e_delivery_consented_at &&
221
251
  created_at == o.created_at &&
222
- updated_at == o.updated_at &&
223
- type == o.type
252
+ updated_at == o.updated_at
224
253
  end
225
254
 
226
255
  # @see the `==` method
@@ -232,7 +261,7 @@ module AvalaraSdk::A1099::V2
232
261
  # Calculates hash code according to all attributes.
233
262
  # @return [Integer] Hash code
234
263
  def hash
235
- [id, entry_status, reference_id, company_id, display_name, email, archived, ancestor_id, signature, signed_date, e_delivery_consented_at, created_at, updated_at, type].hash
264
+ [type, id, entry_status, reference_id, company_id, display_name, email, archived, ancestor_id, signature, signed_date, e_delivery_consented_at, created_at, updated_at].hash
236
265
  end
237
266
 
238
267
  # Builds the object from hash
@@ -23,7 +23,7 @@ module AvalaraSdk::A1099::V2
23
23
  # The account number associated with the form.
24
24
  attr_accessor :account_number
25
25
 
26
- # The ID of the associated company.
26
+ # The ID of the associated company. Required when creating a form.
27
27
  attr_accessor :company_id
28
28
 
29
29
  # A reference identifier for the form.
@@ -132,8 +132,6 @@ module AvalaraSdk::A1099::V2
132
132
 
133
133
  if attributes.key?(:'company_id')
134
134
  self.company_id = attributes[:'company_id']
135
- else
136
- self.company_id = nil
137
135
  end
138
136
 
139
137
  if attributes.key?(:'reference_id')
@@ -162,14 +160,6 @@ module AvalaraSdk::A1099::V2
162
160
  invalid_properties.push('invalid value for "name", the character length must be great than or equal to 1.')
163
161
  end
164
162
 
165
- if @company_id.nil?
166
- invalid_properties.push('invalid value for "company_id", company_id cannot be nil.')
167
- end
168
-
169
- if @company_id.to_s.length < 1
170
- invalid_properties.push('invalid value for "company_id", the character length must be great than or equal to 1.')
171
- end
172
-
173
163
  invalid_properties
174
164
  end
175
165
 
@@ -183,8 +173,6 @@ module AvalaraSdk::A1099::V2
183
173
  return false if @email.to_s.length < 1
184
174
  return false if @name.nil?
185
175
  return false if @name.to_s.length < 1
186
- return false if @company_id.nil?
187
- return false if @company_id.to_s.length < 1
188
176
  true
189
177
  end
190
178
 
@@ -226,20 +214,6 @@ module AvalaraSdk::A1099::V2
226
214
  @name = name
227
215
  end
228
216
 
229
- # Custom attribute writer method with validation
230
- # @param [Object] company_id Value to be assigned
231
- def company_id=(company_id)
232
- if company_id.nil?
233
- fail ArgumentError, 'company_id cannot be nil'
234
- end
235
-
236
- if company_id.to_s.length < 1
237
- fail ArgumentError, 'invalid value for "company_id", the character length must be great than or equal to 1.'
238
- end
239
-
240
- @company_id = company_id
241
- end
242
-
243
217
  # Checks equality by comparing each attribute.
244
218
  # @param [Object] Object to be compared
245
219
  def ==(o)