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
@@ -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 W9FormMinimalRequest
14
+ # The form type (always \"w9\" 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
+ # The account number associated with the form.
24
+ attr_accessor :account_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
+ :'account_number' => :'accountNumber',
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
+ :'account_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
+ :'account_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::W9FormMinimalRequest` 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::W9FormMinimalRequest`. 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?(:'account_number')
130
+ self.account_number = attributes[:'account_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
+ account_number == o.account_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, account_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
@@ -20,7 +20,7 @@ module AvalaraSdk::A1099::V2
20
20
  # The name of the business associated with the form.
21
21
  attr_accessor :business_name
22
22
 
23
- # The classification of the business.
23
+ # The classification of the business. Available values: - Individual: Individual/sole proprietor - C Corporation: C Corporation - S Corporation: S Corporation - Partnership: Partnership - Trust/estate: Trust/estate - LLC-C: Limited liability company (C Corporation) - LLC-S: Limited liability company (S Corporation) - LLC-P: Limited liability company (Partnership) - Other: Other (requires BusinessOther field to be populated)
24
24
  attr_accessor :business_classification
25
25
 
26
26
  # The classification description when \"businessClassification\" is \"Other\".
@@ -56,7 +56,7 @@ module AvalaraSdk::A1099::V2
56
56
  # The account number associated with the form.
57
57
  attr_accessor :account_number
58
58
 
59
- # The type of TIN provided.
59
+ # Tax Identification Number (TIN) type. SSN/ITIN (for individuals) and EIN (for businesses).
60
60
  attr_accessor :tin_type
61
61
 
62
62
  # The taxpayer identification number (TIN).
@@ -68,7 +68,13 @@ module AvalaraSdk::A1099::V2
68
68
  # Indicates whether the individual or entity should be issued a 1099 form.
69
69
  attr_accessor :is1099able
70
70
 
71
- # The ID of the associated company.
71
+ # The date when e-delivery was consented.
72
+ attr_accessor :e_delivery_consented_at
73
+
74
+ # The signature of the form.
75
+ attr_accessor :signature
76
+
77
+ # The ID of the associated company. Required when creating a form.
72
78
  attr_accessor :company_id
73
79
 
74
80
  # A reference identifier for the form.
@@ -77,12 +83,6 @@ module AvalaraSdk::A1099::V2
77
83
  # The email address of the individual associated with the form.
78
84
  attr_accessor :email
79
85
 
80
- # The date when e-delivery was consented.
81
- attr_accessor :e_delivery_consented_at
82
-
83
- # The signature of the form.
84
- attr_accessor :signature
85
-
86
86
  class EnumAttributeValidator
87
87
  attr_reader :datatype
88
88
  attr_reader :allowable_values
@@ -127,11 +127,11 @@ module AvalaraSdk::A1099::V2
127
127
  :'tin' => :'tin',
128
128
  :'backup_withholding' => :'backupWithholding',
129
129
  :'is1099able' => :'is1099able',
130
+ :'e_delivery_consented_at' => :'eDeliveryConsentedAt',
131
+ :'signature' => :'signature',
130
132
  :'company_id' => :'companyId',
131
133
  :'reference_id' => :'referenceId',
132
- :'email' => :'email',
133
- :'e_delivery_consented_at' => :'eDeliveryConsentedAt',
134
- :'signature' => :'signature'
134
+ :'email' => :'email'
135
135
  }
136
136
  end
137
137
 
@@ -162,11 +162,11 @@ module AvalaraSdk::A1099::V2
162
162
  :'tin' => :'String',
163
163
  :'backup_withholding' => :'Boolean',
164
164
  :'is1099able' => :'Boolean',
165
+ :'e_delivery_consented_at' => :'Time',
166
+ :'signature' => :'String',
165
167
  :'company_id' => :'String',
166
168
  :'reference_id' => :'String',
167
- :'email' => :'String',
168
- :'e_delivery_consented_at' => :'Time',
169
- :'signature' => :'String'
169
+ :'email' => :'String'
170
170
  }
171
171
  end
172
172
 
@@ -182,10 +182,10 @@ module AvalaraSdk::A1099::V2
182
182
  :'state',
183
183
  :'zip',
184
184
  :'account_number',
185
- :'reference_id',
186
- :'email',
187
185
  :'e_delivery_consented_at',
188
- :'signature'
186
+ :'signature',
187
+ :'reference_id',
188
+ :'email'
189
189
  ])
190
190
  end
191
191
 
@@ -217,6 +217,8 @@ module AvalaraSdk::A1099::V2
217
217
 
218
218
  if attributes.key?(:'name')
219
219
  self.name = attributes[:'name']
220
+ else
221
+ self.name = nil
220
222
  end
221
223
 
222
224
  if attributes.key?(:'business_name')
@@ -225,6 +227,8 @@ module AvalaraSdk::A1099::V2
225
227
 
226
228
  if attributes.key?(:'business_classification')
227
229
  self.business_classification = attributes[:'business_classification']
230
+ else
231
+ self.business_classification = nil
228
232
  end
229
233
 
230
234
  if attributes.key?(:'business_other')
@@ -249,6 +253,8 @@ module AvalaraSdk::A1099::V2
249
253
 
250
254
  if attributes.key?(:'address')
251
255
  self.address = attributes[:'address']
256
+ else
257
+ self.address = nil
252
258
  end
253
259
 
254
260
  if attributes.key?(:'foreign_address')
@@ -257,14 +263,20 @@ module AvalaraSdk::A1099::V2
257
263
 
258
264
  if attributes.key?(:'city')
259
265
  self.city = attributes[:'city']
266
+ else
267
+ self.city = nil
260
268
  end
261
269
 
262
270
  if attributes.key?(:'state')
263
271
  self.state = attributes[:'state']
272
+ else
273
+ self.state = nil
264
274
  end
265
275
 
266
276
  if attributes.key?(:'zip')
267
277
  self.zip = attributes[:'zip']
278
+ else
279
+ self.zip = nil
268
280
  end
269
281
 
270
282
  if attributes.key?(:'account_number')
@@ -273,10 +285,14 @@ module AvalaraSdk::A1099::V2
273
285
 
274
286
  if attributes.key?(:'tin_type')
275
287
  self.tin_type = attributes[:'tin_type']
288
+ else
289
+ self.tin_type = nil
276
290
  end
277
291
 
278
292
  if attributes.key?(:'tin')
279
293
  self.tin = attributes[:'tin']
294
+ else
295
+ self.tin = nil
280
296
  end
281
297
 
282
298
  if attributes.key?(:'backup_withholding')
@@ -287,6 +303,14 @@ module AvalaraSdk::A1099::V2
287
303
  self.is1099able = attributes[:'is1099able']
288
304
  end
289
305
 
306
+ if attributes.key?(:'e_delivery_consented_at')
307
+ self.e_delivery_consented_at = attributes[:'e_delivery_consented_at']
308
+ end
309
+
310
+ if attributes.key?(:'signature')
311
+ self.signature = attributes[:'signature']
312
+ end
313
+
290
314
  if attributes.key?(:'company_id')
291
315
  self.company_id = attributes[:'company_id']
292
316
  end
@@ -298,14 +322,6 @@ module AvalaraSdk::A1099::V2
298
322
  if attributes.key?(:'email')
299
323
  self.email = attributes[:'email']
300
324
  end
301
-
302
- if attributes.key?(:'e_delivery_consented_at')
303
- self.e_delivery_consented_at = attributes[:'e_delivery_consented_at']
304
- end
305
-
306
- if attributes.key?(:'signature')
307
- self.signature = attributes[:'signature']
308
- end
309
325
  end
310
326
 
311
327
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -313,6 +329,26 @@ module AvalaraSdk::A1099::V2
313
329
  def list_invalid_properties
314
330
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
315
331
  invalid_properties = Array.new
332
+ if @name.nil?
333
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
334
+ end
335
+
336
+ if @business_classification.nil?
337
+ invalid_properties.push('invalid value for "business_classification", business_classification cannot be nil.')
338
+ end
339
+
340
+ if @address.nil?
341
+ invalid_properties.push('invalid value for "address", address cannot be nil.')
342
+ end
343
+
344
+ if @tin_type.nil?
345
+ invalid_properties.push('invalid value for "tin_type", tin_type cannot be nil.')
346
+ end
347
+
348
+ if @tin.nil?
349
+ invalid_properties.push('invalid value for "tin", tin cannot be nil.')
350
+ end
351
+
316
352
  invalid_properties
317
353
  end
318
354
 
@@ -322,6 +358,11 @@ module AvalaraSdk::A1099::V2
322
358
  warn '[DEPRECATED] the `valid?` method is obsolete'
323
359
  type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
324
360
  return false unless type_validator.valid?(@type)
361
+ return false if @name.nil?
362
+ return false if @business_classification.nil?
363
+ return false if @address.nil?
364
+ return false if @tin_type.nil?
365
+ return false if @tin.nil?
325
366
  true
326
367
  end
327
368
 
@@ -359,11 +400,11 @@ module AvalaraSdk::A1099::V2
359
400
  tin == o.tin &&
360
401
  backup_withholding == o.backup_withholding &&
361
402
  is1099able == o.is1099able &&
403
+ e_delivery_consented_at == o.e_delivery_consented_at &&
404
+ signature == o.signature &&
362
405
  company_id == o.company_id &&
363
406
  reference_id == o.reference_id &&
364
- email == o.email &&
365
- e_delivery_consented_at == o.e_delivery_consented_at &&
366
- signature == o.signature
407
+ email == o.email
367
408
  end
368
409
 
369
410
  # @see the `==` method
@@ -375,7 +416,7 @@ module AvalaraSdk::A1099::V2
375
416
  # Calculates hash code according to all attributes.
376
417
  # @return [Integer] Hash code
377
418
  def hash
378
- [type, name, business_name, business_classification, business_other, foreign_partner_owner_or_beneficiary, exempt_payee_code, exempt_fatca_code, foreign_country_indicator, address, foreign_address, city, state, zip, account_number, tin_type, tin, backup_withholding, is1099able, company_id, reference_id, email, e_delivery_consented_at, signature].hash
419
+ [type, name, business_name, business_classification, business_other, foreign_partner_owner_or_beneficiary, exempt_payee_code, exempt_fatca_code, foreign_country_indicator, address, foreign_address, city, state, zip, account_number, tin_type, tin, backup_withholding, is1099able, e_delivery_consented_at, signature, company_id, reference_id, email].hash
379
420
  end
380
421
 
381
422
  # Builds the object from hash