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
@@ -1,530 +0,0 @@
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 FormSingleRequestBase
14
- attr_accessor :type
15
-
16
- # Issuer ID
17
- attr_accessor :issuer_id
18
-
19
- # Reference ID
20
- attr_accessor :reference_id
21
-
22
- # Recipient Tax ID Number
23
- attr_accessor :recipient_tin
24
-
25
- # Recipient name
26
- attr_accessor :recipient_name
27
-
28
- # Type of TIN (Tax ID Number). Will be one of: * SSN * EIN * ITIN * ATIN
29
- attr_accessor :tin_type
30
-
31
- # Recipient second name
32
- attr_accessor :recipient_second_name
33
-
34
- # Address
35
- attr_accessor :address
36
-
37
- # Address line 2
38
- attr_accessor :address2
39
-
40
- # City
41
- attr_accessor :city
42
-
43
- # US state. Required if CountryCode is \"US\".
44
- attr_accessor :state
45
-
46
- # Zip/postal code
47
- attr_accessor :zip
48
-
49
- # Recipient email address
50
- attr_accessor :email
51
-
52
- # Account number
53
- attr_accessor :account_number
54
-
55
- # Office code
56
- attr_accessor :office_code
57
-
58
- # Foreign province
59
- attr_accessor :non_us_province
60
-
61
- # Country code, as defined at https://www.irs.gov/e-file-providers/country-codes
62
- attr_accessor :country_code
63
-
64
- # Boolean indicating that federal e-filing should be scheduled for this form
65
- attr_accessor :federal_e_file
66
-
67
- # Boolean indicating that postal mailing to the recipient should be scheduled for this form
68
- attr_accessor :postal_mail
69
-
70
- # Boolean indicating that state e-filing should be scheduled for this form
71
- attr_accessor :state_e_file
72
-
73
- # Boolean indicating that TIN Matching should be scheduled for this form
74
- attr_accessor :tin_match
75
-
76
- # Indicates whether the recipient has no TIN
77
- attr_accessor :no_tin
78
-
79
- # Second TIN notice in three years
80
- attr_accessor :second_tin_notice
81
-
82
- # Fatca filing requirement
83
- attr_accessor :fatca_filing_requirement
84
-
85
- # Boolean indicating that address verification should be scheduled for this form
86
- attr_accessor :address_verification
87
-
88
- # State and local withholding information
89
- attr_accessor :state_and_local_withholding
90
-
91
- class EnumAttributeValidator
92
- attr_reader :datatype
93
- attr_reader :allowable_values
94
-
95
- def initialize(datatype, allowable_values)
96
- @allowable_values = allowable_values.map do |value|
97
- case datatype.to_s
98
- when /Integer/i
99
- value.to_i
100
- when /Float/i
101
- value.to_f
102
- else
103
- value
104
- end
105
- end
106
- end
107
-
108
- def valid?(value)
109
- !value || allowable_values.include?(value)
110
- end
111
- end
112
-
113
- # Attribute mapping from ruby-style variable name to JSON key.
114
- def self.attribute_map
115
- {
116
- :'type' => :'type',
117
- :'issuer_id' => :'issuerId',
118
- :'reference_id' => :'referenceId',
119
- :'recipient_tin' => :'recipientTin',
120
- :'recipient_name' => :'recipientName',
121
- :'tin_type' => :'tinType',
122
- :'recipient_second_name' => :'recipientSecondName',
123
- :'address' => :'address',
124
- :'address2' => :'address2',
125
- :'city' => :'city',
126
- :'state' => :'state',
127
- :'zip' => :'zip',
128
- :'email' => :'email',
129
- :'account_number' => :'accountNumber',
130
- :'office_code' => :'officeCode',
131
- :'non_us_province' => :'nonUsProvince',
132
- :'country_code' => :'countryCode',
133
- :'federal_e_file' => :'federalEFile',
134
- :'postal_mail' => :'postalMail',
135
- :'state_e_file' => :'stateEFile',
136
- :'tin_match' => :'tinMatch',
137
- :'no_tin' => :'noTin',
138
- :'second_tin_notice' => :'secondTinNotice',
139
- :'fatca_filing_requirement' => :'fatcaFilingRequirement',
140
- :'address_verification' => :'addressVerification',
141
- :'state_and_local_withholding' => :'stateAndLocalWithholding'
142
- }
143
- end
144
-
145
- # Returns all the JSON keys this model knows about
146
- def self.acceptable_attributes
147
- attribute_map.values
148
- end
149
-
150
- # Attribute type mapping.
151
- def self.openapi_types
152
- {
153
- :'type' => :'String',
154
- :'issuer_id' => :'String',
155
- :'reference_id' => :'String',
156
- :'recipient_tin' => :'String',
157
- :'recipient_name' => :'String',
158
- :'tin_type' => :'String',
159
- :'recipient_second_name' => :'String',
160
- :'address' => :'String',
161
- :'address2' => :'String',
162
- :'city' => :'String',
163
- :'state' => :'String',
164
- :'zip' => :'String',
165
- :'email' => :'String',
166
- :'account_number' => :'String',
167
- :'office_code' => :'String',
168
- :'non_us_province' => :'String',
169
- :'country_code' => :'String',
170
- :'federal_e_file' => :'Boolean',
171
- :'postal_mail' => :'Boolean',
172
- :'state_e_file' => :'Boolean',
173
- :'tin_match' => :'Boolean',
174
- :'no_tin' => :'Boolean',
175
- :'second_tin_notice' => :'Boolean',
176
- :'fatca_filing_requirement' => :'Boolean',
177
- :'address_verification' => :'Boolean',
178
- :'state_and_local_withholding' => :'StateAndLocalWithholdingRequest'
179
- }
180
- end
181
-
182
- # List of attributes with nullable: true
183
- def self.openapi_nullable
184
- Set.new([
185
- :'issuer_id',
186
- :'reference_id',
187
- :'recipient_tin',
188
- :'recipient_name',
189
- :'recipient_second_name',
190
- :'address',
191
- :'address2',
192
- :'city',
193
- :'state',
194
- :'zip',
195
- :'email',
196
- :'account_number',
197
- :'office_code',
198
- :'non_us_province',
199
- :'country_code',
200
- :'second_tin_notice',
201
- :'state_and_local_withholding'
202
- ])
203
- end
204
-
205
- # List of class defined in allOf (OpenAPI v3)
206
- def self.openapi_all_of
207
- [
208
- :'FormRequestBase'
209
- ]
210
- end
211
-
212
- # Initializes the object
213
- # @param [Hash] attributes Model attributes in the form of hash
214
- def initialize(attributes = {})
215
- if (!attributes.is_a?(Hash))
216
- fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::FormSingleRequestBase` initialize method"
217
- end
218
-
219
- # check to see if the attribute exists and convert string to symbol for hash key
220
- attributes = attributes.each_with_object({}) { |(k, v), h|
221
- if (!self.class.attribute_map.key?(k.to_sym))
222
- fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::FormSingleRequestBase`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
223
- end
224
- h[k.to_sym] = v
225
- }
226
-
227
- if attributes.key?(:'type')
228
- self.type = attributes[:'type']
229
- end
230
-
231
- if attributes.key?(:'issuer_id')
232
- self.issuer_id = attributes[:'issuer_id']
233
- end
234
-
235
- if attributes.key?(:'reference_id')
236
- self.reference_id = attributes[:'reference_id']
237
- end
238
-
239
- if attributes.key?(:'recipient_tin')
240
- self.recipient_tin = attributes[:'recipient_tin']
241
- end
242
-
243
- if attributes.key?(:'recipient_name')
244
- self.recipient_name = attributes[:'recipient_name']
245
- end
246
-
247
- if attributes.key?(:'tin_type')
248
- self.tin_type = attributes[:'tin_type']
249
- end
250
-
251
- if attributes.key?(:'recipient_second_name')
252
- self.recipient_second_name = attributes[:'recipient_second_name']
253
- end
254
-
255
- if attributes.key?(:'address')
256
- self.address = attributes[:'address']
257
- end
258
-
259
- if attributes.key?(:'address2')
260
- self.address2 = attributes[:'address2']
261
- end
262
-
263
- if attributes.key?(:'city')
264
- self.city = attributes[:'city']
265
- end
266
-
267
- if attributes.key?(:'state')
268
- self.state = attributes[:'state']
269
- end
270
-
271
- if attributes.key?(:'zip')
272
- self.zip = attributes[:'zip']
273
- end
274
-
275
- if attributes.key?(:'email')
276
- self.email = attributes[:'email']
277
- end
278
-
279
- if attributes.key?(:'account_number')
280
- self.account_number = attributes[:'account_number']
281
- end
282
-
283
- if attributes.key?(:'office_code')
284
- self.office_code = attributes[:'office_code']
285
- end
286
-
287
- if attributes.key?(:'non_us_province')
288
- self.non_us_province = attributes[:'non_us_province']
289
- end
290
-
291
- if attributes.key?(:'country_code')
292
- self.country_code = attributes[:'country_code']
293
- end
294
-
295
- if attributes.key?(:'federal_e_file')
296
- self.federal_e_file = attributes[:'federal_e_file']
297
- end
298
-
299
- if attributes.key?(:'postal_mail')
300
- self.postal_mail = attributes[:'postal_mail']
301
- end
302
-
303
- if attributes.key?(:'state_e_file')
304
- self.state_e_file = attributes[:'state_e_file']
305
- end
306
-
307
- if attributes.key?(:'tin_match')
308
- self.tin_match = attributes[:'tin_match']
309
- end
310
-
311
- if attributes.key?(:'no_tin')
312
- self.no_tin = attributes[:'no_tin']
313
- end
314
-
315
- if attributes.key?(:'second_tin_notice')
316
- self.second_tin_notice = attributes[:'second_tin_notice']
317
- end
318
-
319
- if attributes.key?(:'fatca_filing_requirement')
320
- self.fatca_filing_requirement = attributes[:'fatca_filing_requirement']
321
- end
322
-
323
- if attributes.key?(:'address_verification')
324
- self.address_verification = attributes[:'address_verification']
325
- end
326
-
327
- if attributes.key?(:'state_and_local_withholding')
328
- self.state_and_local_withholding = attributes[:'state_and_local_withholding']
329
- end
330
- end
331
-
332
- # Show invalid properties with the reasons. Usually used together with valid?
333
- # @return Array for valid properties with the reasons
334
- def list_invalid_properties
335
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
336
- invalid_properties = Array.new
337
- invalid_properties
338
- end
339
-
340
- # Check to see if the all the properties in the model are valid
341
- # @return true if the model is valid
342
- def valid?
343
- warn '[DEPRECATED] the `valid?` method is obsolete'
344
- type_validator = EnumAttributeValidator.new('String', ["1099-NEC", "1099-MISC", "1099-DIV", "1099-R", "1099-K", "1095-B", "1042-S", "1095-C", "1099-INT"])
345
- return false unless type_validator.valid?(@type)
346
- tin_type_validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
347
- return false unless tin_type_validator.valid?(@tin_type)
348
- true
349
- end
350
-
351
- # Custom attribute writer method checking allowed values (enum).
352
- # @param [Object] type Object to be assigned
353
- def type=(type)
354
- validator = EnumAttributeValidator.new('String', ["1099-NEC", "1099-MISC", "1099-DIV", "1099-R", "1099-K", "1095-B", "1042-S", "1095-C", "1099-INT"])
355
- unless validator.valid?(type)
356
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
357
- end
358
- @type = type
359
- end
360
-
361
- # Custom attribute writer method checking allowed values (enum).
362
- # @param [Object] tin_type Object to be assigned
363
- def tin_type=(tin_type)
364
- validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
365
- unless validator.valid?(tin_type)
366
- fail ArgumentError, "invalid value for \"tin_type\", must be one of #{validator.allowable_values}."
367
- end
368
- @tin_type = tin_type
369
- end
370
-
371
- # Checks equality by comparing each attribute.
372
- # @param [Object] Object to be compared
373
- def ==(o)
374
- return true if self.equal?(o)
375
- self.class == o.class &&
376
- type == o.type &&
377
- issuer_id == o.issuer_id &&
378
- reference_id == o.reference_id &&
379
- recipient_tin == o.recipient_tin &&
380
- recipient_name == o.recipient_name &&
381
- tin_type == o.tin_type &&
382
- recipient_second_name == o.recipient_second_name &&
383
- address == o.address &&
384
- address2 == o.address2 &&
385
- city == o.city &&
386
- state == o.state &&
387
- zip == o.zip &&
388
- email == o.email &&
389
- account_number == o.account_number &&
390
- office_code == o.office_code &&
391
- non_us_province == o.non_us_province &&
392
- country_code == o.country_code &&
393
- federal_e_file == o.federal_e_file &&
394
- postal_mail == o.postal_mail &&
395
- state_e_file == o.state_e_file &&
396
- tin_match == o.tin_match &&
397
- no_tin == o.no_tin &&
398
- second_tin_notice == o.second_tin_notice &&
399
- fatca_filing_requirement == o.fatca_filing_requirement &&
400
- address_verification == o.address_verification &&
401
- state_and_local_withholding == o.state_and_local_withholding
402
- end
403
-
404
- # @see the `==` method
405
- # @param [Object] Object to be compared
406
- def eql?(o)
407
- self == o
408
- end
409
-
410
- # Calculates hash code according to all attributes.
411
- # @return [Integer] Hash code
412
- def hash
413
- [type, issuer_id, reference_id, recipient_tin, recipient_name, tin_type, recipient_second_name, address, address2, city, state, zip, email, account_number, office_code, non_us_province, country_code, federal_e_file, postal_mail, state_e_file, tin_match, no_tin, second_tin_notice, fatca_filing_requirement, address_verification, state_and_local_withholding].hash
414
- end
415
-
416
- # Builds the object from hash
417
- # @param [Hash] attributes Model attributes in the form of hash
418
- # @return [Object] Returns the model itself
419
- def self.build_from_hash(attributes)
420
- return nil unless attributes.is_a?(Hash)
421
- attributes = attributes.transform_keys(&:to_sym)
422
- transformed_hash = {}
423
- openapi_types.each_pair do |key, type|
424
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
425
- transformed_hash["#{key}"] = nil
426
- elsif type =~ /\AArray<(.*)>/i
427
- # check to ensure the input is an array given that the attribute
428
- # is documented as an array but the input is not
429
- if attributes[attribute_map[key]].is_a?(Array)
430
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
431
- end
432
- elsif !attributes[attribute_map[key]].nil?
433
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
434
- end
435
- end
436
- new(transformed_hash)
437
- end
438
-
439
- # Deserializes the data based on type
440
- # @param string type Data type
441
- # @param string value Value to be deserialized
442
- # @return [Object] Deserialized data
443
- def self._deserialize(type, value)
444
- case type.to_sym
445
- when :Time
446
- Time.parse(value)
447
- when :Date
448
- Date.parse(value)
449
- when :String
450
- value.to_s
451
- when :Integer
452
- value.to_i
453
- when :Float
454
- value.to_f
455
- when :Boolean
456
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
457
- true
458
- else
459
- false
460
- end
461
- when :Object
462
- # generic object (usually a Hash), return directly
463
- value
464
- when /\AArray<(?<inner_type>.+)>\z/
465
- inner_type = Regexp.last_match[:inner_type]
466
- value.map { |v| _deserialize(inner_type, v) }
467
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
468
- k_type = Regexp.last_match[:k_type]
469
- v_type = Regexp.last_match[:v_type]
470
- {}.tap do |hash|
471
- value.each do |k, v|
472
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
473
- end
474
- end
475
- else # model
476
- # models (e.g. Pet) or oneOf
477
- klass = AvalaraSdk::A1099::V2.const_get(type)
478
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
479
- end
480
- end
481
-
482
- # Returns the string representation of the object
483
- # @return [String] String presentation of the object
484
- def to_s
485
- to_hash.to_s
486
- end
487
-
488
- # to_body is an alias to to_hash (backward compatibility)
489
- # @return [Hash] Returns the object in the form of hash
490
- def to_body
491
- to_hash
492
- end
493
-
494
- # Returns the object in the form of hash
495
- # @return [Hash] Returns the object in the form of hash
496
- def to_hash
497
- hash = {}
498
- self.class.attribute_map.each_pair do |attr, param|
499
- value = self.send(attr)
500
- if value.nil?
501
- is_nullable = self.class.openapi_nullable.include?(attr)
502
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
503
- end
504
-
505
- hash[param] = _to_hash(value)
506
- end
507
- hash
508
- end
509
-
510
- # Outputs non-array value in the form of hash
511
- # For object, use to_hash. Otherwise, just return the value
512
- # @param [Object] value Any valid value
513
- # @return [Hash] Returns the value in the form of hash
514
- def _to_hash(value)
515
- if value.is_a?(Array)
516
- value.compact.map { |v| _to_hash(v) }
517
- elsif value.is_a?(Hash)
518
- {}.tap do |hash|
519
- value.each { |k, v| hash[k] = _to_hash(v) }
520
- end
521
- elsif value.respond_to? :to_hash
522
- value.to_hash
523
- else
524
- value
525
- end
526
- end
527
-
528
- end
529
-
530
- end