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