avalara_sdk 25.8.2 → 25.9.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 (220) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +20 -91
  4. data/docs/A1099/V2/CompaniesW9Api.md +18 -18
  5. data/docs/A1099/V2/CompanyBase.md +50 -0
  6. data/docs/A1099/V2/CompanyCreateUpdateRequestModel.md +18 -18
  7. data/docs/A1099/V2/CompanyRequest.md +50 -0
  8. data/docs/A1099/V2/CompanyResponse.md +37 -37
  9. data/docs/A1099/V2/CoveredIndividual.md +56 -0
  10. data/docs/A1099/V2/CreateAndSendW9FormEmailRequest.md +55 -0
  11. data/docs/A1099/V2/CreateCompanyRequest.md +49 -0
  12. data/docs/A1099/V2/CreateIssuerRequest.md +49 -0
  13. data/docs/A1099/V2/EntryStatusResponse.md +20 -0
  14. data/docs/A1099/V2/Form1042S.md +83 -83
  15. data/docs/A1099/V2/Form1095B.md +72 -62
  16. data/docs/A1099/V2/Form1095C.md +112 -0
  17. data/docs/A1099/V2/Form1099Base.md +60 -60
  18. data/docs/A1099/V2/Form1099Div.md +79 -77
  19. data/docs/A1099/V2/Form1099Int.md +76 -74
  20. data/docs/A1099/V2/Form1099K.md +83 -83
  21. data/docs/A1099/V2/Form1099ListRequest.md +20 -0
  22. data/docs/A1099/V2/Form1099Misc.md +79 -77
  23. data/docs/A1099/V2/Form1099Nec.md +64 -64
  24. data/docs/A1099/V2/Form1099R.md +95 -93
  25. data/docs/A1099/V2/Forms1099Api.md +47 -43
  26. data/docs/A1099/V2/FormsW9Api.md +104 -20
  27. data/docs/A1099/V2/Get1099Form200Response.md +19 -19
  28. data/docs/A1099/V2/IntermediaryOrFlowThrough.md +11 -11
  29. data/docs/A1099/V2/IssuerBase.md +46 -0
  30. data/docs/A1099/V2/IssuerCommand.md +16 -16
  31. data/docs/A1099/V2/IssuerRequest.md +46 -0
  32. data/docs/A1099/V2/IssuerResponse.md +35 -35
  33. data/docs/A1099/V2/Issuers1099Api.md +10 -10
  34. data/docs/A1099/V2/JobResponse.md +56 -0
  35. data/docs/A1099/V2/JobsApi.md +91 -0
  36. data/docs/A1099/V2/OfferAndCoverage.md +28 -0
  37. data/docs/A1099/V2/PaginatedQueryResultModelForm1099Base.md +22 -0
  38. data/docs/A1099/V2/PrimaryWithholdingAgent.md +4 -4
  39. data/docs/A1099/V2/StateAndLocalWithholding.md +8 -8
  40. data/docs/A1099/V2/TinMatchStatusResponse.md +1 -1
  41. data/docs/A1099/V2/ValidationError.md +2 -2
  42. data/docs/A1099/V2/W4FormMinimalRequest.md +30 -0
  43. data/docs/A1099/V2/W4FormRequest.md +16 -16
  44. data/docs/A1099/V2/W4FormResponse.md +48 -20
  45. data/docs/A1099/V2/W8BenEFormMinimalRequest.md +28 -0
  46. data/docs/A1099/V2/W8BenEFormRequest.md +15 -15
  47. data/docs/A1099/V2/W8BenEFormResponse.md +96 -68
  48. data/docs/A1099/V2/W8BenFormMinimalRequest.md +28 -0
  49. data/docs/A1099/V2/W8BenFormRequest.md +11 -11
  50. data/docs/A1099/V2/W8BenFormResponse.md +55 -27
  51. data/docs/A1099/V2/W8ImyFormMinimalRequest.md +28 -0
  52. data/docs/A1099/V2/W8ImyFormRequest.md +15 -15
  53. data/docs/A1099/V2/W8ImyFormResponse.md +118 -90
  54. data/docs/A1099/V2/W9FormBaseMinimalRequest.md +24 -0
  55. data/docs/A1099/V2/W9FormBaseRequest.md +7 -7
  56. data/docs/A1099/V2/W9FormBaseResponse.md +6 -6
  57. data/docs/A1099/V2/W9FormMinimalRequest.md +28 -0
  58. data/docs/A1099/V2/W9FormRequest.md +15 -15
  59. data/docs/A1099/V2/W9FormResponse.md +44 -16
  60. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +27 -27
  61. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +93 -61
  62. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +157 -19
  63. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +21 -21
  64. data/lib/avalara_sdk/api/A1099/V2/{jobs1099_api.rb → jobs_api.rb} +9 -9
  65. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +1 -1
  66. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +1 -1
  67. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +1 -1
  68. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +1 -1
  69. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +1 -1
  70. data/lib/avalara_sdk/api/EInvoicing/V1/tax_identifiers_api.rb +1 -1
  71. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +1 -1
  72. data/lib/avalara_sdk/api_client.rb +10 -2
  73. data/lib/avalara_sdk/models/A1099/V2/{base_company_model.rb → company_base.rb} +61 -13
  74. data/lib/avalara_sdk/models/A1099/V2/company_create_update_request_model.rb +58 -17
  75. data/lib/avalara_sdk/models/A1099/V2/{company_model.rb → company_request.rb} +62 -64
  76. data/lib/avalara_sdk/models/A1099/V2/company_response.rb +110 -69
  77. data/lib/avalara_sdk/models/A1099/V2/{covered_individual_request.rb → covered_individual.rb} +36 -7
  78. data/lib/avalara_sdk/models/A1099/V2/{i_create_form1099_request.rb → create_and_send_w9_form_email_request.rb} +6 -5
  79. data/lib/avalara_sdk/models/A1099/V2/{error_response_errors_inner.rb → create_company_request.rb} +3 -3
  80. data/lib/avalara_sdk/models/A1099/V2/{i_update_form1099_request.rb → create_issuer_request.rb} +3 -5
  81. data/lib/avalara_sdk/models/A1099/V2/{status_detail.rb → entry_status_response.rb} +20 -18
  82. data/lib/avalara_sdk/models/A1099/V2/error_response.rb +0 -6
  83. data/lib/avalara_sdk/models/A1099/V2/form1042_s.rb +422 -187
  84. data/lib/avalara_sdk/models/A1099/V2/form1095_b.rb +359 -194
  85. data/lib/avalara_sdk/models/A1099/V2/{form1095_b_response.rb → form1095_c.rb} +250 -133
  86. data/lib/avalara_sdk/models/A1099/V2/form1099_base.rb +283 -185
  87. data/lib/avalara_sdk/models/A1099/V2/form1099_div.rb +307 -179
  88. data/lib/avalara_sdk/models/A1099/V2/form1099_int.rb +307 -183
  89. data/lib/avalara_sdk/models/A1099/V2/form1099_k.rb +307 -198
  90. data/lib/avalara_sdk/models/A1099/V2/{http_validation_problem_details.rb → form1099_list_request.rb} +45 -59
  91. data/lib/avalara_sdk/models/A1099/V2/form1099_misc.rb +334 -209
  92. data/lib/avalara_sdk/models/A1099/V2/form1099_nec.rb +297 -192
  93. data/lib/avalara_sdk/models/A1099/V2/form1099_r.rb +437 -282
  94. data/lib/avalara_sdk/models/A1099/V2/get1099_form200_response.rb +9 -9
  95. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through.rb +59 -1
  96. data/lib/avalara_sdk/models/A1099/V2/{intermediary_or_flow_through_request.rb → issuer_base.rb} +119 -46
  97. data/lib/avalara_sdk/models/A1099/V2/issuer_command.rb +42 -23
  98. data/lib/avalara_sdk/models/A1099/V2/{company_response_model.rb → issuer_request.rb} +113 -112
  99. data/lib/avalara_sdk/models/A1099/V2/issuer_response.rb +77 -46
  100. data/lib/avalara_sdk/models/A1099/V2/{job_result.rb → job_response.rb} +102 -42
  101. data/lib/avalara_sdk/models/A1099/V2/{offer_and_coverage_request.rb → offer_and_coverage.rb} +79 -9
  102. data/lib/avalara_sdk/models/A1099/V2/{paginated_query_result_model.rb → paginated_query_result_model_form1099_base.rb} +4 -4
  103. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent.rb +23 -16
  104. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding.rb +8 -0
  105. data/lib/avalara_sdk/models/A1099/V2/validation_error.rb +2 -6
  106. data/lib/avalara_sdk/models/A1099/V2/{attribute.rb → w4_form_minimal_request.rb} +142 -129
  107. data/lib/avalara_sdk/models/A1099/V2/w4_form_request.rb +62 -34
  108. data/lib/avalara_sdk/models/A1099/V2/w4_form_response.rb +191 -15
  109. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_minimal_request.rb +356 -0
  110. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_request.rb +68 -33
  111. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_response.rb +190 -14
  112. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_minimal_request.rb +356 -0
  113. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_request.rb +51 -28
  114. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_response.rb +191 -15
  115. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_minimal_request.rb +356 -0
  116. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_request.rb +61 -33
  117. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_response.rb +191 -15
  118. data/lib/avalara_sdk/models/A1099/V2/{problem_details.rb → w9_form_base_minimal_request.rb} +61 -35
  119. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_request.rb +35 -28
  120. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_response.rb +60 -31
  121. data/lib/avalara_sdk/models/A1099/V2/w9_form_minimal_request.rb +356 -0
  122. data/lib/avalara_sdk/models/A1099/V2/w9_form_request.rb +71 -30
  123. data/lib/avalara_sdk/models/A1099/V2/w9_form_response.rb +190 -14
  124. data/lib/avalara_sdk/version.rb +1 -1
  125. data/lib/avalara_sdk.rb +22 -101
  126. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  127. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  128. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +5 -5
  129. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +5 -5
  130. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +5 -5
  131. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
  132. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +5 -5
  133. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +5 -5
  134. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  135. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  136. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  137. metadata +45 -103
  138. data/lib/avalara_sdk/models/A1099/V2/base_form_list_request.rb +0 -210
  139. data/lib/avalara_sdk/models/A1099/V2/bulk_upsert1099_forms_request.rb +0 -108
  140. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference.rb +0 -403
  141. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference_response.rb +0 -407
  142. data/lib/avalara_sdk/models/A1099/V2/create1099_form201_response.rb +0 -108
  143. data/lib/avalara_sdk/models/A1099/V2/data.rb +0 -237
  144. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list.rb +0 -238
  145. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item.rb +0 -816
  146. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item_response.rb +0 -980
  147. data/lib/avalara_sdk/models/A1099/V2/form1042_s_request.rb +0 -778
  148. data/lib/avalara_sdk/models/A1099/V2/form1042_s_response.rb +0 -619
  149. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list.rb +0 -238
  150. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item.rb +0 -606
  151. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item_response.rb +0 -765
  152. data/lib/avalara_sdk/models/A1099/V2/form1095_b_request.rb +0 -627
  153. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list.rb +0 -238
  154. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list_item.rb +0 -662
  155. data/lib/avalara_sdk/models/A1099/V2/form1099_base_response.rb +0 -726
  156. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list.rb +0 -238
  157. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item.rb +0 -747
  158. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item_response.rb +0 -931
  159. data/lib/avalara_sdk/models/A1099/V2/form1099_div_request.rb +0 -729
  160. data/lib/avalara_sdk/models/A1099/V2/form1099_div_response.rb +0 -790
  161. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list.rb +0 -238
  162. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item.rb +0 -702
  163. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item_response.rb +0 -887
  164. data/lib/avalara_sdk/models/A1099/V2/form1099_int_request.rb +0 -684
  165. data/lib/avalara_sdk/models/A1099/V2/form1099_int_response.rb +0 -773
  166. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list.rb +0 -238
  167. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item.rb +0 -788
  168. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item_response.rb +0 -995
  169. data/lib/avalara_sdk/models/A1099/V2/form1099_k_request.rb +0 -770
  170. data/lib/avalara_sdk/models/A1099/V2/form1099_k_response.rb +0 -839
  171. data/lib/avalara_sdk/models/A1099/V2/form1099_list.rb +0 -219
  172. data/lib/avalara_sdk/models/A1099/V2/form1099_list_data_inner.rb +0 -55
  173. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response.rb +0 -220
  174. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response_value_inner.rb +0 -108
  175. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list.rb +0 -238
  176. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item.rb +0 -688
  177. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item_response.rb +0 -886
  178. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_request.rb +0 -670
  179. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_response.rb +0 -754
  180. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list.rb +0 -238
  181. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item.rb +0 -586
  182. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item_response.rb +0 -765
  183. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_request.rb +0 -567
  184. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_response.rb +0 -646
  185. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result.rb +0 -228
  186. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result_processed_forms_inner.rb +0 -107
  187. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list.rb +0 -238
  188. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item.rb +0 -763
  189. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item_response.rb +0 -942
  190. data/lib/avalara_sdk/models/A1099/V2/form1099_r_request.rb +0 -720
  191. data/lib/avalara_sdk/models/A1099/V2/form1099_r_response.rb +0 -839
  192. data/lib/avalara_sdk/models/A1099/V2/form1099_status_detail_response.rb +0 -223
  193. data/lib/avalara_sdk/models/A1099/V2/form_request_base.rb +0 -502
  194. data/lib/avalara_sdk/models/A1099/V2/form_request_csv_base.rb +0 -475
  195. data/lib/avalara_sdk/models/A1099/V2/form_request_list_item_base.rb +0 -548
  196. data/lib/avalara_sdk/models/A1099/V2/form_request_model.rb +0 -345
  197. data/lib/avalara_sdk/models/A1099/V2/form_response_base.rb +0 -612
  198. data/lib/avalara_sdk/models/A1099/V2/form_single_request_base.rb +0 -530
  199. data/lib/avalara_sdk/models/A1099/V2/included_base.rb +0 -219
  200. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through_response.rb +0 -311
  201. data/lib/avalara_sdk/models/A1099/V2/link.rb +0 -210
  202. data/lib/avalara_sdk/models/A1099/V2/paginated_w9_forms_model.rb +0 -231
  203. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_request.rb +0 -221
  204. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_response.rb +0 -221
  205. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_request.rb +0 -278
  206. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_response.rb +0 -282
  207. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_app.rb +0 -231
  208. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_response.rb +0 -231
  209. data/lib/avalara_sdk/models/A1099/V2/update1099_form200_response.rb +0 -108
  210. data/lib/avalara_sdk/models/A1099/V2/validation_error_app.rb +0 -229
  211. data/lib/avalara_sdk/models/A1099/V2/validation_error_response.rb +0 -231
  212. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response.rb +0 -233
  213. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner.rb +0 -274
  214. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_addresses_inner.rb +0 -251
  215. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_identifiers_inner.rb +0 -221
  216. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_supported_document_types_inner.rb +0 -241
  217. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request.rb +0 -224
  218. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request_data_inner.rb +0 -237
  219. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request_metadata.rb +0 -288
  220. data/lib/avalara_sdk/models/EInvoicing/V1/submit_document_data.rb +0 -216
@@ -10,7 +10,10 @@ require 'date'
10
10
  require 'time'
11
11
 
12
12
  module AvalaraSdk::A1099::V2
13
- class W4FormResponse < W9FormBaseResponse
13
+ class W4FormResponse
14
+ # The form type (always \"W4\" for this model).
15
+ attr_accessor :type
16
+
14
17
  # The first name of the employee.
15
18
  attr_accessor :employee_first_name
16
19
 
@@ -23,7 +26,7 @@ module AvalaraSdk::A1099::V2
23
26
  # The name suffix of the employee.
24
27
  attr_accessor :employee_name_suffix
25
28
 
26
- # The type of TIN provided.
29
+ # Tax Identification Number (TIN) type.
27
30
  attr_accessor :tin_type
28
31
 
29
32
  # The taxpayer identification number (TIN).
@@ -68,9 +71,71 @@ module AvalaraSdk::A1099::V2
68
71
  # The office code associated with the form.
69
72
  attr_accessor :office_code
70
73
 
74
+ # The unique identifier for the form.
75
+ attr_accessor :id
76
+
77
+ # The entry status information for the form.
78
+ attr_accessor :entry_status
79
+
80
+ # A reference identifier for the form.
81
+ attr_accessor :reference_id
82
+
83
+ # The ID of the associated company.
84
+ attr_accessor :company_id
85
+
86
+ # The display name associated with the form.
87
+ attr_accessor :display_name
88
+
89
+ # The email address of the individual associated with the form.
90
+ attr_accessor :email
91
+
92
+ # Indicates whether the form is archived.
93
+ attr_accessor :archived
94
+
95
+ # Form ID of previous version.
96
+ attr_accessor :ancestor_id
97
+
98
+ # The signature of the form.
99
+ attr_accessor :signature
100
+
101
+ # The date the form was signed.
102
+ attr_accessor :signed_date
103
+
104
+ # The date when e-delivery was consented.
105
+ attr_accessor :e_delivery_consented_at
106
+
107
+ # The creation date of the form.
108
+ attr_accessor :created_at
109
+
110
+ # The last updated date of the form.
111
+ attr_accessor :updated_at
112
+
113
+ class EnumAttributeValidator
114
+ attr_reader :datatype
115
+ attr_reader :allowable_values
116
+
117
+ def initialize(datatype, allowable_values)
118
+ @allowable_values = allowable_values.map do |value|
119
+ case datatype.to_s
120
+ when /Integer/i
121
+ value.to_i
122
+ when /Float/i
123
+ value.to_f
124
+ else
125
+ value
126
+ end
127
+ end
128
+ end
129
+
130
+ def valid?(value)
131
+ !value || allowable_values.include?(value)
132
+ end
133
+ end
134
+
71
135
  # Attribute mapping from ruby-style variable name to JSON key.
72
136
  def self.attribute_map
73
137
  {
138
+ :'type' => :'type',
74
139
  :'employee_first_name' => :'employeeFirstName',
75
140
  :'employee_middle_name' => :'employeeMiddleName',
76
141
  :'employee_last_name' => :'employeeLastName',
@@ -89,18 +154,32 @@ module AvalaraSdk::A1099::V2
89
154
  :'deductions' => :'deductions',
90
155
  :'additional_withheld' => :'additionalWithheld',
91
156
  :'exempt_from_withholding' => :'exemptFromWithholding',
92
- :'office_code' => :'officeCode'
157
+ :'office_code' => :'officeCode',
158
+ :'id' => :'id',
159
+ :'entry_status' => :'entryStatus',
160
+ :'reference_id' => :'referenceId',
161
+ :'company_id' => :'companyId',
162
+ :'display_name' => :'displayName',
163
+ :'email' => :'email',
164
+ :'archived' => :'archived',
165
+ :'ancestor_id' => :'ancestorId',
166
+ :'signature' => :'signature',
167
+ :'signed_date' => :'signedDate',
168
+ :'e_delivery_consented_at' => :'eDeliveryConsentedAt',
169
+ :'created_at' => :'createdAt',
170
+ :'updated_at' => :'updatedAt'
93
171
  }
94
172
  end
95
173
 
96
- # Returns all the JSON keys this model knows about, including the ones defined in its parent(s)
174
+ # Returns all the JSON keys this model knows about
97
175
  def self.acceptable_attributes
98
- attribute_map.values.concat(superclass.acceptable_attributes)
176
+ attribute_map.values
99
177
  end
100
178
 
101
179
  # Attribute type mapping.
102
180
  def self.openapi_types
103
181
  {
182
+ :'type' => :'String',
104
183
  :'employee_first_name' => :'String',
105
184
  :'employee_middle_name' => :'String',
106
185
  :'employee_last_name' => :'String',
@@ -119,7 +198,20 @@ module AvalaraSdk::A1099::V2
119
198
  :'deductions' => :'Float',
120
199
  :'additional_withheld' => :'Float',
121
200
  :'exempt_from_withholding' => :'Boolean',
122
- :'office_code' => :'String'
201
+ :'office_code' => :'String',
202
+ :'id' => :'String',
203
+ :'entry_status' => :'EntryStatusResponse',
204
+ :'reference_id' => :'String',
205
+ :'company_id' => :'String',
206
+ :'display_name' => :'String',
207
+ :'email' => :'String',
208
+ :'archived' => :'Boolean',
209
+ :'ancestor_id' => :'String',
210
+ :'signature' => :'String',
211
+ :'signed_date' => :'Time',
212
+ :'e_delivery_consented_at' => :'Time',
213
+ :'created_at' => :'Time',
214
+ :'updated_at' => :'Time'
123
215
  }
124
216
  end
125
217
 
@@ -138,7 +230,13 @@ module AvalaraSdk::A1099::V2
138
230
  :'non_job_income',
139
231
  :'deductions',
140
232
  :'additional_withheld',
141
- :'office_code'
233
+ :'office_code',
234
+ :'reference_id',
235
+ :'email',
236
+ :'ancestor_id',
237
+ :'signature',
238
+ :'signed_date',
239
+ :'e_delivery_consented_at',
142
240
  ])
143
241
  end
144
242
 
@@ -164,8 +262,9 @@ module AvalaraSdk::A1099::V2
164
262
  h[k.to_sym] = v
165
263
  }
166
264
 
167
- # call parent's initialize
168
- super(attributes)
265
+ if attributes.key?(:'type')
266
+ self.type = attributes[:'type']
267
+ end
169
268
 
170
269
  if attributes.key?(:'employee_first_name')
171
270
  self.employee_first_name = attributes[:'employee_first_name']
@@ -242,13 +341,65 @@ module AvalaraSdk::A1099::V2
242
341
  if attributes.key?(:'office_code')
243
342
  self.office_code = attributes[:'office_code']
244
343
  end
344
+
345
+ if attributes.key?(:'id')
346
+ self.id = attributes[:'id']
347
+ end
348
+
349
+ if attributes.key?(:'entry_status')
350
+ self.entry_status = attributes[:'entry_status']
351
+ end
352
+
353
+ if attributes.key?(:'reference_id')
354
+ self.reference_id = attributes[:'reference_id']
355
+ end
356
+
357
+ if attributes.key?(:'company_id')
358
+ self.company_id = attributes[:'company_id']
359
+ end
360
+
361
+ if attributes.key?(:'display_name')
362
+ self.display_name = attributes[:'display_name']
363
+ end
364
+
365
+ if attributes.key?(:'email')
366
+ self.email = attributes[:'email']
367
+ end
368
+
369
+ if attributes.key?(:'archived')
370
+ self.archived = attributes[:'archived']
371
+ end
372
+
373
+ if attributes.key?(:'ancestor_id')
374
+ self.ancestor_id = attributes[:'ancestor_id']
375
+ end
376
+
377
+ if attributes.key?(:'signature')
378
+ self.signature = attributes[:'signature']
379
+ end
380
+
381
+ if attributes.key?(:'signed_date')
382
+ self.signed_date = attributes[:'signed_date']
383
+ end
384
+
385
+ if attributes.key?(:'e_delivery_consented_at')
386
+ self.e_delivery_consented_at = attributes[:'e_delivery_consented_at']
387
+ end
388
+
389
+ if attributes.key?(:'created_at')
390
+ self.created_at = attributes[:'created_at']
391
+ end
392
+
393
+ if attributes.key?(:'updated_at')
394
+ self.updated_at = attributes[:'updated_at']
395
+ end
245
396
  end
246
397
 
247
398
  # Show invalid properties with the reasons. Usually used together with valid?
248
399
  # @return Array for valid properties with the reasons
249
400
  def list_invalid_properties
250
401
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
251
- invalid_properties = super
402
+ invalid_properties = Array.new
252
403
  invalid_properties
253
404
  end
254
405
 
@@ -256,7 +407,19 @@ module AvalaraSdk::A1099::V2
256
407
  # @return true if the model is valid
257
408
  def valid?
258
409
  warn '[DEPRECATED] the `valid?` method is obsolete'
259
- true && super
410
+ type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
411
+ return false unless type_validator.valid?(@type)
412
+ true
413
+ end
414
+
415
+ # Custom attribute writer method checking allowed values (enum).
416
+ # @param [Object] type Object to be assigned
417
+ def type=(type)
418
+ validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
419
+ unless validator.valid?(type)
420
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
421
+ end
422
+ @type = type
260
423
  end
261
424
 
262
425
  # Checks equality by comparing each attribute.
@@ -264,6 +427,7 @@ module AvalaraSdk::A1099::V2
264
427
  def ==(o)
265
428
  return true if self.equal?(o)
266
429
  self.class == o.class &&
430
+ type == o.type &&
267
431
  employee_first_name == o.employee_first_name &&
268
432
  employee_middle_name == o.employee_middle_name &&
269
433
  employee_last_name == o.employee_last_name &&
@@ -282,7 +446,20 @@ module AvalaraSdk::A1099::V2
282
446
  deductions == o.deductions &&
283
447
  additional_withheld == o.additional_withheld &&
284
448
  exempt_from_withholding == o.exempt_from_withholding &&
285
- office_code == o.office_code && super(o)
449
+ office_code == o.office_code &&
450
+ id == o.id &&
451
+ entry_status == o.entry_status &&
452
+ reference_id == o.reference_id &&
453
+ company_id == o.company_id &&
454
+ display_name == o.display_name &&
455
+ email == o.email &&
456
+ archived == o.archived &&
457
+ ancestor_id == o.ancestor_id &&
458
+ signature == o.signature &&
459
+ signed_date == o.signed_date &&
460
+ e_delivery_consented_at == o.e_delivery_consented_at &&
461
+ created_at == o.created_at &&
462
+ updated_at == o.updated_at
286
463
  end
287
464
 
288
465
  # @see the `==` method
@@ -294,7 +471,7 @@ module AvalaraSdk::A1099::V2
294
471
  # Calculates hash code according to all attributes.
295
472
  # @return [Integer] Hash code
296
473
  def hash
297
- [employee_first_name, employee_middle_name, employee_last_name, employee_name_suffix, tin_type, tin, address, city, state, zip, marital_status, last_name_differs, num_allowances, other_dependents, non_job_income, deductions, additional_withheld, exempt_from_withholding, office_code].hash
474
+ [type, employee_first_name, employee_middle_name, employee_last_name, employee_name_suffix, tin_type, tin, address, city, state, zip, marital_status, last_name_differs, num_allowances, other_dependents, non_job_income, deductions, additional_withheld, exempt_from_withholding, office_code, 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
298
475
  end
299
476
 
300
477
  # Builds the object from hash
@@ -302,7 +479,6 @@ module AvalaraSdk::A1099::V2
302
479
  # @return [Object] Returns the model itself
303
480
  def self.build_from_hash(attributes)
304
481
  return nil unless attributes.is_a?(Hash)
305
- super(attributes)
306
482
  attributes = attributes.transform_keys(&:to_sym)
307
483
  transformed_hash = {}
308
484
  openapi_types.each_pair do |key, type|
@@ -379,7 +555,7 @@ module AvalaraSdk::A1099::V2
379
555
  # Returns the object in the form of hash
380
556
  # @return [Hash] Returns the object in the form of hash
381
557
  def to_hash
382
- hash = super
558
+ hash = {}
383
559
  self.class.attribute_map.each_pair do |attr, param|
384
560
  value = self.send(attr)
385
561
  if value.nil?
@@ -0,0 +1,356 @@
1
+ =begin
2
+ #Avalara 1099 & W-9 API Definition
3
+
4
+ ### 🔐 Authentication Generate a **license key** from: *[Avalara Portal](https://www.avalara.com/us/en/signin.html) → 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 W8BenEFormMinimalRequest
14
+ # The form type (always \"w8bene\" for this model).
15
+ attr_accessor :type
16
+
17
+ # The email address of the individual associated with the form.
18
+ attr_accessor :email
19
+
20
+ # The name of the individual or entity associated with the form.
21
+ attr_accessor :name
22
+
23
+ # A reference number for the form.
24
+ attr_accessor :reference_number
25
+
26
+ # The ID of the associated company. Required when creating a form.
27
+ attr_accessor :company_id
28
+
29
+ # A reference identifier for the form.
30
+ attr_accessor :reference_id
31
+
32
+ class EnumAttributeValidator
33
+ attr_reader :datatype
34
+ attr_reader :allowable_values
35
+
36
+ def initialize(datatype, allowable_values)
37
+ @allowable_values = allowable_values.map do |value|
38
+ case datatype.to_s
39
+ when /Integer/i
40
+ value.to_i
41
+ when /Float/i
42
+ value.to_f
43
+ else
44
+ value
45
+ end
46
+ end
47
+ end
48
+
49
+ def valid?(value)
50
+ !value || allowable_values.include?(value)
51
+ end
52
+ end
53
+
54
+ # Attribute mapping from ruby-style variable name to JSON key.
55
+ def self.attribute_map
56
+ {
57
+ :'type' => :'type',
58
+ :'email' => :'email',
59
+ :'name' => :'name',
60
+ :'reference_number' => :'referenceNumber',
61
+ :'company_id' => :'companyId',
62
+ :'reference_id' => :'referenceId'
63
+ }
64
+ end
65
+
66
+ # Returns all the JSON keys this model knows about
67
+ def self.acceptable_attributes
68
+ attribute_map.values
69
+ end
70
+
71
+ # Attribute type mapping.
72
+ def self.openapi_types
73
+ {
74
+ :'type' => :'String',
75
+ :'email' => :'String',
76
+ :'name' => :'String',
77
+ :'reference_number' => :'String',
78
+ :'company_id' => :'String',
79
+ :'reference_id' => :'String'
80
+ }
81
+ end
82
+
83
+ # List of attributes with nullable: true
84
+ def self.openapi_nullable
85
+ Set.new([
86
+ :'reference_number',
87
+ :'reference_id'
88
+ ])
89
+ end
90
+
91
+ # List of class defined in allOf (OpenAPI v3)
92
+ def self.openapi_all_of
93
+ [
94
+ :'W9FormBaseMinimalRequest'
95
+ ]
96
+ end
97
+
98
+ # Initializes the object
99
+ # @param [Hash] attributes Model attributes in the form of hash
100
+ def initialize(attributes = {})
101
+ if (!attributes.is_a?(Hash))
102
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::W8BenEFormMinimalRequest` initialize method"
103
+ end
104
+
105
+ # check to see if the attribute exists and convert string to symbol for hash key
106
+ attributes = attributes.each_with_object({}) { |(k, v), h|
107
+ if (!self.class.attribute_map.key?(k.to_sym))
108
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::W8BenEFormMinimalRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
109
+ end
110
+ h[k.to_sym] = v
111
+ }
112
+
113
+ if attributes.key?(:'type')
114
+ self.type = attributes[:'type']
115
+ end
116
+
117
+ if attributes.key?(:'email')
118
+ self.email = attributes[:'email']
119
+ else
120
+ self.email = nil
121
+ end
122
+
123
+ if attributes.key?(:'name')
124
+ self.name = attributes[:'name']
125
+ else
126
+ self.name = nil
127
+ end
128
+
129
+ if attributes.key?(:'reference_number')
130
+ self.reference_number = attributes[:'reference_number']
131
+ end
132
+
133
+ if attributes.key?(:'company_id')
134
+ self.company_id = attributes[:'company_id']
135
+ end
136
+
137
+ if attributes.key?(:'reference_id')
138
+ self.reference_id = attributes[:'reference_id']
139
+ end
140
+ end
141
+
142
+ # Show invalid properties with the reasons. Usually used together with valid?
143
+ # @return Array for valid properties with the reasons
144
+ def list_invalid_properties
145
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
146
+ invalid_properties = Array.new
147
+ if @email.nil?
148
+ invalid_properties.push('invalid value for "email", email cannot be nil.')
149
+ end
150
+
151
+ if @email.to_s.length < 1
152
+ invalid_properties.push('invalid value for "email", the character length must be great than or equal to 1.')
153
+ end
154
+
155
+ if @name.nil?
156
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
157
+ end
158
+
159
+ if @name.to_s.length < 1
160
+ invalid_properties.push('invalid value for "name", the character length must be great than or equal to 1.')
161
+ end
162
+
163
+ invalid_properties
164
+ end
165
+
166
+ # Check to see if the all the properties in the model are valid
167
+ # @return true if the model is valid
168
+ def valid?
169
+ warn '[DEPRECATED] the `valid?` method is obsolete'
170
+ type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
171
+ return false unless type_validator.valid?(@type)
172
+ return false if @email.nil?
173
+ return false if @email.to_s.length < 1
174
+ return false if @name.nil?
175
+ return false if @name.to_s.length < 1
176
+ true
177
+ end
178
+
179
+ # Custom attribute writer method checking allowed values (enum).
180
+ # @param [Object] type Object to be assigned
181
+ def type=(type)
182
+ validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
183
+ unless validator.valid?(type)
184
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
185
+ end
186
+ @type = type
187
+ end
188
+
189
+ # Custom attribute writer method with validation
190
+ # @param [Object] email Value to be assigned
191
+ def email=(email)
192
+ if email.nil?
193
+ fail ArgumentError, 'email cannot be nil'
194
+ end
195
+
196
+ if email.to_s.length < 1
197
+ fail ArgumentError, 'invalid value for "email", the character length must be great than or equal to 1.'
198
+ end
199
+
200
+ @email = email
201
+ end
202
+
203
+ # Custom attribute writer method with validation
204
+ # @param [Object] name Value to be assigned
205
+ def name=(name)
206
+ if name.nil?
207
+ fail ArgumentError, 'name cannot be nil'
208
+ end
209
+
210
+ if name.to_s.length < 1
211
+ fail ArgumentError, 'invalid value for "name", the character length must be great than or equal to 1.'
212
+ end
213
+
214
+ @name = name
215
+ end
216
+
217
+ # Checks equality by comparing each attribute.
218
+ # @param [Object] Object to be compared
219
+ def ==(o)
220
+ return true if self.equal?(o)
221
+ self.class == o.class &&
222
+ type == o.type &&
223
+ email == o.email &&
224
+ name == o.name &&
225
+ reference_number == o.reference_number &&
226
+ company_id == o.company_id &&
227
+ reference_id == o.reference_id
228
+ end
229
+
230
+ # @see the `==` method
231
+ # @param [Object] Object to be compared
232
+ def eql?(o)
233
+ self == o
234
+ end
235
+
236
+ # Calculates hash code according to all attributes.
237
+ # @return [Integer] Hash code
238
+ def hash
239
+ [type, email, name, reference_number, company_id, reference_id].hash
240
+ end
241
+
242
+ # Builds the object from hash
243
+ # @param [Hash] attributes Model attributes in the form of hash
244
+ # @return [Object] Returns the model itself
245
+ def self.build_from_hash(attributes)
246
+ return nil unless attributes.is_a?(Hash)
247
+ attributes = attributes.transform_keys(&:to_sym)
248
+ transformed_hash = {}
249
+ openapi_types.each_pair do |key, type|
250
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
251
+ transformed_hash["#{key}"] = nil
252
+ elsif type =~ /\AArray<(.*)>/i
253
+ # check to ensure the input is an array given that the attribute
254
+ # is documented as an array but the input is not
255
+ if attributes[attribute_map[key]].is_a?(Array)
256
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
257
+ end
258
+ elsif !attributes[attribute_map[key]].nil?
259
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
260
+ end
261
+ end
262
+ new(transformed_hash)
263
+ end
264
+
265
+ # Deserializes the data based on type
266
+ # @param string type Data type
267
+ # @param string value Value to be deserialized
268
+ # @return [Object] Deserialized data
269
+ def self._deserialize(type, value)
270
+ case type.to_sym
271
+ when :Time
272
+ Time.parse(value)
273
+ when :Date
274
+ Date.parse(value)
275
+ when :String
276
+ value.to_s
277
+ when :Integer
278
+ value.to_i
279
+ when :Float
280
+ value.to_f
281
+ when :Boolean
282
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
283
+ true
284
+ else
285
+ false
286
+ end
287
+ when :Object
288
+ # generic object (usually a Hash), return directly
289
+ value
290
+ when /\AArray<(?<inner_type>.+)>\z/
291
+ inner_type = Regexp.last_match[:inner_type]
292
+ value.map { |v| _deserialize(inner_type, v) }
293
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
294
+ k_type = Regexp.last_match[:k_type]
295
+ v_type = Regexp.last_match[:v_type]
296
+ {}.tap do |hash|
297
+ value.each do |k, v|
298
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
299
+ end
300
+ end
301
+ else # model
302
+ # models (e.g. Pet) or oneOf
303
+ klass = AvalaraSdk::A1099::V2.const_get(type)
304
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
305
+ end
306
+ end
307
+
308
+ # Returns the string representation of the object
309
+ # @return [String] String presentation of the object
310
+ def to_s
311
+ to_hash.to_s
312
+ end
313
+
314
+ # to_body is an alias to to_hash (backward compatibility)
315
+ # @return [Hash] Returns the object in the form of hash
316
+ def to_body
317
+ to_hash
318
+ end
319
+
320
+ # Returns the object in the form of hash
321
+ # @return [Hash] Returns the object in the form of hash
322
+ def to_hash
323
+ hash = {}
324
+ self.class.attribute_map.each_pair do |attr, param|
325
+ value = self.send(attr)
326
+ if value.nil?
327
+ is_nullable = self.class.openapi_nullable.include?(attr)
328
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
329
+ end
330
+
331
+ hash[param] = _to_hash(value)
332
+ end
333
+ hash
334
+ end
335
+
336
+ # Outputs non-array value in the form of hash
337
+ # For object, use to_hash. Otherwise, just return the value
338
+ # @param [Object] value Any valid value
339
+ # @return [Hash] Returns the value in the form of hash
340
+ def _to_hash(value)
341
+ if value.is_a?(Array)
342
+ value.compact.map { |v| _to_hash(v) }
343
+ elsif value.is_a?(Hash)
344
+ {}.tap do |hash|
345
+ value.each { |k, v| hash[k] = _to_hash(v) }
346
+ end
347
+ elsif value.respond_to? :to_hash
348
+ value.to_hash
349
+ else
350
+ value
351
+ end
352
+ end
353
+
354
+ end
355
+
356
+ end