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,747 +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 Form1099DivListItem
14
- # Total ordinary dividends
15
- attr_accessor :total_ordinary_dividends
16
-
17
- # Qualified dividends
18
- attr_accessor :qualified_dividends
19
-
20
- # Total capital gain distributions
21
- attr_accessor :total_capital_gain_distributions
22
-
23
- # Unrecaptured Section 1250 gain
24
- attr_accessor :unrecaptured_section1250_gain
25
-
26
- # Section 1202 gain
27
- attr_accessor :section1202_gain
28
-
29
- # Collectibles (28%) gain
30
- attr_accessor :collectibles_gain
31
-
32
- # Section 897 ordinary dividends
33
- attr_accessor :section897_ordinary_dividends
34
-
35
- # Section 897 capital gain
36
- attr_accessor :section897_capital_gain
37
-
38
- # Nondividend distributions
39
- attr_accessor :nondividend_distributions
40
-
41
- # Federal income tax withheld
42
- attr_accessor :federal_income_tax_withheld
43
-
44
- # Section 199A dividends
45
- attr_accessor :section199_a_dividends
46
-
47
- # Investment expenses
48
- attr_accessor :investment_expenses
49
-
50
- # Foreign tax paid
51
- attr_accessor :foreign_tax_paid
52
-
53
- # Foreign country or U.S. possession
54
- attr_accessor :foreign_country_or_us_possession
55
-
56
- # Cash liquidation distributions
57
- attr_accessor :cash_liquidation_distributions
58
-
59
- # Noncash liquidation distributions
60
- attr_accessor :noncash_liquidation_distributions
61
-
62
- # Exempt-interest dividends
63
- attr_accessor :exempt_interest_dividends
64
-
65
- # Specified private activity bond interest dividends
66
- attr_accessor :specified_private_activity_bond_interest_dividends
67
-
68
- # FATCA filing requirement
69
- attr_accessor :fatca_filing_requirement
70
-
71
- # Issuer Reference ID. One of `issuerReferenceId` or `issuerTin` is required.
72
- attr_accessor :issuer_reference_id
73
-
74
- # Issuer TIN. One of `issuerReferenceId` or `issuerTin` is required.
75
- attr_accessor :issuer_tin
76
-
77
- # Tax year
78
- attr_accessor :tax_year
79
-
80
- # Issuer ID
81
- attr_accessor :issuer_id
82
-
83
- # Reference ID
84
- attr_accessor :reference_id
85
-
86
- # Recipient Tax ID Number
87
- attr_accessor :recipient_tin
88
-
89
- # Recipient name
90
- attr_accessor :recipient_name
91
-
92
- # Type of TIN (Tax ID Number). Will be one of: * SSN * EIN * ITIN * ATIN
93
- attr_accessor :tin_type
94
-
95
- # Recipient second name
96
- attr_accessor :recipient_second_name
97
-
98
- # Address
99
- attr_accessor :address
100
-
101
- # Address line 2
102
- attr_accessor :address2
103
-
104
- # City
105
- attr_accessor :city
106
-
107
- # US state. Required if CountryCode is \"US\".
108
- attr_accessor :state
109
-
110
- # Zip/postal code
111
- attr_accessor :zip
112
-
113
- # Recipient email address
114
- attr_accessor :email
115
-
116
- # Account number
117
- attr_accessor :account_number
118
-
119
- # Office code
120
- attr_accessor :office_code
121
-
122
- # Foreign province
123
- attr_accessor :non_us_province
124
-
125
- # Country code, as defined at https://www.irs.gov/e-file-providers/country-codes
126
- attr_accessor :country_code
127
-
128
- # Boolean indicating that federal e-filing should be scheduled for this form
129
- attr_accessor :federal_e_file
130
-
131
- # Boolean indicating that postal mailing to the recipient should be scheduled for this form
132
- attr_accessor :postal_mail
133
-
134
- # Boolean indicating that state e-filing should be scheduled for this form
135
- attr_accessor :state_e_file
136
-
137
- # Boolean indicating that TIN Matching should be scheduled for this form
138
- attr_accessor :tin_match
139
-
140
- # Indicates whether the recipient has no TIN
141
- attr_accessor :no_tin
142
-
143
- # Second TIN notice in three years
144
- attr_accessor :second_tin_notice
145
-
146
- # Boolean indicating that address verification should be scheduled for this form
147
- attr_accessor :address_verification
148
-
149
- # State and local withholding information
150
- attr_accessor :state_and_local_withholding
151
-
152
- class EnumAttributeValidator
153
- attr_reader :datatype
154
- attr_reader :allowable_values
155
-
156
- def initialize(datatype, allowable_values)
157
- @allowable_values = allowable_values.map do |value|
158
- case datatype.to_s
159
- when /Integer/i
160
- value.to_i
161
- when /Float/i
162
- value.to_f
163
- else
164
- value
165
- end
166
- end
167
- end
168
-
169
- def valid?(value)
170
- !value || allowable_values.include?(value)
171
- end
172
- end
173
-
174
- # Attribute mapping from ruby-style variable name to JSON key.
175
- def self.attribute_map
176
- {
177
- :'total_ordinary_dividends' => :'totalOrdinaryDividends',
178
- :'qualified_dividends' => :'qualifiedDividends',
179
- :'total_capital_gain_distributions' => :'totalCapitalGainDistributions',
180
- :'unrecaptured_section1250_gain' => :'unrecapturedSection1250Gain',
181
- :'section1202_gain' => :'section1202Gain',
182
- :'collectibles_gain' => :'collectiblesGain',
183
- :'section897_ordinary_dividends' => :'section897OrdinaryDividends',
184
- :'section897_capital_gain' => :'section897CapitalGain',
185
- :'nondividend_distributions' => :'nondividendDistributions',
186
- :'federal_income_tax_withheld' => :'federalIncomeTaxWithheld',
187
- :'section199_a_dividends' => :'section199ADividends',
188
- :'investment_expenses' => :'investmentExpenses',
189
- :'foreign_tax_paid' => :'foreignTaxPaid',
190
- :'foreign_country_or_us_possession' => :'foreignCountryOrUSPossession',
191
- :'cash_liquidation_distributions' => :'cashLiquidationDistributions',
192
- :'noncash_liquidation_distributions' => :'noncashLiquidationDistributions',
193
- :'exempt_interest_dividends' => :'exemptInterestDividends',
194
- :'specified_private_activity_bond_interest_dividends' => :'specifiedPrivateActivityBondInterestDividends',
195
- :'fatca_filing_requirement' => :'fatcaFilingRequirement',
196
- :'issuer_reference_id' => :'issuerReferenceId',
197
- :'issuer_tin' => :'issuerTin',
198
- :'tax_year' => :'taxYear',
199
- :'issuer_id' => :'issuerId',
200
- :'reference_id' => :'referenceId',
201
- :'recipient_tin' => :'recipientTin',
202
- :'recipient_name' => :'recipientName',
203
- :'tin_type' => :'tinType',
204
- :'recipient_second_name' => :'recipientSecondName',
205
- :'address' => :'address',
206
- :'address2' => :'address2',
207
- :'city' => :'city',
208
- :'state' => :'state',
209
- :'zip' => :'zip',
210
- :'email' => :'email',
211
- :'account_number' => :'accountNumber',
212
- :'office_code' => :'officeCode',
213
- :'non_us_province' => :'nonUsProvince',
214
- :'country_code' => :'countryCode',
215
- :'federal_e_file' => :'federalEFile',
216
- :'postal_mail' => :'postalMail',
217
- :'state_e_file' => :'stateEFile',
218
- :'tin_match' => :'tinMatch',
219
- :'no_tin' => :'noTin',
220
- :'second_tin_notice' => :'secondTinNotice',
221
- :'address_verification' => :'addressVerification',
222
- :'state_and_local_withholding' => :'stateAndLocalWithholding'
223
- }
224
- end
225
-
226
- # Returns all the JSON keys this model knows about
227
- def self.acceptable_attributes
228
- attribute_map.values
229
- end
230
-
231
- # Attribute type mapping.
232
- def self.openapi_types
233
- {
234
- :'total_ordinary_dividends' => :'Float',
235
- :'qualified_dividends' => :'Float',
236
- :'total_capital_gain_distributions' => :'Float',
237
- :'unrecaptured_section1250_gain' => :'Float',
238
- :'section1202_gain' => :'Float',
239
- :'collectibles_gain' => :'Float',
240
- :'section897_ordinary_dividends' => :'Float',
241
- :'section897_capital_gain' => :'Float',
242
- :'nondividend_distributions' => :'Float',
243
- :'federal_income_tax_withheld' => :'Float',
244
- :'section199_a_dividends' => :'Float',
245
- :'investment_expenses' => :'Float',
246
- :'foreign_tax_paid' => :'Float',
247
- :'foreign_country_or_us_possession' => :'String',
248
- :'cash_liquidation_distributions' => :'Float',
249
- :'noncash_liquidation_distributions' => :'Float',
250
- :'exempt_interest_dividends' => :'Float',
251
- :'specified_private_activity_bond_interest_dividends' => :'Float',
252
- :'fatca_filing_requirement' => :'Boolean',
253
- :'issuer_reference_id' => :'String',
254
- :'issuer_tin' => :'String',
255
- :'tax_year' => :'Integer',
256
- :'issuer_id' => :'String',
257
- :'reference_id' => :'String',
258
- :'recipient_tin' => :'String',
259
- :'recipient_name' => :'String',
260
- :'tin_type' => :'String',
261
- :'recipient_second_name' => :'String',
262
- :'address' => :'String',
263
- :'address2' => :'String',
264
- :'city' => :'String',
265
- :'state' => :'String',
266
- :'zip' => :'String',
267
- :'email' => :'String',
268
- :'account_number' => :'String',
269
- :'office_code' => :'String',
270
- :'non_us_province' => :'String',
271
- :'country_code' => :'String',
272
- :'federal_e_file' => :'Boolean',
273
- :'postal_mail' => :'Boolean',
274
- :'state_e_file' => :'Boolean',
275
- :'tin_match' => :'Boolean',
276
- :'no_tin' => :'Boolean',
277
- :'second_tin_notice' => :'Boolean',
278
- :'address_verification' => :'Boolean',
279
- :'state_and_local_withholding' => :'StateAndLocalWithholdingRequest'
280
- }
281
- end
282
-
283
- # List of attributes with nullable: true
284
- def self.openapi_nullable
285
- Set.new([
286
- :'total_ordinary_dividends',
287
- :'qualified_dividends',
288
- :'total_capital_gain_distributions',
289
- :'unrecaptured_section1250_gain',
290
- :'section1202_gain',
291
- :'collectibles_gain',
292
- :'section897_ordinary_dividends',
293
- :'section897_capital_gain',
294
- :'nondividend_distributions',
295
- :'federal_income_tax_withheld',
296
- :'section199_a_dividends',
297
- :'investment_expenses',
298
- :'foreign_tax_paid',
299
- :'foreign_country_or_us_possession',
300
- :'cash_liquidation_distributions',
301
- :'noncash_liquidation_distributions',
302
- :'exempt_interest_dividends',
303
- :'specified_private_activity_bond_interest_dividends',
304
- :'fatca_filing_requirement',
305
- :'issuer_reference_id',
306
- :'issuer_tin',
307
- :'issuer_id',
308
- :'reference_id',
309
- :'recipient_tin',
310
- :'recipient_name',
311
- :'recipient_second_name',
312
- :'address',
313
- :'address2',
314
- :'city',
315
- :'state',
316
- :'zip',
317
- :'email',
318
- :'account_number',
319
- :'office_code',
320
- :'non_us_province',
321
- :'country_code',
322
- :'second_tin_notice',
323
- :'state_and_local_withholding'
324
- ])
325
- end
326
-
327
- # List of class defined in allOf (OpenAPI v3)
328
- def self.openapi_all_of
329
- [
330
- :'FormRequestListItemBase'
331
- ]
332
- end
333
-
334
- # Initializes the object
335
- # @param [Hash] attributes Model attributes in the form of hash
336
- def initialize(attributes = {})
337
- if (!attributes.is_a?(Hash))
338
- fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::Form1099DivListItem` initialize method"
339
- end
340
-
341
- # check to see if the attribute exists and convert string to symbol for hash key
342
- attributes = attributes.each_with_object({}) { |(k, v), h|
343
- if (!self.class.attribute_map.key?(k.to_sym))
344
- fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::Form1099DivListItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
345
- end
346
- h[k.to_sym] = v
347
- }
348
-
349
- if attributes.key?(:'total_ordinary_dividends')
350
- self.total_ordinary_dividends = attributes[:'total_ordinary_dividends']
351
- end
352
-
353
- if attributes.key?(:'qualified_dividends')
354
- self.qualified_dividends = attributes[:'qualified_dividends']
355
- end
356
-
357
- if attributes.key?(:'total_capital_gain_distributions')
358
- self.total_capital_gain_distributions = attributes[:'total_capital_gain_distributions']
359
- end
360
-
361
- if attributes.key?(:'unrecaptured_section1250_gain')
362
- self.unrecaptured_section1250_gain = attributes[:'unrecaptured_section1250_gain']
363
- end
364
-
365
- if attributes.key?(:'section1202_gain')
366
- self.section1202_gain = attributes[:'section1202_gain']
367
- end
368
-
369
- if attributes.key?(:'collectibles_gain')
370
- self.collectibles_gain = attributes[:'collectibles_gain']
371
- end
372
-
373
- if attributes.key?(:'section897_ordinary_dividends')
374
- self.section897_ordinary_dividends = attributes[:'section897_ordinary_dividends']
375
- end
376
-
377
- if attributes.key?(:'section897_capital_gain')
378
- self.section897_capital_gain = attributes[:'section897_capital_gain']
379
- end
380
-
381
- if attributes.key?(:'nondividend_distributions')
382
- self.nondividend_distributions = attributes[:'nondividend_distributions']
383
- end
384
-
385
- if attributes.key?(:'federal_income_tax_withheld')
386
- self.federal_income_tax_withheld = attributes[:'federal_income_tax_withheld']
387
- end
388
-
389
- if attributes.key?(:'section199_a_dividends')
390
- self.section199_a_dividends = attributes[:'section199_a_dividends']
391
- end
392
-
393
- if attributes.key?(:'investment_expenses')
394
- self.investment_expenses = attributes[:'investment_expenses']
395
- end
396
-
397
- if attributes.key?(:'foreign_tax_paid')
398
- self.foreign_tax_paid = attributes[:'foreign_tax_paid']
399
- end
400
-
401
- if attributes.key?(:'foreign_country_or_us_possession')
402
- self.foreign_country_or_us_possession = attributes[:'foreign_country_or_us_possession']
403
- end
404
-
405
- if attributes.key?(:'cash_liquidation_distributions')
406
- self.cash_liquidation_distributions = attributes[:'cash_liquidation_distributions']
407
- end
408
-
409
- if attributes.key?(:'noncash_liquidation_distributions')
410
- self.noncash_liquidation_distributions = attributes[:'noncash_liquidation_distributions']
411
- end
412
-
413
- if attributes.key?(:'exempt_interest_dividends')
414
- self.exempt_interest_dividends = attributes[:'exempt_interest_dividends']
415
- end
416
-
417
- if attributes.key?(:'specified_private_activity_bond_interest_dividends')
418
- self.specified_private_activity_bond_interest_dividends = attributes[:'specified_private_activity_bond_interest_dividends']
419
- end
420
-
421
- if attributes.key?(:'fatca_filing_requirement')
422
- self.fatca_filing_requirement = attributes[:'fatca_filing_requirement']
423
- end
424
-
425
- if attributes.key?(:'issuer_reference_id')
426
- self.issuer_reference_id = attributes[:'issuer_reference_id']
427
- end
428
-
429
- if attributes.key?(:'issuer_tin')
430
- self.issuer_tin = attributes[:'issuer_tin']
431
- end
432
-
433
- if attributes.key?(:'tax_year')
434
- self.tax_year = attributes[:'tax_year']
435
- else
436
- self.tax_year = nil
437
- end
438
-
439
- if attributes.key?(:'issuer_id')
440
- self.issuer_id = attributes[:'issuer_id']
441
- end
442
-
443
- if attributes.key?(:'reference_id')
444
- self.reference_id = attributes[:'reference_id']
445
- end
446
-
447
- if attributes.key?(:'recipient_tin')
448
- self.recipient_tin = attributes[:'recipient_tin']
449
- end
450
-
451
- if attributes.key?(:'recipient_name')
452
- self.recipient_name = attributes[:'recipient_name']
453
- end
454
-
455
- if attributes.key?(:'tin_type')
456
- self.tin_type = attributes[:'tin_type']
457
- end
458
-
459
- if attributes.key?(:'recipient_second_name')
460
- self.recipient_second_name = attributes[:'recipient_second_name']
461
- end
462
-
463
- if attributes.key?(:'address')
464
- self.address = attributes[:'address']
465
- end
466
-
467
- if attributes.key?(:'address2')
468
- self.address2 = attributes[:'address2']
469
- end
470
-
471
- if attributes.key?(:'city')
472
- self.city = attributes[:'city']
473
- end
474
-
475
- if attributes.key?(:'state')
476
- self.state = attributes[:'state']
477
- end
478
-
479
- if attributes.key?(:'zip')
480
- self.zip = attributes[:'zip']
481
- end
482
-
483
- if attributes.key?(:'email')
484
- self.email = attributes[:'email']
485
- end
486
-
487
- if attributes.key?(:'account_number')
488
- self.account_number = attributes[:'account_number']
489
- end
490
-
491
- if attributes.key?(:'office_code')
492
- self.office_code = attributes[:'office_code']
493
- end
494
-
495
- if attributes.key?(:'non_us_province')
496
- self.non_us_province = attributes[:'non_us_province']
497
- end
498
-
499
- if attributes.key?(:'country_code')
500
- self.country_code = attributes[:'country_code']
501
- end
502
-
503
- if attributes.key?(:'federal_e_file')
504
- self.federal_e_file = attributes[:'federal_e_file']
505
- end
506
-
507
- if attributes.key?(:'postal_mail')
508
- self.postal_mail = attributes[:'postal_mail']
509
- end
510
-
511
- if attributes.key?(:'state_e_file')
512
- self.state_e_file = attributes[:'state_e_file']
513
- end
514
-
515
- if attributes.key?(:'tin_match')
516
- self.tin_match = attributes[:'tin_match']
517
- end
518
-
519
- if attributes.key?(:'no_tin')
520
- self.no_tin = attributes[:'no_tin']
521
- end
522
-
523
- if attributes.key?(:'second_tin_notice')
524
- self.second_tin_notice = attributes[:'second_tin_notice']
525
- end
526
-
527
- if attributes.key?(:'address_verification')
528
- self.address_verification = attributes[:'address_verification']
529
- end
530
-
531
- if attributes.key?(:'state_and_local_withholding')
532
- self.state_and_local_withholding = attributes[:'state_and_local_withholding']
533
- end
534
- end
535
-
536
- # Show invalid properties with the reasons. Usually used together with valid?
537
- # @return Array for valid properties with the reasons
538
- def list_invalid_properties
539
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
540
- invalid_properties = Array.new
541
- if @tax_year.nil?
542
- invalid_properties.push('invalid value for "tax_year", tax_year cannot be nil.')
543
- end
544
-
545
- invalid_properties
546
- end
547
-
548
- # Check to see if the all the properties in the model are valid
549
- # @return true if the model is valid
550
- def valid?
551
- warn '[DEPRECATED] the `valid?` method is obsolete'
552
- return false if @tax_year.nil?
553
- tin_type_validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
554
- return false unless tin_type_validator.valid?(@tin_type)
555
- true
556
- end
557
-
558
- # Custom attribute writer method checking allowed values (enum).
559
- # @param [Object] tin_type Object to be assigned
560
- def tin_type=(tin_type)
561
- validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
562
- unless validator.valid?(tin_type)
563
- fail ArgumentError, "invalid value for \"tin_type\", must be one of #{validator.allowable_values}."
564
- end
565
- @tin_type = tin_type
566
- end
567
-
568
- # Checks equality by comparing each attribute.
569
- # @param [Object] Object to be compared
570
- def ==(o)
571
- return true if self.equal?(o)
572
- self.class == o.class &&
573
- total_ordinary_dividends == o.total_ordinary_dividends &&
574
- qualified_dividends == o.qualified_dividends &&
575
- total_capital_gain_distributions == o.total_capital_gain_distributions &&
576
- unrecaptured_section1250_gain == o.unrecaptured_section1250_gain &&
577
- section1202_gain == o.section1202_gain &&
578
- collectibles_gain == o.collectibles_gain &&
579
- section897_ordinary_dividends == o.section897_ordinary_dividends &&
580
- section897_capital_gain == o.section897_capital_gain &&
581
- nondividend_distributions == o.nondividend_distributions &&
582
- federal_income_tax_withheld == o.federal_income_tax_withheld &&
583
- section199_a_dividends == o.section199_a_dividends &&
584
- investment_expenses == o.investment_expenses &&
585
- foreign_tax_paid == o.foreign_tax_paid &&
586
- foreign_country_or_us_possession == o.foreign_country_or_us_possession &&
587
- cash_liquidation_distributions == o.cash_liquidation_distributions &&
588
- noncash_liquidation_distributions == o.noncash_liquidation_distributions &&
589
- exempt_interest_dividends == o.exempt_interest_dividends &&
590
- specified_private_activity_bond_interest_dividends == o.specified_private_activity_bond_interest_dividends &&
591
- fatca_filing_requirement == o.fatca_filing_requirement &&
592
- issuer_reference_id == o.issuer_reference_id &&
593
- issuer_tin == o.issuer_tin &&
594
- tax_year == o.tax_year &&
595
- issuer_id == o.issuer_id &&
596
- reference_id == o.reference_id &&
597
- recipient_tin == o.recipient_tin &&
598
- recipient_name == o.recipient_name &&
599
- tin_type == o.tin_type &&
600
- recipient_second_name == o.recipient_second_name &&
601
- address == o.address &&
602
- address2 == o.address2 &&
603
- city == o.city &&
604
- state == o.state &&
605
- zip == o.zip &&
606
- email == o.email &&
607
- account_number == o.account_number &&
608
- office_code == o.office_code &&
609
- non_us_province == o.non_us_province &&
610
- country_code == o.country_code &&
611
- federal_e_file == o.federal_e_file &&
612
- postal_mail == o.postal_mail &&
613
- state_e_file == o.state_e_file &&
614
- tin_match == o.tin_match &&
615
- no_tin == o.no_tin &&
616
- second_tin_notice == o.second_tin_notice &&
617
- address_verification == o.address_verification &&
618
- state_and_local_withholding == o.state_and_local_withholding
619
- end
620
-
621
- # @see the `==` method
622
- # @param [Object] Object to be compared
623
- def eql?(o)
624
- self == o
625
- end
626
-
627
- # Calculates hash code according to all attributes.
628
- # @return [Integer] Hash code
629
- def hash
630
- [total_ordinary_dividends, qualified_dividends, total_capital_gain_distributions, unrecaptured_section1250_gain, section1202_gain, collectibles_gain, section897_ordinary_dividends, section897_capital_gain, nondividend_distributions, federal_income_tax_withheld, section199_a_dividends, investment_expenses, foreign_tax_paid, foreign_country_or_us_possession, cash_liquidation_distributions, noncash_liquidation_distributions, exempt_interest_dividends, specified_private_activity_bond_interest_dividends, fatca_filing_requirement, issuer_reference_id, issuer_tin, tax_year, 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, address_verification, state_and_local_withholding].hash
631
- end
632
-
633
- # Builds the object from hash
634
- # @param [Hash] attributes Model attributes in the form of hash
635
- # @return [Object] Returns the model itself
636
- def self.build_from_hash(attributes)
637
- return nil unless attributes.is_a?(Hash)
638
- attributes = attributes.transform_keys(&:to_sym)
639
- transformed_hash = {}
640
- openapi_types.each_pair do |key, type|
641
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
642
- transformed_hash["#{key}"] = nil
643
- elsif type =~ /\AArray<(.*)>/i
644
- # check to ensure the input is an array given that the attribute
645
- # is documented as an array but the input is not
646
- if attributes[attribute_map[key]].is_a?(Array)
647
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
648
- end
649
- elsif !attributes[attribute_map[key]].nil?
650
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
651
- end
652
- end
653
- new(transformed_hash)
654
- end
655
-
656
- # Deserializes the data based on type
657
- # @param string type Data type
658
- # @param string value Value to be deserialized
659
- # @return [Object] Deserialized data
660
- def self._deserialize(type, value)
661
- case type.to_sym
662
- when :Time
663
- Time.parse(value)
664
- when :Date
665
- Date.parse(value)
666
- when :String
667
- value.to_s
668
- when :Integer
669
- value.to_i
670
- when :Float
671
- value.to_f
672
- when :Boolean
673
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
674
- true
675
- else
676
- false
677
- end
678
- when :Object
679
- # generic object (usually a Hash), return directly
680
- value
681
- when /\AArray<(?<inner_type>.+)>\z/
682
- inner_type = Regexp.last_match[:inner_type]
683
- value.map { |v| _deserialize(inner_type, v) }
684
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
685
- k_type = Regexp.last_match[:k_type]
686
- v_type = Regexp.last_match[:v_type]
687
- {}.tap do |hash|
688
- value.each do |k, v|
689
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
690
- end
691
- end
692
- else # model
693
- # models (e.g. Pet) or oneOf
694
- klass = AvalaraSdk::A1099::V2.const_get(type)
695
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
696
- end
697
- end
698
-
699
- # Returns the string representation of the object
700
- # @return [String] String presentation of the object
701
- def to_s
702
- to_hash.to_s
703
- end
704
-
705
- # to_body is an alias to to_hash (backward compatibility)
706
- # @return [Hash] Returns the object in the form of hash
707
- def to_body
708
- to_hash
709
- end
710
-
711
- # Returns the object in the form of hash
712
- # @return [Hash] Returns the object in the form of hash
713
- def to_hash
714
- hash = {}
715
- self.class.attribute_map.each_pair do |attr, param|
716
- value = self.send(attr)
717
- if value.nil?
718
- is_nullable = self.class.openapi_nullable.include?(attr)
719
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
720
- end
721
-
722
- hash[param] = _to_hash(value)
723
- end
724
- hash
725
- end
726
-
727
- # Outputs non-array value in the form of hash
728
- # For object, use to_hash. Otherwise, just return the value
729
- # @param [Object] value Any valid value
730
- # @return [Hash] Returns the value in the form of hash
731
- def _to_hash(value)
732
- if value.is_a?(Array)
733
- value.compact.map { |v| _to_hash(v) }
734
- elsif value.is_a?(Hash)
735
- {}.tap do |hash|
736
- value.each { |k, v| hash[k] = _to_hash(v) }
737
- end
738
- elsif value.respond_to? :to_hash
739
- value.to_hash
740
- else
741
- value
742
- end
743
- end
744
-
745
- end
746
-
747
- end