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,741 @@
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 Form1099Int
14
+ attr_accessor :interest_income
15
+
16
+ attr_accessor :early_withdrawal_penalty
17
+
18
+ attr_accessor :us_savings_bonds_interest
19
+
20
+ attr_accessor :federal_income_tax_withheld
21
+
22
+ attr_accessor :investment_expenses
23
+
24
+ attr_accessor :foreign_tax_paid
25
+
26
+ attr_accessor :foreign_country
27
+
28
+ attr_accessor :tax_exempt_interest
29
+
30
+ attr_accessor :specified_private_activity_bond_interest
31
+
32
+ attr_accessor :market_discount
33
+
34
+ attr_accessor :bond_premium
35
+
36
+ attr_accessor :bond_premium_on_treasury_obligations
37
+
38
+ attr_accessor :bond_premium_on_tax_exempt_bond
39
+
40
+ attr_accessor :tax_exempt_bond_cusip_number
41
+
42
+ attr_accessor :id
43
+
44
+ attr_accessor :type
45
+
46
+ attr_accessor :issuer_id
47
+
48
+ attr_accessor :issuer_reference_id
49
+
50
+ attr_accessor :issuer_tin
51
+
52
+ attr_accessor :tax_year
53
+
54
+ attr_accessor :federal_efile
55
+
56
+ attr_accessor :federal_efile_status
57
+
58
+ attr_accessor :state_efile
59
+
60
+ attr_accessor :state_efile_status
61
+
62
+ attr_accessor :postal_mail
63
+
64
+ attr_accessor :postal_mail_status
65
+
66
+ attr_accessor :tin_match
67
+
68
+ attr_accessor :tin_match_status
69
+
70
+ attr_accessor :address_verification
71
+
72
+ attr_accessor :address_verification_status
73
+
74
+ attr_accessor :e_delivery_status
75
+
76
+ attr_accessor :reference_id
77
+
78
+ attr_accessor :email
79
+
80
+ attr_accessor :tin_type
81
+
82
+ attr_accessor :fatca_filing_requirement
83
+
84
+ attr_accessor :tin
85
+
86
+ attr_accessor :no_tin
87
+
88
+ attr_accessor :second_tin_notice
89
+
90
+ attr_accessor :recipient_name
91
+
92
+ attr_accessor :recipient_second_name
93
+
94
+ attr_accessor :address
95
+
96
+ attr_accessor :address2
97
+
98
+ attr_accessor :city
99
+
100
+ attr_accessor :state
101
+
102
+ attr_accessor :zip
103
+
104
+ attr_accessor :non_us_province
105
+
106
+ attr_accessor :country_code
107
+
108
+ attr_accessor :account_number
109
+
110
+ attr_accessor :office_code
111
+
112
+ attr_accessor :validation_errors
113
+
114
+ attr_accessor :created_at
115
+
116
+ attr_accessor :updated_at
117
+
118
+ attr_accessor :state_and_local_withholding
119
+
120
+ # Attribute mapping from ruby-style variable name to JSON key.
121
+ def self.attribute_map
122
+ {
123
+ :'interest_income' => :'interestIncome',
124
+ :'early_withdrawal_penalty' => :'earlyWithdrawalPenalty',
125
+ :'us_savings_bonds_interest' => :'usSavingsBondsInterest',
126
+ :'federal_income_tax_withheld' => :'federalIncomeTaxWithheld',
127
+ :'investment_expenses' => :'investmentExpenses',
128
+ :'foreign_tax_paid' => :'foreignTaxPaid',
129
+ :'foreign_country' => :'foreignCountry',
130
+ :'tax_exempt_interest' => :'taxExemptInterest',
131
+ :'specified_private_activity_bond_interest' => :'specifiedPrivateActivityBondInterest',
132
+ :'market_discount' => :'marketDiscount',
133
+ :'bond_premium' => :'bondPremium',
134
+ :'bond_premium_on_treasury_obligations' => :'bondPremiumOnTreasuryObligations',
135
+ :'bond_premium_on_tax_exempt_bond' => :'bondPremiumOnTaxExemptBond',
136
+ :'tax_exempt_bond_cusip_number' => :'taxExemptBondCusipNumber',
137
+ :'id' => :'id',
138
+ :'type' => :'type',
139
+ :'issuer_id' => :'issuerId',
140
+ :'issuer_reference_id' => :'issuerReferenceId',
141
+ :'issuer_tin' => :'issuerTin',
142
+ :'tax_year' => :'taxYear',
143
+ :'federal_efile' => :'federalEfile',
144
+ :'federal_efile_status' => :'federalEfileStatus',
145
+ :'state_efile' => :'stateEfile',
146
+ :'state_efile_status' => :'stateEfileStatus',
147
+ :'postal_mail' => :'postalMail',
148
+ :'postal_mail_status' => :'postalMailStatus',
149
+ :'tin_match' => :'tinMatch',
150
+ :'tin_match_status' => :'tinMatchStatus',
151
+ :'address_verification' => :'addressVerification',
152
+ :'address_verification_status' => :'addressVerificationStatus',
153
+ :'e_delivery_status' => :'eDeliveryStatus',
154
+ :'reference_id' => :'referenceId',
155
+ :'email' => :'email',
156
+ :'tin_type' => :'tinType',
157
+ :'fatca_filing_requirement' => :'fatcaFilingRequirement',
158
+ :'tin' => :'tin',
159
+ :'no_tin' => :'noTin',
160
+ :'second_tin_notice' => :'secondTinNotice',
161
+ :'recipient_name' => :'recipientName',
162
+ :'recipient_second_name' => :'recipientSecondName',
163
+ :'address' => :'address',
164
+ :'address2' => :'address2',
165
+ :'city' => :'city',
166
+ :'state' => :'state',
167
+ :'zip' => :'zip',
168
+ :'non_us_province' => :'nonUsProvince',
169
+ :'country_code' => :'countryCode',
170
+ :'account_number' => :'accountNumber',
171
+ :'office_code' => :'officeCode',
172
+ :'validation_errors' => :'validationErrors',
173
+ :'created_at' => :'createdAt',
174
+ :'updated_at' => :'updatedAt',
175
+ :'state_and_local_withholding' => :'stateAndLocalWithholding'
176
+ }
177
+ end
178
+
179
+ # Returns all the JSON keys this model knows about
180
+ def self.acceptable_attributes
181
+ attribute_map.values
182
+ end
183
+
184
+ # Attribute type mapping.
185
+ def self.openapi_types
186
+ {
187
+ :'interest_income' => :'Float',
188
+ :'early_withdrawal_penalty' => :'Float',
189
+ :'us_savings_bonds_interest' => :'Float',
190
+ :'federal_income_tax_withheld' => :'Float',
191
+ :'investment_expenses' => :'Float',
192
+ :'foreign_tax_paid' => :'Float',
193
+ :'foreign_country' => :'String',
194
+ :'tax_exempt_interest' => :'Float',
195
+ :'specified_private_activity_bond_interest' => :'Float',
196
+ :'market_discount' => :'Float',
197
+ :'bond_premium' => :'Float',
198
+ :'bond_premium_on_treasury_obligations' => :'Float',
199
+ :'bond_premium_on_tax_exempt_bond' => :'Float',
200
+ :'tax_exempt_bond_cusip_number' => :'String',
201
+ :'id' => :'String',
202
+ :'type' => :'String',
203
+ :'issuer_id' => :'Integer',
204
+ :'issuer_reference_id' => :'String',
205
+ :'issuer_tin' => :'String',
206
+ :'tax_year' => :'Integer',
207
+ :'federal_efile' => :'Boolean',
208
+ :'federal_efile_status' => :'Form1099StatusDetail',
209
+ :'state_efile' => :'Boolean',
210
+ :'state_efile_status' => :'Array<StateEfileStatusDetail>',
211
+ :'postal_mail' => :'Boolean',
212
+ :'postal_mail_status' => :'Form1099StatusDetail',
213
+ :'tin_match' => :'Boolean',
214
+ :'tin_match_status' => :'Form1099StatusDetail',
215
+ :'address_verification' => :'Boolean',
216
+ :'address_verification_status' => :'Form1099StatusDetail',
217
+ :'e_delivery_status' => :'Form1099StatusDetail',
218
+ :'reference_id' => :'String',
219
+ :'email' => :'String',
220
+ :'tin_type' => :'String',
221
+ :'fatca_filing_requirement' => :'Boolean',
222
+ :'tin' => :'String',
223
+ :'no_tin' => :'Boolean',
224
+ :'second_tin_notice' => :'Boolean',
225
+ :'recipient_name' => :'String',
226
+ :'recipient_second_name' => :'String',
227
+ :'address' => :'String',
228
+ :'address2' => :'String',
229
+ :'city' => :'String',
230
+ :'state' => :'String',
231
+ :'zip' => :'String',
232
+ :'non_us_province' => :'String',
233
+ :'country_code' => :'String',
234
+ :'account_number' => :'String',
235
+ :'office_code' => :'String',
236
+ :'validation_errors' => :'Array<ValidationError>',
237
+ :'created_at' => :'Time',
238
+ :'updated_at' => :'Time',
239
+ :'state_and_local_withholding' => :'StateAndLocalWithholding'
240
+ }
241
+ end
242
+
243
+ # List of attributes with nullable: true
244
+ def self.openapi_nullable
245
+ Set.new([
246
+ :'interest_income',
247
+ :'early_withdrawal_penalty',
248
+ :'us_savings_bonds_interest',
249
+ :'federal_income_tax_withheld',
250
+ :'investment_expenses',
251
+ :'foreign_tax_paid',
252
+ :'foreign_country',
253
+ :'tax_exempt_interest',
254
+ :'specified_private_activity_bond_interest',
255
+ :'market_discount',
256
+ :'bond_premium',
257
+ :'bond_premium_on_treasury_obligations',
258
+ :'bond_premium_on_tax_exempt_bond',
259
+ :'tax_exempt_bond_cusip_number',
260
+ :'issuer_reference_id',
261
+ :'issuer_tin',
262
+ :'state_efile_status',
263
+ :'postal_mail_status',
264
+ :'tin_match_status',
265
+ :'address_verification_status',
266
+ :'e_delivery_status',
267
+ :'reference_id',
268
+ :'email',
269
+ :'tin_type',
270
+ :'fatca_filing_requirement',
271
+ :'tin',
272
+ :'second_tin_notice',
273
+ :'recipient_name',
274
+ :'recipient_second_name',
275
+ :'address',
276
+ :'address2',
277
+ :'city',
278
+ :'state',
279
+ :'zip',
280
+ :'non_us_province',
281
+ :'country_code',
282
+ :'account_number',
283
+ :'office_code',
284
+ :'validation_errors',
285
+ :'state_and_local_withholding'
286
+ ])
287
+ end
288
+
289
+ # List of class defined in allOf (OpenAPI v3)
290
+ def self.openapi_all_of
291
+ [
292
+ :'Form1099Base'
293
+ ]
294
+ end
295
+
296
+ # Initializes the object
297
+ # @param [Hash] attributes Model attributes in the form of hash
298
+ def initialize(attributes = {})
299
+ if (!attributes.is_a?(Hash))
300
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::Form1099Int` initialize method"
301
+ end
302
+
303
+ # check to see if the attribute exists and convert string to symbol for hash key
304
+ attributes = attributes.each_with_object({}) { |(k, v), h|
305
+ if (!self.class.attribute_map.key?(k.to_sym))
306
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::Form1099Int`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
307
+ end
308
+ h[k.to_sym] = v
309
+ }
310
+
311
+ if attributes.key?(:'interest_income')
312
+ self.interest_income = attributes[:'interest_income']
313
+ end
314
+
315
+ if attributes.key?(:'early_withdrawal_penalty')
316
+ self.early_withdrawal_penalty = attributes[:'early_withdrawal_penalty']
317
+ end
318
+
319
+ if attributes.key?(:'us_savings_bonds_interest')
320
+ self.us_savings_bonds_interest = attributes[:'us_savings_bonds_interest']
321
+ end
322
+
323
+ if attributes.key?(:'federal_income_tax_withheld')
324
+ self.federal_income_tax_withheld = attributes[:'federal_income_tax_withheld']
325
+ end
326
+
327
+ if attributes.key?(:'investment_expenses')
328
+ self.investment_expenses = attributes[:'investment_expenses']
329
+ end
330
+
331
+ if attributes.key?(:'foreign_tax_paid')
332
+ self.foreign_tax_paid = attributes[:'foreign_tax_paid']
333
+ end
334
+
335
+ if attributes.key?(:'foreign_country')
336
+ self.foreign_country = attributes[:'foreign_country']
337
+ end
338
+
339
+ if attributes.key?(:'tax_exempt_interest')
340
+ self.tax_exempt_interest = attributes[:'tax_exempt_interest']
341
+ end
342
+
343
+ if attributes.key?(:'specified_private_activity_bond_interest')
344
+ self.specified_private_activity_bond_interest = attributes[:'specified_private_activity_bond_interest']
345
+ end
346
+
347
+ if attributes.key?(:'market_discount')
348
+ self.market_discount = attributes[:'market_discount']
349
+ end
350
+
351
+ if attributes.key?(:'bond_premium')
352
+ self.bond_premium = attributes[:'bond_premium']
353
+ end
354
+
355
+ if attributes.key?(:'bond_premium_on_treasury_obligations')
356
+ self.bond_premium_on_treasury_obligations = attributes[:'bond_premium_on_treasury_obligations']
357
+ end
358
+
359
+ if attributes.key?(:'bond_premium_on_tax_exempt_bond')
360
+ self.bond_premium_on_tax_exempt_bond = attributes[:'bond_premium_on_tax_exempt_bond']
361
+ end
362
+
363
+ if attributes.key?(:'tax_exempt_bond_cusip_number')
364
+ self.tax_exempt_bond_cusip_number = attributes[:'tax_exempt_bond_cusip_number']
365
+ end
366
+
367
+ if attributes.key?(:'id')
368
+ self.id = attributes[:'id']
369
+ end
370
+
371
+ if attributes.key?(:'type')
372
+ self.type = attributes[:'type']
373
+ end
374
+
375
+ if attributes.key?(:'issuer_id')
376
+ self.issuer_id = attributes[:'issuer_id']
377
+ end
378
+
379
+ if attributes.key?(:'issuer_reference_id')
380
+ self.issuer_reference_id = attributes[:'issuer_reference_id']
381
+ end
382
+
383
+ if attributes.key?(:'issuer_tin')
384
+ self.issuer_tin = attributes[:'issuer_tin']
385
+ end
386
+
387
+ if attributes.key?(:'tax_year')
388
+ self.tax_year = attributes[:'tax_year']
389
+ end
390
+
391
+ if attributes.key?(:'federal_efile')
392
+ self.federal_efile = attributes[:'federal_efile']
393
+ end
394
+
395
+ if attributes.key?(:'federal_efile_status')
396
+ self.federal_efile_status = attributes[:'federal_efile_status']
397
+ end
398
+
399
+ if attributes.key?(:'state_efile')
400
+ self.state_efile = attributes[:'state_efile']
401
+ end
402
+
403
+ if attributes.key?(:'state_efile_status')
404
+ if (value = attributes[:'state_efile_status']).is_a?(Array)
405
+ self.state_efile_status = value
406
+ end
407
+ end
408
+
409
+ if attributes.key?(:'postal_mail')
410
+ self.postal_mail = attributes[:'postal_mail']
411
+ end
412
+
413
+ if attributes.key?(:'postal_mail_status')
414
+ self.postal_mail_status = attributes[:'postal_mail_status']
415
+ end
416
+
417
+ if attributes.key?(:'tin_match')
418
+ self.tin_match = attributes[:'tin_match']
419
+ end
420
+
421
+ if attributes.key?(:'tin_match_status')
422
+ self.tin_match_status = attributes[:'tin_match_status']
423
+ end
424
+
425
+ if attributes.key?(:'address_verification')
426
+ self.address_verification = attributes[:'address_verification']
427
+ end
428
+
429
+ if attributes.key?(:'address_verification_status')
430
+ self.address_verification_status = attributes[:'address_verification_status']
431
+ end
432
+
433
+ if attributes.key?(:'e_delivery_status')
434
+ self.e_delivery_status = attributes[:'e_delivery_status']
435
+ end
436
+
437
+ if attributes.key?(:'reference_id')
438
+ self.reference_id = attributes[:'reference_id']
439
+ end
440
+
441
+ if attributes.key?(:'email')
442
+ self.email = attributes[:'email']
443
+ end
444
+
445
+ if attributes.key?(:'tin_type')
446
+ self.tin_type = attributes[:'tin_type']
447
+ end
448
+
449
+ if attributes.key?(:'fatca_filing_requirement')
450
+ self.fatca_filing_requirement = attributes[:'fatca_filing_requirement']
451
+ end
452
+
453
+ if attributes.key?(:'tin')
454
+ self.tin = attributes[:'tin']
455
+ end
456
+
457
+ if attributes.key?(:'no_tin')
458
+ self.no_tin = attributes[:'no_tin']
459
+ end
460
+
461
+ if attributes.key?(:'second_tin_notice')
462
+ self.second_tin_notice = attributes[:'second_tin_notice']
463
+ end
464
+
465
+ if attributes.key?(:'recipient_name')
466
+ self.recipient_name = attributes[:'recipient_name']
467
+ end
468
+
469
+ if attributes.key?(:'recipient_second_name')
470
+ self.recipient_second_name = attributes[:'recipient_second_name']
471
+ end
472
+
473
+ if attributes.key?(:'address')
474
+ self.address = attributes[:'address']
475
+ end
476
+
477
+ if attributes.key?(:'address2')
478
+ self.address2 = attributes[:'address2']
479
+ end
480
+
481
+ if attributes.key?(:'city')
482
+ self.city = attributes[:'city']
483
+ end
484
+
485
+ if attributes.key?(:'state')
486
+ self.state = attributes[:'state']
487
+ end
488
+
489
+ if attributes.key?(:'zip')
490
+ self.zip = attributes[:'zip']
491
+ end
492
+
493
+ if attributes.key?(:'non_us_province')
494
+ self.non_us_province = attributes[:'non_us_province']
495
+ end
496
+
497
+ if attributes.key?(:'country_code')
498
+ self.country_code = attributes[:'country_code']
499
+ end
500
+
501
+ if attributes.key?(:'account_number')
502
+ self.account_number = attributes[:'account_number']
503
+ end
504
+
505
+ if attributes.key?(:'office_code')
506
+ self.office_code = attributes[:'office_code']
507
+ end
508
+
509
+ if attributes.key?(:'validation_errors')
510
+ if (value = attributes[:'validation_errors']).is_a?(Array)
511
+ self.validation_errors = value
512
+ end
513
+ end
514
+
515
+ if attributes.key?(:'created_at')
516
+ self.created_at = attributes[:'created_at']
517
+ end
518
+
519
+ if attributes.key?(:'updated_at')
520
+ self.updated_at = attributes[:'updated_at']
521
+ end
522
+
523
+ if attributes.key?(:'state_and_local_withholding')
524
+ self.state_and_local_withholding = attributes[:'state_and_local_withholding']
525
+ end
526
+ end
527
+
528
+ # Show invalid properties with the reasons. Usually used together with valid?
529
+ # @return Array for valid properties with the reasons
530
+ def list_invalid_properties
531
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
532
+ invalid_properties = Array.new
533
+ invalid_properties
534
+ end
535
+
536
+ # Check to see if the all the properties in the model are valid
537
+ # @return true if the model is valid
538
+ def valid?
539
+ warn '[DEPRECATED] the `valid?` method is obsolete'
540
+ true
541
+ end
542
+
543
+ # Custom attribute writer method with validation
544
+ # @param [Object] state_efile_status Value to be assigned
545
+ def state_efile_status=(state_efile_status)
546
+ @state_efile_status = state_efile_status
547
+ end
548
+
549
+ # Custom attribute writer method with validation
550
+ # @param [Object] validation_errors Value to be assigned
551
+ def validation_errors=(validation_errors)
552
+ @validation_errors = validation_errors
553
+ end
554
+
555
+ # Checks equality by comparing each attribute.
556
+ # @param [Object] Object to be compared
557
+ def ==(o)
558
+ return true if self.equal?(o)
559
+ self.class == o.class &&
560
+ interest_income == o.interest_income &&
561
+ early_withdrawal_penalty == o.early_withdrawal_penalty &&
562
+ us_savings_bonds_interest == o.us_savings_bonds_interest &&
563
+ federal_income_tax_withheld == o.federal_income_tax_withheld &&
564
+ investment_expenses == o.investment_expenses &&
565
+ foreign_tax_paid == o.foreign_tax_paid &&
566
+ foreign_country == o.foreign_country &&
567
+ tax_exempt_interest == o.tax_exempt_interest &&
568
+ specified_private_activity_bond_interest == o.specified_private_activity_bond_interest &&
569
+ market_discount == o.market_discount &&
570
+ bond_premium == o.bond_premium &&
571
+ bond_premium_on_treasury_obligations == o.bond_premium_on_treasury_obligations &&
572
+ bond_premium_on_tax_exempt_bond == o.bond_premium_on_tax_exempt_bond &&
573
+ tax_exempt_bond_cusip_number == o.tax_exempt_bond_cusip_number &&
574
+ id == o.id &&
575
+ type == o.type &&
576
+ issuer_id == o.issuer_id &&
577
+ issuer_reference_id == o.issuer_reference_id &&
578
+ issuer_tin == o.issuer_tin &&
579
+ tax_year == o.tax_year &&
580
+ federal_efile == o.federal_efile &&
581
+ federal_efile_status == o.federal_efile_status &&
582
+ state_efile == o.state_efile &&
583
+ state_efile_status == o.state_efile_status &&
584
+ postal_mail == o.postal_mail &&
585
+ postal_mail_status == o.postal_mail_status &&
586
+ tin_match == o.tin_match &&
587
+ tin_match_status == o.tin_match_status &&
588
+ address_verification == o.address_verification &&
589
+ address_verification_status == o.address_verification_status &&
590
+ e_delivery_status == o.e_delivery_status &&
591
+ reference_id == o.reference_id &&
592
+ email == o.email &&
593
+ tin_type == o.tin_type &&
594
+ fatca_filing_requirement == o.fatca_filing_requirement &&
595
+ tin == o.tin &&
596
+ no_tin == o.no_tin &&
597
+ second_tin_notice == o.second_tin_notice &&
598
+ recipient_name == o.recipient_name &&
599
+ recipient_second_name == o.recipient_second_name &&
600
+ address == o.address &&
601
+ address2 == o.address2 &&
602
+ city == o.city &&
603
+ state == o.state &&
604
+ zip == o.zip &&
605
+ non_us_province == o.non_us_province &&
606
+ country_code == o.country_code &&
607
+ account_number == o.account_number &&
608
+ office_code == o.office_code &&
609
+ validation_errors == o.validation_errors &&
610
+ created_at == o.created_at &&
611
+ updated_at == o.updated_at &&
612
+ state_and_local_withholding == o.state_and_local_withholding
613
+ end
614
+
615
+ # @see the `==` method
616
+ # @param [Object] Object to be compared
617
+ def eql?(o)
618
+ self == o
619
+ end
620
+
621
+ # Calculates hash code according to all attributes.
622
+ # @return [Integer] Hash code
623
+ def hash
624
+ [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, id, type, issuer_id, issuer_reference_id, issuer_tin, tax_year, federal_efile, federal_efile_status, state_efile, state_efile_status, postal_mail, postal_mail_status, tin_match, tin_match_status, address_verification, address_verification_status, e_delivery_status, reference_id, email, tin_type, fatca_filing_requirement, tin, no_tin, second_tin_notice, recipient_name, recipient_second_name, address, address2, city, state, zip, non_us_province, country_code, account_number, office_code, validation_errors, created_at, updated_at, state_and_local_withholding].hash
625
+ end
626
+
627
+ # Builds the object from hash
628
+ # @param [Hash] attributes Model attributes in the form of hash
629
+ # @return [Object] Returns the model itself
630
+ def self.build_from_hash(attributes)
631
+ return nil unless attributes.is_a?(Hash)
632
+ attributes = attributes.transform_keys(&:to_sym)
633
+ transformed_hash = {}
634
+ openapi_types.each_pair do |key, type|
635
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
636
+ transformed_hash["#{key}"] = nil
637
+ elsif type =~ /\AArray<(.*)>/i
638
+ # check to ensure the input is an array given that the attribute
639
+ # is documented as an array but the input is not
640
+ if attributes[attribute_map[key]].is_a?(Array)
641
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
642
+ end
643
+ elsif !attributes[attribute_map[key]].nil?
644
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
645
+ end
646
+ end
647
+ new(transformed_hash)
648
+ end
649
+
650
+ # Deserializes the data based on type
651
+ # @param string type Data type
652
+ # @param string value Value to be deserialized
653
+ # @return [Object] Deserialized data
654
+ def self._deserialize(type, value)
655
+ case type.to_sym
656
+ when :Time
657
+ Time.parse(value)
658
+ when :Date
659
+ Date.parse(value)
660
+ when :String
661
+ value.to_s
662
+ when :Integer
663
+ value.to_i
664
+ when :Float
665
+ value.to_f
666
+ when :Boolean
667
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
668
+ true
669
+ else
670
+ false
671
+ end
672
+ when :Object
673
+ # generic object (usually a Hash), return directly
674
+ value
675
+ when /\AArray<(?<inner_type>.+)>\z/
676
+ inner_type = Regexp.last_match[:inner_type]
677
+ value.map { |v| _deserialize(inner_type, v) }
678
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
679
+ k_type = Regexp.last_match[:k_type]
680
+ v_type = Regexp.last_match[:v_type]
681
+ {}.tap do |hash|
682
+ value.each do |k, v|
683
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
684
+ end
685
+ end
686
+ else # model
687
+ # models (e.g. Pet) or oneOf
688
+ klass = AvalaraSdk::A1099::V2.const_get(type)
689
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
690
+ end
691
+ end
692
+
693
+ # Returns the string representation of the object
694
+ # @return [String] String presentation of the object
695
+ def to_s
696
+ to_hash.to_s
697
+ end
698
+
699
+ # to_body is an alias to to_hash (backward compatibility)
700
+ # @return [Hash] Returns the object in the form of hash
701
+ def to_body
702
+ to_hash
703
+ end
704
+
705
+ # Returns the object in the form of hash
706
+ # @return [Hash] Returns the object in the form of hash
707
+ def to_hash
708
+ hash = {}
709
+ self.class.attribute_map.each_pair do |attr, param|
710
+ value = self.send(attr)
711
+ if value.nil?
712
+ is_nullable = self.class.openapi_nullable.include?(attr)
713
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
714
+ end
715
+
716
+ hash[param] = _to_hash(value)
717
+ end
718
+ hash
719
+ end
720
+
721
+ # Outputs non-array value in the form of hash
722
+ # For object, use to_hash. Otherwise, just return the value
723
+ # @param [Object] value Any valid value
724
+ # @return [Hash] Returns the value in the form of hash
725
+ def _to_hash(value)
726
+ if value.is_a?(Array)
727
+ value.compact.map { |v| _to_hash(v) }
728
+ elsif value.is_a?(Hash)
729
+ {}.tap do |hash|
730
+ value.each { |k, v| hash[k] = _to_hash(v) }
731
+ end
732
+ elsif value.respond_to? :to_hash
733
+ value.to_hash
734
+ else
735
+ value
736
+ end
737
+ end
738
+
739
+ end
740
+
741
+ end