avalara_sdk 25.8.2 → 25.8.3

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 (200) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +18 -79
  4. data/docs/A1099/V2/CompaniesW9Api.md +18 -18
  5. data/docs/A1099/V2/CompanyCreateUpdateRequestModel.md +18 -18
  6. data/docs/A1099/V2/CompanyResponse.md +37 -37
  7. data/docs/A1099/V2/CoveredIndividual.md +56 -0
  8. data/docs/A1099/V2/CreateAndSendW9FormEmailRequest.md +55 -0
  9. data/docs/A1099/V2/CreateCompanyRequest.md +49 -0
  10. data/docs/A1099/V2/CreateIssuerRequest.md +49 -0
  11. data/docs/A1099/V2/EntryStatusResponse.md +20 -0
  12. data/docs/A1099/V2/Form1042S.md +83 -83
  13. data/docs/A1099/V2/Form1095B.md +72 -62
  14. data/docs/A1099/V2/Form1095C.md +112 -0
  15. data/docs/A1099/V2/Form1099Base.md +60 -60
  16. data/docs/A1099/V2/Form1099Div.md +79 -77
  17. data/docs/A1099/V2/Form1099Int.md +76 -74
  18. data/docs/A1099/V2/Form1099K.md +83 -83
  19. data/docs/A1099/V2/Form1099ListRequest.md +20 -0
  20. data/docs/A1099/V2/Form1099Misc.md +79 -77
  21. data/docs/A1099/V2/Form1099Nec.md +64 -64
  22. data/docs/A1099/V2/Form1099R.md +95 -93
  23. data/docs/A1099/V2/Forms1099Api.md +45 -41
  24. data/docs/A1099/V2/FormsW9Api.md +98 -14
  25. data/docs/A1099/V2/Get1099Form200Response.md +19 -19
  26. data/docs/A1099/V2/IntermediaryOrFlowThrough.md +11 -11
  27. data/docs/A1099/V2/IssuerCommand.md +16 -16
  28. data/docs/A1099/V2/IssuerResponse.md +35 -35
  29. data/docs/A1099/V2/Issuers1099Api.md +10 -10
  30. data/docs/A1099/V2/JobResponse.md +56 -0
  31. data/docs/A1099/V2/JobsApi.md +91 -0
  32. data/docs/A1099/V2/OfferAndCoverage.md +28 -0
  33. data/docs/A1099/V2/PaginatedQueryResultModelForm1099Base.md +22 -0
  34. data/docs/A1099/V2/PrimaryWithholdingAgent.md +4 -4
  35. data/docs/A1099/V2/StateAndLocalWithholding.md +8 -8
  36. data/docs/A1099/V2/ValidationError.md +2 -2
  37. data/docs/A1099/V2/W4FormMinimalRequest.md +30 -0
  38. data/docs/A1099/V2/W4FormRequest.md +6 -6
  39. data/docs/A1099/V2/W8BenEFormMinimalRequest.md +28 -0
  40. data/docs/A1099/V2/W8BenEFormRequest.md +6 -6
  41. data/docs/A1099/V2/W8BenFormMinimalRequest.md +28 -0
  42. data/docs/A1099/V2/W8BenFormRequest.md +6 -6
  43. data/docs/A1099/V2/W8ImyFormMinimalRequest.md +28 -0
  44. data/docs/A1099/V2/W8ImyFormRequest.md +6 -6
  45. data/docs/A1099/V2/W9FormBaseMinimalRequest.md +24 -0
  46. data/docs/A1099/V2/W9FormBaseRequest.md +6 -6
  47. data/docs/A1099/V2/W9FormBaseResponse.md +3 -3
  48. data/docs/A1099/V2/W9FormMinimalRequest.md +28 -0
  49. data/docs/A1099/V2/W9FormRequest.md +6 -6
  50. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +27 -27
  51. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +89 -57
  52. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +144 -6
  53. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +21 -21
  54. data/lib/avalara_sdk/api/A1099/V2/{jobs1099_api.rb → jobs_api.rb} +9 -9
  55. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +1 -1
  56. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +1 -1
  57. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +1 -1
  58. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +1 -1
  59. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +1 -1
  60. data/lib/avalara_sdk/api/EInvoicing/V1/tax_identifiers_api.rb +1 -1
  61. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +1 -1
  62. data/lib/avalara_sdk/models/A1099/V2/company_create_update_request_model.rb +58 -17
  63. data/lib/avalara_sdk/models/A1099/V2/company_response.rb +110 -69
  64. data/lib/avalara_sdk/models/A1099/V2/{covered_individual_request.rb → covered_individual.rb} +36 -7
  65. data/lib/avalara_sdk/models/A1099/V2/{i_create_form1099_request.rb → create_and_send_w9_form_email_request.rb} +6 -5
  66. data/lib/avalara_sdk/models/A1099/V2/{error_response_errors_inner.rb → create_company_request.rb} +3 -3
  67. data/lib/avalara_sdk/models/A1099/V2/{i_update_form1099_request.rb → create_issuer_request.rb} +3 -5
  68. data/lib/avalara_sdk/models/A1099/V2/{status_detail.rb → entry_status_response.rb} +20 -18
  69. data/lib/avalara_sdk/models/A1099/V2/form1042_s.rb +424 -179
  70. data/lib/avalara_sdk/models/A1099/V2/form1095_b.rb +365 -179
  71. data/lib/avalara_sdk/models/A1099/V2/{form1095_b_response.rb → form1095_c.rb} +259 -111
  72. data/lib/avalara_sdk/models/A1099/V2/form1099_base.rb +286 -177
  73. data/lib/avalara_sdk/models/A1099/V2/form1099_div.rb +310 -171
  74. data/lib/avalara_sdk/models/A1099/V2/form1099_int.rb +308 -174
  75. data/lib/avalara_sdk/models/A1099/V2/form1099_k.rb +298 -186
  76. data/lib/avalara_sdk/models/A1099/V2/{form1099_div_list.rb → form1099_list_request.rb} +49 -22
  77. data/lib/avalara_sdk/models/A1099/V2/form1099_misc.rb +337 -201
  78. data/lib/avalara_sdk/models/A1099/V2/form1099_nec.rb +298 -183
  79. data/lib/avalara_sdk/models/A1099/V2/form1099_r.rb +414 -274
  80. data/lib/avalara_sdk/models/A1099/V2/get1099_form200_response.rb +9 -9
  81. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through.rb +13 -1
  82. data/lib/avalara_sdk/models/A1099/V2/issuer_command.rb +42 -23
  83. data/lib/avalara_sdk/models/A1099/V2/issuer_response.rb +77 -46
  84. data/lib/avalara_sdk/models/A1099/V2/{job_result.rb → job_response.rb} +108 -42
  85. data/lib/avalara_sdk/models/A1099/V2/{offer_and_coverage_request.rb → offer_and_coverage.rb} +79 -9
  86. data/lib/avalara_sdk/models/A1099/V2/{paginated_query_result_model.rb → paginated_query_result_model_form1099_base.rb} +4 -4
  87. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent.rb +23 -16
  88. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding.rb +8 -0
  89. data/lib/avalara_sdk/models/A1099/V2/validation_error.rb +2 -0
  90. data/lib/avalara_sdk/models/A1099/V2/w4_form_minimal_request.rb +418 -0
  91. data/lib/avalara_sdk/models/A1099/V2/w4_form_request.rb +53 -27
  92. data/lib/avalara_sdk/models/A1099/V2/{company_model.rb → w8_ben_e_form_minimal_request.rb} +139 -170
  93. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_request.rb +53 -27
  94. data/lib/avalara_sdk/models/A1099/V2/{base_company_model.rb → w8_ben_form_minimal_request.rb} +148 -122
  95. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_request.rb +53 -27
  96. data/lib/avalara_sdk/models/A1099/V2/{attribute.rb → w8_imy_form_minimal_request.rb} +135 -132
  97. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_request.rb +53 -27
  98. data/lib/avalara_sdk/models/A1099/V2/{http_validation_problem_details.rb → w9_form_base_minimal_request.rb} +87 -53
  99. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_request.rb +60 -27
  100. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_response.rb +14 -14
  101. data/lib/avalara_sdk/models/A1099/V2/{company_response_model.rb → w9_form_minimal_request.rb} +140 -148
  102. data/lib/avalara_sdk/models/A1099/V2/w9_form_request.rb +53 -27
  103. data/lib/avalara_sdk/version.rb +1 -1
  104. data/lib/avalara_sdk.rb +22 -105
  105. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  106. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  107. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +5 -5
  108. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +5 -5
  109. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +5 -5
  110. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
  111. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +5 -5
  112. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +5 -5
  113. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  114. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  115. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  116. metadata +37 -103
  117. data/lib/avalara_sdk/models/A1099/V2/base_form_list_request.rb +0 -210
  118. data/lib/avalara_sdk/models/A1099/V2/bulk_upsert1099_forms_request.rb +0 -108
  119. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference.rb +0 -403
  120. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference_response.rb +0 -407
  121. data/lib/avalara_sdk/models/A1099/V2/create1099_form201_response.rb +0 -108
  122. data/lib/avalara_sdk/models/A1099/V2/data.rb +0 -237
  123. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list.rb +0 -238
  124. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item.rb +0 -816
  125. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item_response.rb +0 -980
  126. data/lib/avalara_sdk/models/A1099/V2/form1042_s_request.rb +0 -778
  127. data/lib/avalara_sdk/models/A1099/V2/form1042_s_response.rb +0 -619
  128. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list.rb +0 -238
  129. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item.rb +0 -606
  130. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item_response.rb +0 -765
  131. data/lib/avalara_sdk/models/A1099/V2/form1095_b_request.rb +0 -627
  132. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list.rb +0 -238
  133. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list_item.rb +0 -662
  134. data/lib/avalara_sdk/models/A1099/V2/form1099_base_response.rb +0 -726
  135. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item.rb +0 -747
  136. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item_response.rb +0 -931
  137. data/lib/avalara_sdk/models/A1099/V2/form1099_div_request.rb +0 -729
  138. data/lib/avalara_sdk/models/A1099/V2/form1099_div_response.rb +0 -790
  139. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list.rb +0 -238
  140. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item.rb +0 -702
  141. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item_response.rb +0 -887
  142. data/lib/avalara_sdk/models/A1099/V2/form1099_int_request.rb +0 -684
  143. data/lib/avalara_sdk/models/A1099/V2/form1099_int_response.rb +0 -773
  144. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list.rb +0 -238
  145. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item.rb +0 -788
  146. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item_response.rb +0 -995
  147. data/lib/avalara_sdk/models/A1099/V2/form1099_k_request.rb +0 -770
  148. data/lib/avalara_sdk/models/A1099/V2/form1099_k_response.rb +0 -839
  149. data/lib/avalara_sdk/models/A1099/V2/form1099_list.rb +0 -219
  150. data/lib/avalara_sdk/models/A1099/V2/form1099_list_data_inner.rb +0 -55
  151. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response.rb +0 -220
  152. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response_value_inner.rb +0 -108
  153. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list.rb +0 -238
  154. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item.rb +0 -688
  155. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item_response.rb +0 -886
  156. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_request.rb +0 -670
  157. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_response.rb +0 -754
  158. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list.rb +0 -238
  159. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item.rb +0 -586
  160. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item_response.rb +0 -765
  161. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_request.rb +0 -567
  162. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_response.rb +0 -646
  163. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result.rb +0 -228
  164. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result_processed_forms_inner.rb +0 -107
  165. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list.rb +0 -238
  166. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item.rb +0 -763
  167. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item_response.rb +0 -942
  168. data/lib/avalara_sdk/models/A1099/V2/form1099_r_request.rb +0 -720
  169. data/lib/avalara_sdk/models/A1099/V2/form1099_r_response.rb +0 -839
  170. data/lib/avalara_sdk/models/A1099/V2/form1099_status_detail_response.rb +0 -223
  171. data/lib/avalara_sdk/models/A1099/V2/form_request_base.rb +0 -502
  172. data/lib/avalara_sdk/models/A1099/V2/form_request_csv_base.rb +0 -475
  173. data/lib/avalara_sdk/models/A1099/V2/form_request_list_item_base.rb +0 -548
  174. data/lib/avalara_sdk/models/A1099/V2/form_request_model.rb +0 -345
  175. data/lib/avalara_sdk/models/A1099/V2/form_response_base.rb +0 -612
  176. data/lib/avalara_sdk/models/A1099/V2/form_single_request_base.rb +0 -530
  177. data/lib/avalara_sdk/models/A1099/V2/included_base.rb +0 -219
  178. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through_request.rb +0 -311
  179. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through_response.rb +0 -311
  180. data/lib/avalara_sdk/models/A1099/V2/link.rb +0 -210
  181. data/lib/avalara_sdk/models/A1099/V2/paginated_w9_forms_model.rb +0 -231
  182. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_request.rb +0 -221
  183. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_response.rb +0 -221
  184. data/lib/avalara_sdk/models/A1099/V2/problem_details.rb +0 -251
  185. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_request.rb +0 -278
  186. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_response.rb +0 -282
  187. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_app.rb +0 -231
  188. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_response.rb +0 -231
  189. data/lib/avalara_sdk/models/A1099/V2/update1099_form200_response.rb +0 -108
  190. data/lib/avalara_sdk/models/A1099/V2/validation_error_app.rb +0 -229
  191. data/lib/avalara_sdk/models/A1099/V2/validation_error_response.rb +0 -231
  192. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response.rb +0 -233
  193. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner.rb +0 -274
  194. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_addresses_inner.rb +0 -251
  195. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_identifiers_inner.rb +0 -221
  196. data/lib/avalara_sdk/models/EInvoicing/V1/directory_search_response_value_inner_supported_document_types_inner.rb +0 -241
  197. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request.rb +0 -224
  198. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request_data_inner.rb +0 -237
  199. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch_request_metadata.rb +0 -288
  200. data/lib/avalara_sdk/models/EInvoicing/V1/submit_document_data.rb +0 -216
@@ -1,502 +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 FormRequestBase
14
- # Issuer ID
15
- attr_accessor :issuer_id
16
-
17
- # Reference ID
18
- attr_accessor :reference_id
19
-
20
- # Recipient Tax ID Number
21
- attr_accessor :recipient_tin
22
-
23
- # Recipient name
24
- attr_accessor :recipient_name
25
-
26
- # Type of TIN (Tax ID Number). Will be one of: * SSN * EIN * ITIN * ATIN
27
- attr_accessor :tin_type
28
-
29
- # Recipient second name
30
- attr_accessor :recipient_second_name
31
-
32
- # Address
33
- attr_accessor :address
34
-
35
- # Address line 2
36
- attr_accessor :address2
37
-
38
- # City
39
- attr_accessor :city
40
-
41
- # US state. Required if CountryCode is \"US\".
42
- attr_accessor :state
43
-
44
- # Zip/postal code
45
- attr_accessor :zip
46
-
47
- # Recipient email address
48
- attr_accessor :email
49
-
50
- # Account number
51
- attr_accessor :account_number
52
-
53
- # Office code
54
- attr_accessor :office_code
55
-
56
- # Foreign province
57
- attr_accessor :non_us_province
58
-
59
- # Country code, as defined at https://www.irs.gov/e-file-providers/country-codes
60
- attr_accessor :country_code
61
-
62
- # Boolean indicating that federal e-filing should be scheduled for this form
63
- attr_accessor :federal_e_file
64
-
65
- # Boolean indicating that postal mailing to the recipient should be scheduled for this form
66
- attr_accessor :postal_mail
67
-
68
- # Boolean indicating that state e-filing should be scheduled for this form
69
- attr_accessor :state_e_file
70
-
71
- # Boolean indicating that TIN Matching should be scheduled for this form
72
- attr_accessor :tin_match
73
-
74
- # Indicates whether the recipient has no TIN
75
- attr_accessor :no_tin
76
-
77
- # Second TIN notice in three years
78
- attr_accessor :second_tin_notice
79
-
80
- # Fatca filing requirement
81
- attr_accessor :fatca_filing_requirement
82
-
83
- # Boolean indicating that address verification should be scheduled for this form
84
- attr_accessor :address_verification
85
-
86
- # State and local withholding information
87
- attr_accessor :state_and_local_withholding
88
-
89
- class EnumAttributeValidator
90
- attr_reader :datatype
91
- attr_reader :allowable_values
92
-
93
- def initialize(datatype, allowable_values)
94
- @allowable_values = allowable_values.map do |value|
95
- case datatype.to_s
96
- when /Integer/i
97
- value.to_i
98
- when /Float/i
99
- value.to_f
100
- else
101
- value
102
- end
103
- end
104
- end
105
-
106
- def valid?(value)
107
- !value || allowable_values.include?(value)
108
- end
109
- end
110
-
111
- # Attribute mapping from ruby-style variable name to JSON key.
112
- def self.attribute_map
113
- {
114
- :'issuer_id' => :'issuerId',
115
- :'reference_id' => :'referenceId',
116
- :'recipient_tin' => :'recipientTin',
117
- :'recipient_name' => :'recipientName',
118
- :'tin_type' => :'tinType',
119
- :'recipient_second_name' => :'recipientSecondName',
120
- :'address' => :'address',
121
- :'address2' => :'address2',
122
- :'city' => :'city',
123
- :'state' => :'state',
124
- :'zip' => :'zip',
125
- :'email' => :'email',
126
- :'account_number' => :'accountNumber',
127
- :'office_code' => :'officeCode',
128
- :'non_us_province' => :'nonUsProvince',
129
- :'country_code' => :'countryCode',
130
- :'federal_e_file' => :'federalEFile',
131
- :'postal_mail' => :'postalMail',
132
- :'state_e_file' => :'stateEFile',
133
- :'tin_match' => :'tinMatch',
134
- :'no_tin' => :'noTin',
135
- :'second_tin_notice' => :'secondTinNotice',
136
- :'fatca_filing_requirement' => :'fatcaFilingRequirement',
137
- :'address_verification' => :'addressVerification',
138
- :'state_and_local_withholding' => :'stateAndLocalWithholding'
139
- }
140
- end
141
-
142
- # Returns all the JSON keys this model knows about
143
- def self.acceptable_attributes
144
- attribute_map.values
145
- end
146
-
147
- # Attribute type mapping.
148
- def self.openapi_types
149
- {
150
- :'issuer_id' => :'String',
151
- :'reference_id' => :'String',
152
- :'recipient_tin' => :'String',
153
- :'recipient_name' => :'String',
154
- :'tin_type' => :'String',
155
- :'recipient_second_name' => :'String',
156
- :'address' => :'String',
157
- :'address2' => :'String',
158
- :'city' => :'String',
159
- :'state' => :'String',
160
- :'zip' => :'String',
161
- :'email' => :'String',
162
- :'account_number' => :'String',
163
- :'office_code' => :'String',
164
- :'non_us_province' => :'String',
165
- :'country_code' => :'String',
166
- :'federal_e_file' => :'Boolean',
167
- :'postal_mail' => :'Boolean',
168
- :'state_e_file' => :'Boolean',
169
- :'tin_match' => :'Boolean',
170
- :'no_tin' => :'Boolean',
171
- :'second_tin_notice' => :'Boolean',
172
- :'fatca_filing_requirement' => :'Boolean',
173
- :'address_verification' => :'Boolean',
174
- :'state_and_local_withholding' => :'StateAndLocalWithholdingRequest'
175
- }
176
- end
177
-
178
- # List of attributes with nullable: true
179
- def self.openapi_nullable
180
- Set.new([
181
- :'issuer_id',
182
- :'reference_id',
183
- :'recipient_tin',
184
- :'recipient_name',
185
- :'recipient_second_name',
186
- :'address',
187
- :'address2',
188
- :'city',
189
- :'state',
190
- :'zip',
191
- :'email',
192
- :'account_number',
193
- :'office_code',
194
- :'non_us_province',
195
- :'country_code',
196
- :'second_tin_notice',
197
- :'state_and_local_withholding'
198
- ])
199
- end
200
-
201
- # Initializes the object
202
- # @param [Hash] attributes Model attributes in the form of hash
203
- def initialize(attributes = {})
204
- if (!attributes.is_a?(Hash))
205
- fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::FormRequestBase` initialize method"
206
- end
207
-
208
- # check to see if the attribute exists and convert string to symbol for hash key
209
- attributes = attributes.each_with_object({}) { |(k, v), h|
210
- if (!self.class.attribute_map.key?(k.to_sym))
211
- fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::FormRequestBase`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
212
- end
213
- h[k.to_sym] = v
214
- }
215
-
216
- if attributes.key?(:'issuer_id')
217
- self.issuer_id = attributes[:'issuer_id']
218
- end
219
-
220
- if attributes.key?(:'reference_id')
221
- self.reference_id = attributes[:'reference_id']
222
- end
223
-
224
- if attributes.key?(:'recipient_tin')
225
- self.recipient_tin = attributes[:'recipient_tin']
226
- end
227
-
228
- if attributes.key?(:'recipient_name')
229
- self.recipient_name = attributes[:'recipient_name']
230
- end
231
-
232
- if attributes.key?(:'tin_type')
233
- self.tin_type = attributes[:'tin_type']
234
- end
235
-
236
- if attributes.key?(:'recipient_second_name')
237
- self.recipient_second_name = attributes[:'recipient_second_name']
238
- end
239
-
240
- if attributes.key?(:'address')
241
- self.address = attributes[:'address']
242
- end
243
-
244
- if attributes.key?(:'address2')
245
- self.address2 = attributes[:'address2']
246
- end
247
-
248
- if attributes.key?(:'city')
249
- self.city = attributes[:'city']
250
- end
251
-
252
- if attributes.key?(:'state')
253
- self.state = attributes[:'state']
254
- end
255
-
256
- if attributes.key?(:'zip')
257
- self.zip = attributes[:'zip']
258
- end
259
-
260
- if attributes.key?(:'email')
261
- self.email = attributes[:'email']
262
- end
263
-
264
- if attributes.key?(:'account_number')
265
- self.account_number = attributes[:'account_number']
266
- end
267
-
268
- if attributes.key?(:'office_code')
269
- self.office_code = attributes[:'office_code']
270
- end
271
-
272
- if attributes.key?(:'non_us_province')
273
- self.non_us_province = attributes[:'non_us_province']
274
- end
275
-
276
- if attributes.key?(:'country_code')
277
- self.country_code = attributes[:'country_code']
278
- end
279
-
280
- if attributes.key?(:'federal_e_file')
281
- self.federal_e_file = attributes[:'federal_e_file']
282
- end
283
-
284
- if attributes.key?(:'postal_mail')
285
- self.postal_mail = attributes[:'postal_mail']
286
- end
287
-
288
- if attributes.key?(:'state_e_file')
289
- self.state_e_file = attributes[:'state_e_file']
290
- end
291
-
292
- if attributes.key?(:'tin_match')
293
- self.tin_match = attributes[:'tin_match']
294
- end
295
-
296
- if attributes.key?(:'no_tin')
297
- self.no_tin = attributes[:'no_tin']
298
- end
299
-
300
- if attributes.key?(:'second_tin_notice')
301
- self.second_tin_notice = attributes[:'second_tin_notice']
302
- end
303
-
304
- if attributes.key?(:'fatca_filing_requirement')
305
- self.fatca_filing_requirement = attributes[:'fatca_filing_requirement']
306
- end
307
-
308
- if attributes.key?(:'address_verification')
309
- self.address_verification = attributes[:'address_verification']
310
- end
311
-
312
- if attributes.key?(:'state_and_local_withholding')
313
- self.state_and_local_withholding = attributes[:'state_and_local_withholding']
314
- end
315
- end
316
-
317
- # Show invalid properties with the reasons. Usually used together with valid?
318
- # @return Array for valid properties with the reasons
319
- def list_invalid_properties
320
- warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
321
- invalid_properties = Array.new
322
- invalid_properties
323
- end
324
-
325
- # Check to see if the all the properties in the model are valid
326
- # @return true if the model is valid
327
- def valid?
328
- warn '[DEPRECATED] the `valid?` method is obsolete'
329
- tin_type_validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
330
- return false unless tin_type_validator.valid?(@tin_type)
331
- true
332
- end
333
-
334
- # Custom attribute writer method checking allowed values (enum).
335
- # @param [Object] tin_type Object to be assigned
336
- def tin_type=(tin_type)
337
- validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
338
- unless validator.valid?(tin_type)
339
- fail ArgumentError, "invalid value for \"tin_type\", must be one of #{validator.allowable_values}."
340
- end
341
- @tin_type = tin_type
342
- end
343
-
344
- # Checks equality by comparing each attribute.
345
- # @param [Object] Object to be compared
346
- def ==(o)
347
- return true if self.equal?(o)
348
- self.class == o.class &&
349
- issuer_id == o.issuer_id &&
350
- reference_id == o.reference_id &&
351
- recipient_tin == o.recipient_tin &&
352
- recipient_name == o.recipient_name &&
353
- tin_type == o.tin_type &&
354
- recipient_second_name == o.recipient_second_name &&
355
- address == o.address &&
356
- address2 == o.address2 &&
357
- city == o.city &&
358
- state == o.state &&
359
- zip == o.zip &&
360
- email == o.email &&
361
- account_number == o.account_number &&
362
- office_code == o.office_code &&
363
- non_us_province == o.non_us_province &&
364
- country_code == o.country_code &&
365
- federal_e_file == o.federal_e_file &&
366
- postal_mail == o.postal_mail &&
367
- state_e_file == o.state_e_file &&
368
- tin_match == o.tin_match &&
369
- no_tin == o.no_tin &&
370
- second_tin_notice == o.second_tin_notice &&
371
- fatca_filing_requirement == o.fatca_filing_requirement &&
372
- address_verification == o.address_verification &&
373
- state_and_local_withholding == o.state_and_local_withholding
374
- end
375
-
376
- # @see the `==` method
377
- # @param [Object] Object to be compared
378
- def eql?(o)
379
- self == o
380
- end
381
-
382
- # Calculates hash code according to all attributes.
383
- # @return [Integer] Hash code
384
- def hash
385
- [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
386
- end
387
-
388
- # Builds the object from hash
389
- # @param [Hash] attributes Model attributes in the form of hash
390
- # @return [Object] Returns the model itself
391
- def self.build_from_hash(attributes)
392
- return nil unless attributes.is_a?(Hash)
393
- attributes = attributes.transform_keys(&:to_sym)
394
- transformed_hash = {}
395
- openapi_types.each_pair do |key, type|
396
- if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
397
- transformed_hash["#{key}"] = nil
398
- elsif type =~ /\AArray<(.*)>/i
399
- # check to ensure the input is an array given that the attribute
400
- # is documented as an array but the input is not
401
- if attributes[attribute_map[key]].is_a?(Array)
402
- transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
403
- end
404
- elsif !attributes[attribute_map[key]].nil?
405
- transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
406
- end
407
- end
408
- new(transformed_hash)
409
- end
410
-
411
- # Deserializes the data based on type
412
- # @param string type Data type
413
- # @param string value Value to be deserialized
414
- # @return [Object] Deserialized data
415
- def self._deserialize(type, value)
416
- case type.to_sym
417
- when :Time
418
- Time.parse(value)
419
- when :Date
420
- Date.parse(value)
421
- when :String
422
- value.to_s
423
- when :Integer
424
- value.to_i
425
- when :Float
426
- value.to_f
427
- when :Boolean
428
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
429
- true
430
- else
431
- false
432
- end
433
- when :Object
434
- # generic object (usually a Hash), return directly
435
- value
436
- when /\AArray<(?<inner_type>.+)>\z/
437
- inner_type = Regexp.last_match[:inner_type]
438
- value.map { |v| _deserialize(inner_type, v) }
439
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
440
- k_type = Regexp.last_match[:k_type]
441
- v_type = Regexp.last_match[:v_type]
442
- {}.tap do |hash|
443
- value.each do |k, v|
444
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
445
- end
446
- end
447
- else # model
448
- # models (e.g. Pet) or oneOf
449
- klass = AvalaraSdk::A1099::V2.const_get(type)
450
- klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
451
- end
452
- end
453
-
454
- # Returns the string representation of the object
455
- # @return [String] String presentation of the object
456
- def to_s
457
- to_hash.to_s
458
- end
459
-
460
- # to_body is an alias to to_hash (backward compatibility)
461
- # @return [Hash] Returns the object in the form of hash
462
- def to_body
463
- to_hash
464
- end
465
-
466
- # Returns the object in the form of hash
467
- # @return [Hash] Returns the object in the form of hash
468
- def to_hash
469
- hash = {}
470
- self.class.attribute_map.each_pair do |attr, param|
471
- value = self.send(attr)
472
- if value.nil?
473
- is_nullable = self.class.openapi_nullable.include?(attr)
474
- next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
475
- end
476
-
477
- hash[param] = _to_hash(value)
478
- end
479
- hash
480
- end
481
-
482
- # Outputs non-array value in the form of hash
483
- # For object, use to_hash. Otherwise, just return the value
484
- # @param [Object] value Any valid value
485
- # @return [Hash] Returns the value in the form of hash
486
- def _to_hash(value)
487
- if value.is_a?(Array)
488
- value.compact.map { |v| _to_hash(v) }
489
- elsif value.is_a?(Hash)
490
- {}.tap do |hash|
491
- value.each { |k, v| hash[k] = _to_hash(v) }
492
- end
493
- elsif value.respond_to? :to_hash
494
- value.to_hash
495
- else
496
- value
497
- end
498
- end
499
-
500
- end
501
-
502
- end