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