avalara_sdk 25.8.0 → 25.8.2

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 (185) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +32 -6
  4. data/docs/A1099/V2/BulkUpsert1099FormsRequest.md +4 -0
  5. data/docs/A1099/V2/CompaniesW9Api.md +6 -6
  6. data/docs/A1099/V2/CoveredIndividualRequest.md +26 -26
  7. data/docs/A1099/V2/Create1099Form201Response.md +4 -0
  8. data/docs/A1099/V2/ErrorResponse.md +1 -1
  9. data/docs/A1099/V2/ErrorResponseItem.md +20 -0
  10. data/docs/A1099/V2/Form1042S.md +140 -0
  11. data/docs/A1099/V2/Form1042SListItem.md +12 -8
  12. data/docs/A1099/V2/Form1042SListItemResponse.md +19 -9
  13. data/docs/A1099/V2/Form1042SRequest.md +14 -10
  14. data/docs/A1099/V2/Form1042SResponse.md +10 -6
  15. data/docs/A1099/V2/Form1095B.md +14 -2
  16. data/docs/A1099/V2/Form1095BListItem.md +14 -8
  17. data/docs/A1099/V2/Form1095BListItemResponse.md +20 -8
  18. data/docs/A1099/V2/Form1095BRequest.md +14 -8
  19. data/docs/A1099/V2/Form1095BResponse.md +106 -0
  20. data/docs/A1099/V2/Form1095CList.md +20 -0
  21. data/docs/A1099/V2/Form1095CListItem.md +90 -0
  22. data/docs/A1099/V2/Form1099Base.md +14 -2
  23. data/docs/A1099/V2/Form1099BaseResponse.md +20 -8
  24. data/docs/A1099/V2/Form1099Div.md +130 -0
  25. data/docs/A1099/V2/Form1099DivListItem.md +32 -28
  26. data/docs/A1099/V2/Form1099DivListItemResponse.md +130 -0
  27. data/docs/A1099/V2/Form1099DivRequest.md +32 -28
  28. data/docs/A1099/V2/Form1099DivResponse.md +48 -6
  29. data/docs/A1099/V2/Form1099Int.md +122 -0
  30. data/docs/A1099/V2/Form1099IntList.md +20 -0
  31. data/docs/A1099/V2/Form1099IntListItem.md +100 -0
  32. data/docs/A1099/V2/Form1099IntListItemResponse.md +122 -0
  33. data/docs/A1099/V2/Form1099IntRequest.md +96 -0
  34. data/docs/A1099/V2/Form1099IntResponse.md +120 -0
  35. data/docs/A1099/V2/Form1099K.md +14 -2
  36. data/docs/A1099/V2/Form1099KListItem.md +14 -8
  37. data/docs/A1099/V2/Form1099KListItemResponse.md +20 -8
  38. data/docs/A1099/V2/Form1099KRequest.md +18 -12
  39. data/docs/A1099/V2/Form1099KResponse.md +132 -0
  40. data/docs/A1099/V2/Form1099ListResponseValueInner.md +4 -0
  41. data/docs/A1099/V2/Form1099Misc.md +24 -12
  42. data/docs/A1099/V2/Form1099MiscListItem.md +14 -12
  43. data/docs/A1099/V2/Form1099MiscListItemResponse.md +30 -16
  44. data/docs/A1099/V2/Form1099MiscRequest.md +14 -12
  45. data/docs/A1099/V2/Form1099MiscResponse.md +12 -10
  46. data/docs/A1099/V2/Form1099Nec.md +14 -2
  47. data/docs/A1099/V2/Form1099NecListItem.md +14 -10
  48. data/docs/A1099/V2/Form1099NecListItemResponse.md +20 -8
  49. data/docs/A1099/V2/Form1099NecRequest.md +14 -10
  50. data/docs/A1099/V2/Form1099NecResponse.md +10 -8
  51. data/docs/A1099/V2/Form1099ProccessResult.md +3 -1
  52. data/docs/A1099/V2/Form1099ProccessResultProcessedFormsInner.md +61 -0
  53. data/docs/A1099/V2/Form1099R.md +14 -4
  54. data/docs/A1099/V2/Form1099RListItem.md +12 -8
  55. data/docs/A1099/V2/Form1099RListItemResponse.md +20 -10
  56. data/docs/A1099/V2/Form1099RRequest.md +12 -8
  57. data/docs/A1099/V2/Form1099RResponse.md +132 -0
  58. data/docs/A1099/V2/FormRequestBase.md +14 -8
  59. data/docs/A1099/V2/FormRequestListItemBase.md +14 -8
  60. data/docs/A1099/V2/FormResponseBase.md +10 -6
  61. data/docs/A1099/V2/FormSingleRequestBase.md +14 -8
  62. data/docs/A1099/V2/Forms1099Api.md +11 -11
  63. data/docs/A1099/V2/FormsW9Api.md +21 -19
  64. data/docs/A1099/V2/Get1099Form200Response.md +4 -0
  65. data/docs/A1099/V2/ICreateForm1099Request.md +2 -0
  66. data/docs/A1099/V2/IUpdateForm1099Request.md +2 -0
  67. data/docs/A1099/V2/IrsResponse.md +20 -0
  68. data/docs/A1099/V2/Issuers1099Api.md +6 -6
  69. data/docs/A1099/V2/Jobs1099Api.md +1 -1
  70. data/docs/A1099/V2/OfferAndCoverageRequest.md +26 -0
  71. data/docs/A1099/V2/PaginatedQueryResultModelCompanyResponse.md +1 -1
  72. data/docs/A1099/V2/PaginatedQueryResultModelIssuerResponse.md +1 -1
  73. data/docs/A1099/V2/PaginatedQueryResultModelW9FormBaseResponse.md +22 -0
  74. data/docs/A1099/V2/TinMatchStatusResponse.md +22 -0
  75. data/docs/A1099/V2/Update1099Form200Response.md +8 -0
  76. data/docs/A1099/V2/W4FormResponse.md +1 -29
  77. data/docs/A1099/V2/W8BenEFormResponse.md +1 -29
  78. data/docs/A1099/V2/W8BenFormResponse.md +1 -29
  79. data/docs/A1099/V2/W8ImyFormResponse.md +1 -29
  80. data/docs/A1099/V2/W9FormBaseResponse.md +3 -3
  81. data/docs/A1099/V2/W9FormResponse.md +2 -28
  82. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +1 -1
  83. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +3 -3
  84. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +30 -14
  85. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +1 -1
  86. data/lib/avalara_sdk/api/A1099/V2/jobs1099_api.rb +1 -1
  87. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +1 -1
  88. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +1 -1
  89. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +1 -1
  90. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +1 -1
  91. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +1 -1
  92. data/lib/avalara_sdk/api/EInvoicing/V1/tax_identifiers_api.rb +1 -1
  93. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +1 -1
  94. data/lib/avalara_sdk/models/A1099/V2/bulk_upsert1099_forms_request.rb +2 -0
  95. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference.rb +1 -1
  96. data/lib/avalara_sdk/models/A1099/V2/covered_individual_request.rb +79 -79
  97. data/lib/avalara_sdk/models/A1099/V2/create1099_form201_response.rb +2 -0
  98. data/lib/avalara_sdk/models/A1099/V2/error_response.rb +1 -1
  99. data/lib/avalara_sdk/models/A1099/V2/error_response_item.rb +221 -0
  100. data/lib/avalara_sdk/models/A1099/V2/form1042_s.rb +824 -0
  101. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item.rb +44 -119
  102. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item_response.rb +67 -12
  103. data/lib/avalara_sdk/models/A1099/V2/form1042_s_request.rb +55 -132
  104. data/lib/avalara_sdk/models/A1099/V2/form1042_s_response.rb +43 -24
  105. data/lib/avalara_sdk/models/A1099/V2/form1095_b.rb +68 -9
  106. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item.rb +54 -119
  107. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item_response.rb +77 -12
  108. data/lib/avalara_sdk/models/A1099/V2/form1095_b_request.rb +56 -121
  109. data/lib/avalara_sdk/models/A1099/V2/form1095_b_response.rb +709 -0
  110. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list.rb +238 -0
  111. data/lib/avalara_sdk/models/A1099/V2/form1095_c_list_item.rb +662 -0
  112. data/lib/avalara_sdk/models/A1099/V2/form1099_base.rb +68 -9
  113. data/lib/avalara_sdk/models/A1099/V2/form1099_base_response.rb +77 -12
  114. data/lib/avalara_sdk/models/A1099/V2/form1099_div.rb +781 -0
  115. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item.rb +93 -147
  116. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item_response.rb +931 -0
  117. data/lib/avalara_sdk/models/A1099/V2/form1099_div_request.rb +93 -149
  118. data/lib/avalara_sdk/models/A1099/V2/form1099_div_response.rb +214 -24
  119. data/lib/avalara_sdk/models/A1099/V2/form1099_int.rb +741 -0
  120. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list.rb +238 -0
  121. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item.rb +702 -0
  122. data/lib/avalara_sdk/models/A1099/V2/form1099_int_list_item_response.rb +887 -0
  123. data/lib/avalara_sdk/models/A1099/V2/form1099_int_request.rb +684 -0
  124. data/lib/avalara_sdk/models/A1099/V2/form1099_int_response.rb +773 -0
  125. data/lib/avalara_sdk/models/A1099/V2/form1099_k.rb +68 -9
  126. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item.rb +56 -119
  127. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item_response.rb +77 -12
  128. data/lib/avalara_sdk/models/A1099/V2/form1099_k_request.rb +82 -123
  129. data/lib/avalara_sdk/models/A1099/V2/form1099_k_response.rb +839 -0
  130. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response_value_inner.rb +2 -0
  131. data/lib/avalara_sdk/models/A1099/V2/form1099_misc.rb +106 -47
  132. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item.rb +52 -135
  133. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item_response.rb +116 -40
  134. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_request.rb +52 -137
  135. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_response.rb +49 -39
  136. data/lib/avalara_sdk/models/A1099/V2/form1099_nec.rb +68 -9
  137. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item.rb +56 -129
  138. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item_response.rb +77 -12
  139. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_request.rb +56 -131
  140. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_response.rb +43 -33
  141. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result.rb +22 -4
  142. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result_processed_forms_inner.rb +107 -0
  143. data/lib/avalara_sdk/models/A1099/V2/form1099_r.rb +68 -19
  144. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item.rb +46 -119
  145. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item_response.rb +77 -23
  146. data/lib/avalara_sdk/models/A1099/V2/form1099_r_request.rb +46 -121
  147. data/lib/avalara_sdk/models/A1099/V2/form1099_r_response.rb +839 -0
  148. data/lib/avalara_sdk/models/A1099/V2/form1099_status_detail.rb +1 -1
  149. data/lib/avalara_sdk/models/A1099/V2/form_request_base.rb +54 -119
  150. data/lib/avalara_sdk/models/A1099/V2/form_request_list_item_base.rb +56 -119
  151. data/lib/avalara_sdk/models/A1099/V2/form_response_base.rb +43 -24
  152. data/lib/avalara_sdk/models/A1099/V2/form_single_request_base.rb +56 -121
  153. data/lib/avalara_sdk/models/A1099/V2/get1099_form200_response.rb +2 -0
  154. data/lib/avalara_sdk/models/A1099/V2/i_create_form1099_request.rb +1 -0
  155. data/lib/avalara_sdk/models/A1099/V2/i_update_form1099_request.rb +1 -0
  156. data/lib/avalara_sdk/models/A1099/V2/included_base.rb +1 -1
  157. data/lib/avalara_sdk/models/A1099/V2/irs_response.rb +221 -0
  158. data/lib/avalara_sdk/models/A1099/V2/issuer_command.rb +1 -0
  159. data/lib/avalara_sdk/models/A1099/V2/offer_and_coverage_request.rb +256 -0
  160. data/lib/avalara_sdk/models/A1099/V2/paginated_query_result_model_w9_form_base_response.rb +234 -0
  161. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding.rb +1 -1
  162. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail.rb +1 -1
  163. data/lib/avalara_sdk/models/A1099/V2/tin_match_status_response.rb +267 -0
  164. data/lib/avalara_sdk/models/A1099/V2/update1099_form200_response.rb +4 -0
  165. data/lib/avalara_sdk/models/A1099/V2/validation_error.rb +1 -1
  166. data/lib/avalara_sdk/models/A1099/V2/w4_form_response.rb +15 -157
  167. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_response.rb +14 -156
  168. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_response.rb +15 -157
  169. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_response.rb +15 -157
  170. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_response.rb +19 -14
  171. data/lib/avalara_sdk/models/A1099/V2/w9_form_response.rb +18 -150
  172. data/lib/avalara_sdk/version.rb +1 -1
  173. data/lib/avalara_sdk.rb +21 -1
  174. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +5 -5
  175. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
  176. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +5 -5
  177. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +5 -5
  178. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +5 -5
  179. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
  180. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +5 -5
  181. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +5 -5
  182. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
  183. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
  184. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
  185. metadata +42 -2
@@ -0,0 +1,773 @@
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 Form1099IntResponse
14
+ # Interest Income
15
+ attr_accessor :interest_income
16
+
17
+ # Early Withdrawal Penalty
18
+ attr_accessor :early_withdrawal_penalty
19
+
20
+ # Interest on U.S. Savings Bonds and Treasury obligations
21
+ attr_accessor :us_savings_bonds_interest
22
+
23
+ # Federal income tax withheld
24
+ attr_accessor :federal_income_tax_withheld
25
+
26
+ # Investment Expenses
27
+ attr_accessor :investment_expenses
28
+
29
+ # Foreign tax paid
30
+ attr_accessor :foreign_tax_paid
31
+
32
+ # Foreign country or U.S. possession
33
+ attr_accessor :foreign_country
34
+
35
+ # Tax-Exempt Interest
36
+ attr_accessor :tax_exempt_interest
37
+
38
+ # Specified Private activity
39
+ attr_accessor :specified_private_activity_bond_interest
40
+
41
+ # Market Discount
42
+ attr_accessor :market_discount
43
+
44
+ # Bond Premium
45
+ attr_accessor :bond_premium
46
+
47
+ # Bond Premium on Treasury obligations
48
+ attr_accessor :bond_premium_on_treasury_obligations
49
+
50
+ # Bond Premium on tax exempt bond
51
+ attr_accessor :bond_premium_on_tax_exempt_bond
52
+
53
+ # Tax exempt bond CUSIP no.
54
+ attr_accessor :tax_exempt_bond_cusip_number
55
+
56
+ attr_accessor :type
57
+
58
+ attr_accessor :created_at
59
+
60
+ attr_accessor :updated_at
61
+
62
+ attr_accessor :state_and_local_withholding
63
+
64
+ attr_accessor :tin_type
65
+
66
+ attr_accessor :id
67
+
68
+ attr_accessor :issuer_id
69
+
70
+ attr_accessor :issuer_reference_id
71
+
72
+ attr_accessor :issuer_tin
73
+
74
+ attr_accessor :tax_year
75
+
76
+ attr_accessor :reference_id
77
+
78
+ attr_accessor :recipient_name
79
+
80
+ attr_accessor :recipient_tin
81
+
82
+ attr_accessor :recipient_second_name
83
+
84
+ attr_accessor :address
85
+
86
+ attr_accessor :address2
87
+
88
+ attr_accessor :city
89
+
90
+ attr_accessor :state
91
+
92
+ attr_accessor :zip
93
+
94
+ attr_accessor :email
95
+
96
+ attr_accessor :account_number
97
+
98
+ attr_accessor :office_code
99
+
100
+ attr_accessor :non_us_province
101
+
102
+ attr_accessor :country_code
103
+
104
+ attr_accessor :federal_e_file
105
+
106
+ attr_accessor :postal_mail
107
+
108
+ attr_accessor :state_e_file
109
+
110
+ attr_accessor :tin_match
111
+
112
+ attr_accessor :no_tin
113
+
114
+ attr_accessor :second_tin_notice
115
+
116
+ attr_accessor :address_verification
117
+
118
+ attr_accessor :federal_efile_status
119
+
120
+ attr_accessor :e_delivery_status
121
+
122
+ attr_accessor :state_efile_status
123
+
124
+ attr_accessor :postal_mail_status
125
+
126
+ attr_accessor :tin_match_status
127
+
128
+ attr_accessor :address_verification_status
129
+
130
+ attr_accessor :validation_errors
131
+
132
+ class EnumAttributeValidator
133
+ attr_reader :datatype
134
+ attr_reader :allowable_values
135
+
136
+ def initialize(datatype, allowable_values)
137
+ @allowable_values = allowable_values.map do |value|
138
+ case datatype.to_s
139
+ when /Integer/i
140
+ value.to_i
141
+ when /Float/i
142
+ value.to_f
143
+ else
144
+ value
145
+ end
146
+ end
147
+ end
148
+
149
+ def valid?(value)
150
+ !value || allowable_values.include?(value)
151
+ end
152
+ end
153
+
154
+ # Attribute mapping from ruby-style variable name to JSON key.
155
+ def self.attribute_map
156
+ {
157
+ :'interest_income' => :'interestIncome',
158
+ :'early_withdrawal_penalty' => :'earlyWithdrawalPenalty',
159
+ :'us_savings_bonds_interest' => :'usSavingsBondsInterest',
160
+ :'federal_income_tax_withheld' => :'federalIncomeTaxWithheld',
161
+ :'investment_expenses' => :'investmentExpenses',
162
+ :'foreign_tax_paid' => :'foreignTaxPaid',
163
+ :'foreign_country' => :'foreignCountry',
164
+ :'tax_exempt_interest' => :'taxExemptInterest',
165
+ :'specified_private_activity_bond_interest' => :'specifiedPrivateActivityBondInterest',
166
+ :'market_discount' => :'marketDiscount',
167
+ :'bond_premium' => :'bondPremium',
168
+ :'bond_premium_on_treasury_obligations' => :'bondPremiumOnTreasuryObligations',
169
+ :'bond_premium_on_tax_exempt_bond' => :'bondPremiumOnTaxExemptBond',
170
+ :'tax_exempt_bond_cusip_number' => :'taxExemptBondCusipNumber',
171
+ :'type' => :'type',
172
+ :'created_at' => :'createdAt',
173
+ :'updated_at' => :'updatedAt',
174
+ :'state_and_local_withholding' => :'stateAndLocalWithholding',
175
+ :'tin_type' => :'tinType',
176
+ :'id' => :'id',
177
+ :'issuer_id' => :'issuerId',
178
+ :'issuer_reference_id' => :'issuerReferenceId',
179
+ :'issuer_tin' => :'issuerTin',
180
+ :'tax_year' => :'taxYear',
181
+ :'reference_id' => :'referenceId',
182
+ :'recipient_name' => :'recipientName',
183
+ :'recipient_tin' => :'recipientTin',
184
+ :'recipient_second_name' => :'recipientSecondName',
185
+ :'address' => :'address',
186
+ :'address2' => :'address2',
187
+ :'city' => :'city',
188
+ :'state' => :'state',
189
+ :'zip' => :'zip',
190
+ :'email' => :'email',
191
+ :'account_number' => :'accountNumber',
192
+ :'office_code' => :'officeCode',
193
+ :'non_us_province' => :'nonUsProvince',
194
+ :'country_code' => :'countryCode',
195
+ :'federal_e_file' => :'federalEFile',
196
+ :'postal_mail' => :'postalMail',
197
+ :'state_e_file' => :'stateEFile',
198
+ :'tin_match' => :'tinMatch',
199
+ :'no_tin' => :'noTin',
200
+ :'second_tin_notice' => :'secondTinNotice',
201
+ :'address_verification' => :'addressVerification',
202
+ :'federal_efile_status' => :'federalEfileStatus',
203
+ :'e_delivery_status' => :'eDeliveryStatus',
204
+ :'state_efile_status' => :'stateEfileStatus',
205
+ :'postal_mail_status' => :'postalMailStatus',
206
+ :'tin_match_status' => :'tinMatchStatus',
207
+ :'address_verification_status' => :'addressVerificationStatus',
208
+ :'validation_errors' => :'validationErrors'
209
+ }
210
+ end
211
+
212
+ # Returns all the JSON keys this model knows about
213
+ def self.acceptable_attributes
214
+ attribute_map.values
215
+ end
216
+
217
+ # Attribute type mapping.
218
+ def self.openapi_types
219
+ {
220
+ :'interest_income' => :'Float',
221
+ :'early_withdrawal_penalty' => :'Float',
222
+ :'us_savings_bonds_interest' => :'Float',
223
+ :'federal_income_tax_withheld' => :'Float',
224
+ :'investment_expenses' => :'Float',
225
+ :'foreign_tax_paid' => :'Float',
226
+ :'foreign_country' => :'String',
227
+ :'tax_exempt_interest' => :'Float',
228
+ :'specified_private_activity_bond_interest' => :'Float',
229
+ :'market_discount' => :'Float',
230
+ :'bond_premium' => :'Float',
231
+ :'bond_premium_on_treasury_obligations' => :'Float',
232
+ :'bond_premium_on_tax_exempt_bond' => :'Float',
233
+ :'tax_exempt_bond_cusip_number' => :'String',
234
+ :'type' => :'String',
235
+ :'created_at' => :'Time',
236
+ :'updated_at' => :'Time',
237
+ :'state_and_local_withholding' => :'StateAndLocalWithholdingResponse',
238
+ :'tin_type' => :'String',
239
+ :'id' => :'String',
240
+ :'issuer_id' => :'String',
241
+ :'issuer_reference_id' => :'String',
242
+ :'issuer_tin' => :'String',
243
+ :'tax_year' => :'Integer',
244
+ :'reference_id' => :'String',
245
+ :'recipient_name' => :'String',
246
+ :'recipient_tin' => :'String',
247
+ :'recipient_second_name' => :'String',
248
+ :'address' => :'String',
249
+ :'address2' => :'String',
250
+ :'city' => :'String',
251
+ :'state' => :'String',
252
+ :'zip' => :'String',
253
+ :'email' => :'String',
254
+ :'account_number' => :'String',
255
+ :'office_code' => :'String',
256
+ :'non_us_province' => :'String',
257
+ :'country_code' => :'String',
258
+ :'federal_e_file' => :'Boolean',
259
+ :'postal_mail' => :'Boolean',
260
+ :'state_e_file' => :'Boolean',
261
+ :'tin_match' => :'Boolean',
262
+ :'no_tin' => :'Boolean',
263
+ :'second_tin_notice' => :'Boolean',
264
+ :'address_verification' => :'Boolean',
265
+ :'federal_efile_status' => :'StatusDetail',
266
+ :'e_delivery_status' => :'StatusDetail',
267
+ :'state_efile_status' => :'Array<StateEfileStatusDetailResponse>',
268
+ :'postal_mail_status' => :'StatusDetail',
269
+ :'tin_match_status' => :'StatusDetail',
270
+ :'address_verification_status' => :'StatusDetail',
271
+ :'validation_errors' => :'Array<ValidationErrorResponse>'
272
+ }
273
+ end
274
+
275
+ # List of attributes with nullable: true
276
+ def self.openapi_nullable
277
+ Set.new([
278
+ :'interest_income',
279
+ :'early_withdrawal_penalty',
280
+ :'us_savings_bonds_interest',
281
+ :'federal_income_tax_withheld',
282
+ :'investment_expenses',
283
+ :'foreign_tax_paid',
284
+ :'foreign_country',
285
+ :'tax_exempt_interest',
286
+ :'specified_private_activity_bond_interest',
287
+ :'market_discount',
288
+ :'bond_premium',
289
+ :'bond_premium_on_treasury_obligations',
290
+ :'bond_premium_on_tax_exempt_bond',
291
+ :'tax_exempt_bond_cusip_number',
292
+ :'federal_efile_status',
293
+ :'e_delivery_status',
294
+ :'state_efile_status',
295
+ :'postal_mail_status',
296
+ :'tin_match_status',
297
+ :'address_verification_status',
298
+ :'validation_errors'
299
+ ])
300
+ end
301
+
302
+ # List of class defined in allOf (OpenAPI v3)
303
+ def self.openapi_all_of
304
+ [
305
+ :'FormResponseBase'
306
+ ]
307
+ end
308
+
309
+ # Initializes the object
310
+ # @param [Hash] attributes Model attributes in the form of hash
311
+ def initialize(attributes = {})
312
+ if (!attributes.is_a?(Hash))
313
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::Form1099IntResponse` initialize method"
314
+ end
315
+
316
+ # check to see if the attribute exists and convert string to symbol for hash key
317
+ attributes = attributes.each_with_object({}) { |(k, v), h|
318
+ if (!self.class.attribute_map.key?(k.to_sym))
319
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::Form1099IntResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
320
+ end
321
+ h[k.to_sym] = v
322
+ }
323
+
324
+ if attributes.key?(:'interest_income')
325
+ self.interest_income = attributes[:'interest_income']
326
+ end
327
+
328
+ if attributes.key?(:'early_withdrawal_penalty')
329
+ self.early_withdrawal_penalty = attributes[:'early_withdrawal_penalty']
330
+ end
331
+
332
+ if attributes.key?(:'us_savings_bonds_interest')
333
+ self.us_savings_bonds_interest = attributes[:'us_savings_bonds_interest']
334
+ end
335
+
336
+ if attributes.key?(:'federal_income_tax_withheld')
337
+ self.federal_income_tax_withheld = attributes[:'federal_income_tax_withheld']
338
+ end
339
+
340
+ if attributes.key?(:'investment_expenses')
341
+ self.investment_expenses = attributes[:'investment_expenses']
342
+ end
343
+
344
+ if attributes.key?(:'foreign_tax_paid')
345
+ self.foreign_tax_paid = attributes[:'foreign_tax_paid']
346
+ end
347
+
348
+ if attributes.key?(:'foreign_country')
349
+ self.foreign_country = attributes[:'foreign_country']
350
+ end
351
+
352
+ if attributes.key?(:'tax_exempt_interest')
353
+ self.tax_exempt_interest = attributes[:'tax_exempt_interest']
354
+ end
355
+
356
+ if attributes.key?(:'specified_private_activity_bond_interest')
357
+ self.specified_private_activity_bond_interest = attributes[:'specified_private_activity_bond_interest']
358
+ end
359
+
360
+ if attributes.key?(:'market_discount')
361
+ self.market_discount = attributes[:'market_discount']
362
+ end
363
+
364
+ if attributes.key?(:'bond_premium')
365
+ self.bond_premium = attributes[:'bond_premium']
366
+ end
367
+
368
+ if attributes.key?(:'bond_premium_on_treasury_obligations')
369
+ self.bond_premium_on_treasury_obligations = attributes[:'bond_premium_on_treasury_obligations']
370
+ end
371
+
372
+ if attributes.key?(:'bond_premium_on_tax_exempt_bond')
373
+ self.bond_premium_on_tax_exempt_bond = attributes[:'bond_premium_on_tax_exempt_bond']
374
+ end
375
+
376
+ if attributes.key?(:'tax_exempt_bond_cusip_number')
377
+ self.tax_exempt_bond_cusip_number = attributes[:'tax_exempt_bond_cusip_number']
378
+ end
379
+
380
+ if attributes.key?(:'type')
381
+ self.type = attributes[:'type']
382
+ end
383
+
384
+ if attributes.key?(:'created_at')
385
+ self.created_at = attributes[:'created_at']
386
+ end
387
+
388
+ if attributes.key?(:'updated_at')
389
+ self.updated_at = attributes[:'updated_at']
390
+ end
391
+
392
+ if attributes.key?(:'state_and_local_withholding')
393
+ self.state_and_local_withholding = attributes[:'state_and_local_withholding']
394
+ end
395
+
396
+ if attributes.key?(:'tin_type')
397
+ self.tin_type = attributes[:'tin_type']
398
+ end
399
+
400
+ if attributes.key?(:'id')
401
+ self.id = attributes[:'id']
402
+ end
403
+
404
+ if attributes.key?(:'issuer_id')
405
+ self.issuer_id = attributes[:'issuer_id']
406
+ end
407
+
408
+ if attributes.key?(:'issuer_reference_id')
409
+ self.issuer_reference_id = attributes[:'issuer_reference_id']
410
+ end
411
+
412
+ if attributes.key?(:'issuer_tin')
413
+ self.issuer_tin = attributes[:'issuer_tin']
414
+ end
415
+
416
+ if attributes.key?(:'tax_year')
417
+ self.tax_year = attributes[:'tax_year']
418
+ end
419
+
420
+ if attributes.key?(:'reference_id')
421
+ self.reference_id = attributes[:'reference_id']
422
+ end
423
+
424
+ if attributes.key?(:'recipient_name')
425
+ self.recipient_name = attributes[:'recipient_name']
426
+ end
427
+
428
+ if attributes.key?(:'recipient_tin')
429
+ self.recipient_tin = attributes[:'recipient_tin']
430
+ end
431
+
432
+ if attributes.key?(:'recipient_second_name')
433
+ self.recipient_second_name = attributes[:'recipient_second_name']
434
+ end
435
+
436
+ if attributes.key?(:'address')
437
+ self.address = attributes[:'address']
438
+ end
439
+
440
+ if attributes.key?(:'address2')
441
+ self.address2 = attributes[:'address2']
442
+ end
443
+
444
+ if attributes.key?(:'city')
445
+ self.city = attributes[:'city']
446
+ end
447
+
448
+ if attributes.key?(:'state')
449
+ self.state = attributes[:'state']
450
+ end
451
+
452
+ if attributes.key?(:'zip')
453
+ self.zip = attributes[:'zip']
454
+ end
455
+
456
+ if attributes.key?(:'email')
457
+ self.email = attributes[:'email']
458
+ end
459
+
460
+ if attributes.key?(:'account_number')
461
+ self.account_number = attributes[:'account_number']
462
+ end
463
+
464
+ if attributes.key?(:'office_code')
465
+ self.office_code = attributes[:'office_code']
466
+ end
467
+
468
+ if attributes.key?(:'non_us_province')
469
+ self.non_us_province = attributes[:'non_us_province']
470
+ end
471
+
472
+ if attributes.key?(:'country_code')
473
+ self.country_code = attributes[:'country_code']
474
+ end
475
+
476
+ if attributes.key?(:'federal_e_file')
477
+ self.federal_e_file = attributes[:'federal_e_file']
478
+ end
479
+
480
+ if attributes.key?(:'postal_mail')
481
+ self.postal_mail = attributes[:'postal_mail']
482
+ end
483
+
484
+ if attributes.key?(:'state_e_file')
485
+ self.state_e_file = attributes[:'state_e_file']
486
+ end
487
+
488
+ if attributes.key?(:'tin_match')
489
+ self.tin_match = attributes[:'tin_match']
490
+ end
491
+
492
+ if attributes.key?(:'no_tin')
493
+ self.no_tin = attributes[:'no_tin']
494
+ end
495
+
496
+ if attributes.key?(:'second_tin_notice')
497
+ self.second_tin_notice = attributes[:'second_tin_notice']
498
+ end
499
+
500
+ if attributes.key?(:'address_verification')
501
+ self.address_verification = attributes[:'address_verification']
502
+ end
503
+
504
+ if attributes.key?(:'federal_efile_status')
505
+ self.federal_efile_status = attributes[:'federal_efile_status']
506
+ end
507
+
508
+ if attributes.key?(:'e_delivery_status')
509
+ self.e_delivery_status = attributes[:'e_delivery_status']
510
+ end
511
+
512
+ if attributes.key?(:'state_efile_status')
513
+ if (value = attributes[:'state_efile_status']).is_a?(Array)
514
+ self.state_efile_status = value
515
+ end
516
+ end
517
+
518
+ if attributes.key?(:'postal_mail_status')
519
+ self.postal_mail_status = attributes[:'postal_mail_status']
520
+ end
521
+
522
+ if attributes.key?(:'tin_match_status')
523
+ self.tin_match_status = attributes[:'tin_match_status']
524
+ end
525
+
526
+ if attributes.key?(:'address_verification_status')
527
+ self.address_verification_status = attributes[:'address_verification_status']
528
+ end
529
+
530
+ if attributes.key?(:'validation_errors')
531
+ if (value = attributes[:'validation_errors']).is_a?(Array)
532
+ self.validation_errors = value
533
+ end
534
+ end
535
+ end
536
+
537
+ # Show invalid properties with the reasons. Usually used together with valid?
538
+ # @return Array for valid properties with the reasons
539
+ def list_invalid_properties
540
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
541
+ invalid_properties = Array.new
542
+ invalid_properties
543
+ end
544
+
545
+ # Check to see if the all the properties in the model are valid
546
+ # @return true if the model is valid
547
+ def valid?
548
+ warn '[DEPRECATED] the `valid?` method is obsolete'
549
+ type_validator = EnumAttributeValidator.new('String', ["1099-NEC", "1099-MISC", "1099-DIV", "1099-R", "1099-K", "1095-B", "1042-S", "1095-C", "1099-INT"])
550
+ return false unless type_validator.valid?(@type)
551
+ tin_type_validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
552
+ return false unless tin_type_validator.valid?(@tin_type)
553
+ true
554
+ end
555
+
556
+ # Custom attribute writer method checking allowed values (enum).
557
+ # @param [Object] type Object to be assigned
558
+ def type=(type)
559
+ validator = EnumAttributeValidator.new('String', ["1099-NEC", "1099-MISC", "1099-DIV", "1099-R", "1099-K", "1095-B", "1042-S", "1095-C", "1099-INT"])
560
+ unless validator.valid?(type)
561
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
562
+ end
563
+ @type = type
564
+ end
565
+
566
+ # Custom attribute writer method checking allowed values (enum).
567
+ # @param [Object] tin_type Object to be assigned
568
+ def tin_type=(tin_type)
569
+ validator = EnumAttributeValidator.new('String', ["EIN", "SSN", "ITIN", "ATIN"])
570
+ unless validator.valid?(tin_type)
571
+ fail ArgumentError, "invalid value for \"tin_type\", must be one of #{validator.allowable_values}."
572
+ end
573
+ @tin_type = tin_type
574
+ end
575
+
576
+ # Custom attribute writer method with validation
577
+ # @param [Object] state_efile_status Value to be assigned
578
+ def state_efile_status=(state_efile_status)
579
+ @state_efile_status = state_efile_status
580
+ end
581
+
582
+ # Custom attribute writer method with validation
583
+ # @param [Object] validation_errors Value to be assigned
584
+ def validation_errors=(validation_errors)
585
+ @validation_errors = validation_errors
586
+ end
587
+
588
+ # Checks equality by comparing each attribute.
589
+ # @param [Object] Object to be compared
590
+ def ==(o)
591
+ return true if self.equal?(o)
592
+ self.class == o.class &&
593
+ interest_income == o.interest_income &&
594
+ early_withdrawal_penalty == o.early_withdrawal_penalty &&
595
+ us_savings_bonds_interest == o.us_savings_bonds_interest &&
596
+ federal_income_tax_withheld == o.federal_income_tax_withheld &&
597
+ investment_expenses == o.investment_expenses &&
598
+ foreign_tax_paid == o.foreign_tax_paid &&
599
+ foreign_country == o.foreign_country &&
600
+ tax_exempt_interest == o.tax_exempt_interest &&
601
+ specified_private_activity_bond_interest == o.specified_private_activity_bond_interest &&
602
+ market_discount == o.market_discount &&
603
+ bond_premium == o.bond_premium &&
604
+ bond_premium_on_treasury_obligations == o.bond_premium_on_treasury_obligations &&
605
+ bond_premium_on_tax_exempt_bond == o.bond_premium_on_tax_exempt_bond &&
606
+ tax_exempt_bond_cusip_number == o.tax_exempt_bond_cusip_number &&
607
+ type == o.type &&
608
+ created_at == o.created_at &&
609
+ updated_at == o.updated_at &&
610
+ state_and_local_withholding == o.state_and_local_withholding &&
611
+ tin_type == o.tin_type &&
612
+ id == o.id &&
613
+ issuer_id == o.issuer_id &&
614
+ issuer_reference_id == o.issuer_reference_id &&
615
+ issuer_tin == o.issuer_tin &&
616
+ tax_year == o.tax_year &&
617
+ reference_id == o.reference_id &&
618
+ recipient_name == o.recipient_name &&
619
+ recipient_tin == o.recipient_tin &&
620
+ recipient_second_name == o.recipient_second_name &&
621
+ address == o.address &&
622
+ address2 == o.address2 &&
623
+ city == o.city &&
624
+ state == o.state &&
625
+ zip == o.zip &&
626
+ email == o.email &&
627
+ account_number == o.account_number &&
628
+ office_code == o.office_code &&
629
+ non_us_province == o.non_us_province &&
630
+ country_code == o.country_code &&
631
+ federal_e_file == o.federal_e_file &&
632
+ postal_mail == o.postal_mail &&
633
+ state_e_file == o.state_e_file &&
634
+ tin_match == o.tin_match &&
635
+ no_tin == o.no_tin &&
636
+ second_tin_notice == o.second_tin_notice &&
637
+ address_verification == o.address_verification &&
638
+ federal_efile_status == o.federal_efile_status &&
639
+ e_delivery_status == o.e_delivery_status &&
640
+ state_efile_status == o.state_efile_status &&
641
+ postal_mail_status == o.postal_mail_status &&
642
+ tin_match_status == o.tin_match_status &&
643
+ address_verification_status == o.address_verification_status &&
644
+ validation_errors == o.validation_errors
645
+ end
646
+
647
+ # @see the `==` method
648
+ # @param [Object] Object to be compared
649
+ def eql?(o)
650
+ self == o
651
+ end
652
+
653
+ # Calculates hash code according to all attributes.
654
+ # @return [Integer] Hash code
655
+ def hash
656
+ [interest_income, early_withdrawal_penalty, us_savings_bonds_interest, federal_income_tax_withheld, investment_expenses, foreign_tax_paid, foreign_country, tax_exempt_interest, specified_private_activity_bond_interest, market_discount, bond_premium, bond_premium_on_treasury_obligations, bond_premium_on_tax_exempt_bond, tax_exempt_bond_cusip_number, type, created_at, updated_at, state_and_local_withholding, tin_type, id, issuer_id, issuer_reference_id, issuer_tin, tax_year, reference_id, recipient_name, recipient_tin, recipient_second_name, address, address2, city, state, zip, email, account_number, office_code, non_us_province, country_code, federal_e_file, postal_mail, state_e_file, tin_match, no_tin, second_tin_notice, address_verification, federal_efile_status, e_delivery_status, state_efile_status, postal_mail_status, tin_match_status, address_verification_status, validation_errors].hash
657
+ end
658
+
659
+ # Builds the object from hash
660
+ # @param [Hash] attributes Model attributes in the form of hash
661
+ # @return [Object] Returns the model itself
662
+ def self.build_from_hash(attributes)
663
+ return nil unless attributes.is_a?(Hash)
664
+ attributes = attributes.transform_keys(&:to_sym)
665
+ transformed_hash = {}
666
+ openapi_types.each_pair do |key, type|
667
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
668
+ transformed_hash["#{key}"] = nil
669
+ elsif type =~ /\AArray<(.*)>/i
670
+ # check to ensure the input is an array given that the attribute
671
+ # is documented as an array but the input is not
672
+ if attributes[attribute_map[key]].is_a?(Array)
673
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
674
+ end
675
+ elsif !attributes[attribute_map[key]].nil?
676
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
677
+ end
678
+ end
679
+ new(transformed_hash)
680
+ end
681
+
682
+ # Deserializes the data based on type
683
+ # @param string type Data type
684
+ # @param string value Value to be deserialized
685
+ # @return [Object] Deserialized data
686
+ def self._deserialize(type, value)
687
+ case type.to_sym
688
+ when :Time
689
+ Time.parse(value)
690
+ when :Date
691
+ Date.parse(value)
692
+ when :String
693
+ value.to_s
694
+ when :Integer
695
+ value.to_i
696
+ when :Float
697
+ value.to_f
698
+ when :Boolean
699
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
700
+ true
701
+ else
702
+ false
703
+ end
704
+ when :Object
705
+ # generic object (usually a Hash), return directly
706
+ value
707
+ when /\AArray<(?<inner_type>.+)>\z/
708
+ inner_type = Regexp.last_match[:inner_type]
709
+ value.map { |v| _deserialize(inner_type, v) }
710
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
711
+ k_type = Regexp.last_match[:k_type]
712
+ v_type = Regexp.last_match[:v_type]
713
+ {}.tap do |hash|
714
+ value.each do |k, v|
715
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
716
+ end
717
+ end
718
+ else # model
719
+ # models (e.g. Pet) or oneOf
720
+ klass = AvalaraSdk::A1099::V2.const_get(type)
721
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
722
+ end
723
+ end
724
+
725
+ # Returns the string representation of the object
726
+ # @return [String] String presentation of the object
727
+ def to_s
728
+ to_hash.to_s
729
+ end
730
+
731
+ # to_body is an alias to to_hash (backward compatibility)
732
+ # @return [Hash] Returns the object in the form of hash
733
+ def to_body
734
+ to_hash
735
+ end
736
+
737
+ # Returns the object in the form of hash
738
+ # @return [Hash] Returns the object in the form of hash
739
+ def to_hash
740
+ hash = {}
741
+ self.class.attribute_map.each_pair do |attr, param|
742
+ value = self.send(attr)
743
+ if value.nil?
744
+ is_nullable = self.class.openapi_nullable.include?(attr)
745
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
746
+ end
747
+
748
+ hash[param] = _to_hash(value)
749
+ end
750
+ hash
751
+ end
752
+
753
+ # Outputs non-array value in the form of hash
754
+ # For object, use to_hash. Otherwise, just return the value
755
+ # @param [Object] value Any valid value
756
+ # @return [Hash] Returns the value in the form of hash
757
+ def _to_hash(value)
758
+ if value.is_a?(Array)
759
+ value.compact.map { |v| _to_hash(v) }
760
+ elsif value.is_a?(Hash)
761
+ {}.tap do |hash|
762
+ value.each { |k, v| hash[k] = _to_hash(v) }
763
+ end
764
+ elsif value.respond_to? :to_hash
765
+ value.to_hash
766
+ else
767
+ value
768
+ end
769
+ end
770
+
771
+ end
772
+
773
+ end