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