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