avalara_sdk 25.7.2 → 25.8.0

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 (308) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +76 -39
  3. data/docs/A1099/V2/BulkUpsert1099FormsRequest.md +3 -1
  4. data/docs/A1099/V2/CompaniesW9Api.md +22 -22
  5. data/docs/A1099/V2/CoveredIndividualReferenceResponse.md +56 -0
  6. data/docs/A1099/V2/CoveredIndividualRequest.md +19 -19
  7. data/docs/A1099/V2/Create1099Form201Response.md +59 -0
  8. data/docs/A1099/V2/CreateW9Form201Response.md +55 -0
  9. data/docs/A1099/V2/CreateW9FormRequest.md +55 -0
  10. data/docs/A1099/V2/Form1042SList.md +20 -0
  11. data/docs/A1099/V2/Form1042SListItem.md +108 -0
  12. data/docs/A1099/V2/Form1042SListItemResponse.md +130 -0
  13. data/docs/A1099/V2/Form1042SRequest.md +110 -0
  14. data/docs/A1099/V2/Form1042SResponse.md +88 -0
  15. data/docs/A1099/V2/Form1095BListItem.md +31 -31
  16. data/docs/A1099/V2/Form1095BListItemResponse.md +86 -0
  17. data/docs/A1099/V2/Form1095BRequest.md +33 -33
  18. data/docs/A1099/V2/Form1099BaseResponse.md +82 -0
  19. data/docs/A1099/V2/Form1099DivListItem.md +45 -45
  20. data/docs/A1099/V2/Form1099DivRequest.md +44 -44
  21. data/docs/A1099/V2/Form1099DivResponse.md +3 -3
  22. data/docs/A1099/V2/Form1099KListItem.md +46 -46
  23. data/docs/A1099/V2/Form1099KListItemResponse.md +122 -0
  24. data/docs/A1099/V2/Form1099KRequest.md +45 -45
  25. data/docs/A1099/V2/Form1099ListResponse.md +18 -0
  26. data/docs/A1099/V2/Form1099ListResponseValueInner.md +59 -0
  27. data/docs/A1099/V2/Form1099MiscListItem.md +43 -43
  28. data/docs/A1099/V2/Form1099MiscListItemResponse.md +108 -0
  29. data/docs/A1099/V2/Form1099MiscRequest.md +42 -42
  30. data/docs/A1099/V2/Form1099MiscResponse.md +5 -5
  31. data/docs/A1099/V2/Form1099NecListItem.md +31 -31
  32. data/docs/A1099/V2/Form1099NecListItemResponse.md +88 -0
  33. data/docs/A1099/V2/Form1099NecRequest.md +30 -30
  34. data/docs/A1099/V2/Form1099NecResponse.md +5 -5
  35. data/docs/A1099/V2/Form1099RListItem.md +47 -47
  36. data/docs/A1099/V2/Form1099RListItemResponse.md +122 -0
  37. data/docs/A1099/V2/Form1099RRequest.md +45 -45
  38. data/docs/A1099/V2/Form1099StatusDetailResponse.md +20 -0
  39. data/docs/A1099/V2/FormRequestBase.md +23 -23
  40. data/docs/A1099/V2/FormRequestListItemBase.md +66 -0
  41. data/docs/A1099/V2/FormResponseBase.md +3 -3
  42. data/docs/A1099/V2/FormSingleRequestBase.md +25 -25
  43. data/docs/A1099/V2/Forms1099Api.md +75 -63
  44. data/docs/A1099/V2/FormsW9Api.md +61 -56
  45. data/docs/A1099/V2/Get1099Form200Response.md +15 -11
  46. data/docs/A1099/V2/IntermediaryOrFlowThrough.md +38 -0
  47. data/docs/A1099/V2/IntermediaryOrFlowThroughRequest.md +38 -0
  48. data/docs/A1099/V2/IntermediaryOrFlowThroughResponse.md +38 -0
  49. data/docs/A1099/V2/Issuers1099Api.md +23 -23
  50. data/docs/A1099/V2/JobResult.md +15 -15
  51. data/docs/A1099/V2/Jobs1099Api.md +2 -2
  52. data/docs/A1099/V2/PrimaryWithholdingAgent.md +20 -0
  53. data/docs/A1099/V2/PrimaryWithholdingAgentRequest.md +20 -0
  54. data/docs/A1099/V2/PrimaryWithholdingAgentResponse.md +20 -0
  55. data/docs/A1099/V2/StateAndLocalWithholdingResponse.md +8 -8
  56. data/docs/A1099/V2/StateEfileStatusDetailResponse.md +22 -0
  57. data/docs/A1099/V2/SubstantialUsOwnerRequest.md +22 -0
  58. data/docs/A1099/V2/Update1099Form200Response.md +3 -1
  59. data/docs/A1099/V2/ValidationErrorResponse.md +20 -0
  60. data/docs/A1099/V2/W4FormDataModel.md +5 -5
  61. data/docs/A1099/V2/W4FormRequest.md +66 -0
  62. data/docs/A1099/V2/W8BenEFormRequest.md +218 -0
  63. data/docs/A1099/V2/W8BenEFormResponse.md +3 -3
  64. data/docs/A1099/V2/W8BenFormDataModel.md +5 -5
  65. data/docs/A1099/V2/W8BenFormRequest.md +76 -0
  66. data/docs/A1099/V2/W8BeneFormDataModel.md +5 -5
  67. data/docs/A1099/V2/W8ImyFormDataModel.md +5 -5
  68. data/docs/A1099/V2/W8ImyFormRequest.md +250 -0
  69. data/docs/A1099/V2/W8ImyFormResponse.md +2 -2
  70. data/docs/A1099/V2/W9FormBaseRequest.md +28 -0
  71. data/docs/A1099/V2/W9FormDataModel.md +5 -5
  72. data/docs/A1099/V2/W9FormRequest.md +64 -0
  73. data/docs/EInvoicing/V1/Address.md +28 -0
  74. data/docs/EInvoicing/V1/BatchErrorDetail.md +20 -0
  75. data/docs/EInvoicing/V1/BatchSearchListResponse.md +2 -2
  76. data/docs/EInvoicing/V1/Consents.md +18 -0
  77. data/docs/EInvoicing/V1/CreateTradingPartner201Response.md +22 -0
  78. data/docs/EInvoicing/V1/CreateTradingPartnersBatch200Response.md +22 -0
  79. data/docs/EInvoicing/V1/CreateTradingPartnersBatch200ResponseValueInner.md +22 -0
  80. data/docs/EInvoicing/V1/CreateTradingPartnersBatchRequest.md +18 -0
  81. data/docs/EInvoicing/V1/DataInputFieldsApi.md +5 -5
  82. data/docs/EInvoicing/V1/DocumentsApi.md +9 -9
  83. data/docs/EInvoicing/V1/Extension.md +20 -0
  84. data/docs/EInvoicing/V1/Identifier.md +22 -0
  85. data/docs/EInvoicing/V1/InteropApi.md +1 -1
  86. data/docs/EInvoicing/V1/MandatesApi.md +6 -6
  87. data/docs/EInvoicing/V1/SearchParticipants200Response.md +22 -0
  88. data/docs/EInvoicing/V1/SubscriptionsApi.md +12 -12
  89. data/docs/EInvoicing/V1/SupportedDocumentTypes.md +26 -0
  90. data/docs/EInvoicing/V1/TaxIdentifierRequest.md +24 -0
  91. data/docs/EInvoicing/V1/TaxIdentifierResponse.md +20 -0
  92. data/docs/EInvoicing/V1/TaxIdentifierResponseValue.md +22 -0
  93. data/docs/EInvoicing/V1/TaxIdentifierSchemaByCountry200Response.md +20 -0
  94. data/docs/EInvoicing/V1/TaxIdentifiersApi.md +177 -0
  95. data/docs/EInvoicing/V1/TradingPartner.md +34 -0
  96. data/docs/EInvoicing/V1/TradingPartnersApi.md +412 -75
  97. data/docs/EInvoicing/V1/UpdateTradingPartner200Response.md +22 -0
  98. data/docs/EInvoicing/V1/ValidationError.md +20 -0
  99. data/lib/avalara_sdk/api/A1099/V2/companies_w9_api.rb +14 -14
  100. data/lib/avalara_sdk/api/A1099/V2/forms1099_api.rb +51 -39
  101. data/lib/avalara_sdk/api/A1099/V2/forms_w9_api.rb +56 -50
  102. data/lib/avalara_sdk/api/A1099/V2/issuers1099_api.rb +20 -20
  103. data/lib/avalara_sdk/api/A1099/V2/jobs1099_api.rb +2 -2
  104. data/lib/avalara_sdk/api/EInvoicing/V1/data_input_fields_api.rb +7 -7
  105. data/lib/avalara_sdk/api/EInvoicing/V1/documents_api.rb +11 -11
  106. data/lib/avalara_sdk/api/EInvoicing/V1/interop_api.rb +2 -2
  107. data/lib/avalara_sdk/api/EInvoicing/V1/mandates_api.rb +8 -8
  108. data/lib/avalara_sdk/api/EInvoicing/V1/subscriptions_api.rb +21 -21
  109. data/lib/avalara_sdk/api/EInvoicing/V1/tax_identifiers_api.rb +531 -0
  110. data/lib/avalara_sdk/api/EInvoicing/V1/trading_partners_api.rb +660 -80
  111. data/lib/avalara_sdk/models/A1099/V2/attribute.rb +1 -1
  112. data/lib/avalara_sdk/models/A1099/V2/authorized_api_request_model.rb +1 -1
  113. data/lib/avalara_sdk/models/A1099/V2/authorized_api_request_v2_data_model.rb +1 -1
  114. data/lib/avalara_sdk/models/A1099/V2/base_company_model.rb +1 -1
  115. data/lib/avalara_sdk/models/A1099/V2/base_form_list_request.rb +1 -1
  116. data/lib/avalara_sdk/models/A1099/V2/bulk_upsert1099_forms_request.rb +2 -1
  117. data/lib/avalara_sdk/models/A1099/V2/company_create_update_request_model.rb +1 -1
  118. data/lib/avalara_sdk/models/A1099/V2/company_model.rb +1 -1
  119. data/lib/avalara_sdk/models/A1099/V2/company_response.rb +1 -1
  120. data/lib/avalara_sdk/models/A1099/V2/company_response_model.rb +1 -1
  121. data/lib/avalara_sdk/models/A1099/V2/covered_individual_reference_response.rb +407 -0
  122. data/lib/avalara_sdk/models/A1099/V2/covered_individual_request.rb +20 -1
  123. data/lib/avalara_sdk/models/A1099/V2/create1099_form201_response.rb +106 -0
  124. data/lib/avalara_sdk/models/A1099/V2/create_w9_form201_response.rb +104 -0
  125. data/lib/avalara_sdk/models/A1099/V2/create_w9_form_request.rb +104 -0
  126. data/lib/avalara_sdk/models/A1099/V2/data.rb +1 -1
  127. data/lib/avalara_sdk/models/A1099/V2/error_model.rb +1 -1
  128. data/lib/avalara_sdk/models/A1099/V2/error_response.rb +1 -1
  129. data/lib/avalara_sdk/models/A1099/V2/error_response_errors_inner.rb +1 -1
  130. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list.rb +238 -0
  131. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item.rb +891 -0
  132. data/lib/avalara_sdk/models/A1099/V2/form1042_s_list_item_response.rb +925 -0
  133. data/lib/avalara_sdk/models/A1099/V2/form1042_s_request.rb +855 -0
  134. data/lib/avalara_sdk/models/A1099/V2/form1042_s_response.rb +600 -0
  135. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list.rb +1 -1
  136. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item.rb +147 -14
  137. data/lib/avalara_sdk/models/A1099/V2/form1095_b_list_item_response.rb +700 -0
  138. data/lib/avalara_sdk/models/A1099/V2/form1095_b_request.rb +149 -16
  139. data/lib/avalara_sdk/models/A1099/V2/form1099_base_response.rb +661 -0
  140. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list.rb +1 -1
  141. data/lib/avalara_sdk/models/A1099/V2/form1099_div_list_item.rb +168 -13
  142. data/lib/avalara_sdk/models/A1099/V2/form1099_div_request.rb +159 -14
  143. data/lib/avalara_sdk/models/A1099/V2/form1099_div_response.rb +5 -5
  144. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list.rb +1 -1
  145. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item.rb +169 -13
  146. data/lib/avalara_sdk/models/A1099/V2/form1099_k_list_item_response.rb +930 -0
  147. data/lib/avalara_sdk/models/A1099/V2/form1099_k_request.rb +160 -14
  148. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response.rb +220 -0
  149. data/lib/avalara_sdk/models/A1099/V2/form1099_list_response_value_inner.rb +106 -0
  150. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list.rb +1 -1
  151. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item.rb +171 -19
  152. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_list_item_response.rb +810 -0
  153. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_request.rb +162 -20
  154. data/lib/avalara_sdk/models/A1099/V2/form1099_misc_response.rb +12 -12
  155. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list.rb +1 -1
  156. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item.rb +168 -20
  157. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_list_item_response.rb +700 -0
  158. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_request.rb +157 -20
  159. data/lib/avalara_sdk/models/A1099/V2/form1099_nec_response.rb +12 -12
  160. data/lib/avalara_sdk/models/A1099/V2/form1099_proccess_result.rb +1 -1
  161. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list.rb +1 -1
  162. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item.rb +171 -15
  163. data/lib/avalara_sdk/models/A1099/V2/form1099_r_list_item_response.rb +888 -0
  164. data/lib/avalara_sdk/models/A1099/V2/form1099_r_request.rb +160 -14
  165. data/lib/avalara_sdk/models/A1099/V2/form1099_status_detail_response.rb +223 -0
  166. data/lib/avalara_sdk/models/A1099/V2/form_request_base.rb +138 -12
  167. data/lib/avalara_sdk/models/A1099/V2/form_request_list_item_base.rb +611 -0
  168. data/lib/avalara_sdk/models/A1099/V2/form_response_base.rb +5 -5
  169. data/lib/avalara_sdk/models/A1099/V2/form_single_request_base.rb +140 -14
  170. data/lib/avalara_sdk/models/A1099/V2/get1099_form200_response.rb +8 -6
  171. data/lib/avalara_sdk/models/A1099/V2/http_validation_problem_details.rb +1 -1
  172. data/lib/avalara_sdk/models/A1099/V2/i_create_form1099_request.rb +1 -1
  173. data/lib/avalara_sdk/models/A1099/V2/i_update_form1099_request.rb +1 -1
  174. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through.rb +311 -0
  175. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through_request.rb +311 -0
  176. data/lib/avalara_sdk/models/A1099/V2/intermediary_or_flow_through_response.rb +311 -0
  177. data/lib/avalara_sdk/models/A1099/V2/issuer_command.rb +1 -1
  178. data/lib/avalara_sdk/models/A1099/V2/issuer_response.rb +1 -1
  179. data/lib/avalara_sdk/models/A1099/V2/iw9_form_data_models_one_of.rb +1 -1
  180. data/lib/avalara_sdk/models/A1099/V2/job_result.rb +16 -1
  181. data/lib/avalara_sdk/models/A1099/V2/link.rb +1 -1
  182. data/lib/avalara_sdk/models/A1099/V2/paginated_query_result_model.rb +1 -1
  183. data/lib/avalara_sdk/models/A1099/V2/paginated_query_result_model_company_response.rb +1 -1
  184. data/lib/avalara_sdk/models/A1099/V2/paginated_query_result_model_issuer_response.rb +1 -1
  185. data/lib/avalara_sdk/models/A1099/V2/paginated_w9_forms_model.rb +1 -1
  186. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent.rb +221 -0
  187. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_request.rb +221 -0
  188. data/lib/avalara_sdk/models/A1099/V2/primary_withholding_agent_response.rb +221 -0
  189. data/lib/avalara_sdk/models/A1099/V2/problem_details.rb +1 -1
  190. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_request.rb +5 -1
  191. data/lib/avalara_sdk/models/A1099/V2/state_and_local_withholding_response.rb +9 -1
  192. data/lib/avalara_sdk/models/A1099/V2/state_efile_status_detail_response.rb +231 -0
  193. data/lib/avalara_sdk/models/A1099/V2/status_detail.rb +1 -1
  194. data/lib/avalara_sdk/models/A1099/V2/substantial_us_owner_request.rb +233 -0
  195. data/lib/avalara_sdk/models/A1099/V2/substantial_us_owner_response.rb +1 -1
  196. data/lib/avalara_sdk/models/A1099/V2/update1099_form200_response.rb +2 -1
  197. data/lib/avalara_sdk/models/A1099/V2/validation_error_response.rb +231 -0
  198. data/lib/avalara_sdk/models/A1099/V2/w4_form_data_model.rb +6 -6
  199. data/lib/avalara_sdk/models/A1099/V2/w4_form_request.rb +509 -0
  200. data/lib/avalara_sdk/models/A1099/V2/w4_form_response.rb +1 -1
  201. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_request.rb +1343 -0
  202. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_form_response.rb +4 -4
  203. data/lib/avalara_sdk/models/A1099/V2/w8_ben_e_substantial_us_owner_data_model.rb +1 -1
  204. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_data_model.rb +6 -6
  205. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_request.rb +561 -0
  206. data/lib/avalara_sdk/models/A1099/V2/w8_ben_form_response.rb +1 -1
  207. data/lib/avalara_sdk/models/A1099/V2/w8_bene_form_data_model.rb +6 -6
  208. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_data_model.rb +6 -6
  209. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_request.rb +1518 -0
  210. data/lib/avalara_sdk/models/A1099/V2/w8_imy_form_response.rb +3 -3
  211. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_request.rb +299 -0
  212. data/lib/avalara_sdk/models/A1099/V2/w9_form_base_response.rb +1 -1
  213. data/lib/avalara_sdk/models/A1099/V2/w9_form_data_model.rb +6 -6
  214. data/lib/avalara_sdk/models/A1099/V2/w9_form_request.rb +495 -0
  215. data/lib/avalara_sdk/models/A1099/V2/w9_form_response.rb +4 -3
  216. data/lib/avalara_sdk/models/EInvoicing/V1/address.rb +382 -0
  217. data/lib/avalara_sdk/models/EInvoicing/V1/batch_error_detail.rb +223 -0
  218. data/lib/avalara_sdk/models/EInvoicing/V1/batch_search.rb +1 -1
  219. data/lib/avalara_sdk/models/EInvoicing/V1/batch_search_list_response.rb +3 -2
  220. data/lib/avalara_sdk/models/EInvoicing/V1/consents.rb +213 -0
  221. data/lib/avalara_sdk/models/EInvoicing/V1/create_trading_partner201_response.rb +231 -0
  222. data/lib/avalara_sdk/models/EInvoicing/V1/create_trading_partners_batch200_response.rb +232 -0
  223. data/lib/avalara_sdk/models/EInvoicing/V1/create_trading_partners_batch200_response_value_inner.rb +231 -0
  224. data/lib/avalara_sdk/models/EInvoicing/V1/create_trading_partners_batch_request.rb +212 -0
  225. data/lib/avalara_sdk/models/EInvoicing/V1/data_input_fields_response.rb +1 -2
  226. data/lib/avalara_sdk/models/EInvoicing/V1/document_fetch.rb +1 -2
  227. data/lib/avalara_sdk/models/EInvoicing/V1/error_response.rb +1 -1
  228. data/lib/avalara_sdk/models/EInvoicing/V1/extension.rb +256 -0
  229. data/lib/avalara_sdk/models/EInvoicing/V1/hmac_signature_value.rb +1 -2
  230. data/lib/avalara_sdk/models/EInvoicing/V1/identifier.rb +302 -0
  231. data/lib/avalara_sdk/models/EInvoicing/V1/mandate.rb +1 -2
  232. data/lib/avalara_sdk/models/EInvoicing/V1/pagination.rb +1 -2
  233. data/lib/avalara_sdk/models/EInvoicing/V1/required_when_field.rb +1 -2
  234. data/lib/avalara_sdk/models/EInvoicing/V1/search_participants200_response.rb +232 -0
  235. data/lib/avalara_sdk/models/EInvoicing/V1/signature.rb +1 -2
  236. data/lib/avalara_sdk/models/EInvoicing/V1/signature_value.rb +1 -2
  237. data/lib/avalara_sdk/models/EInvoicing/V1/subscription_common.rb +1 -2
  238. data/lib/avalara_sdk/models/EInvoicing/V1/success_response.rb +1 -2
  239. data/lib/avalara_sdk/models/EInvoicing/V1/supported_document_types.rb +305 -0
  240. data/lib/avalara_sdk/models/EInvoicing/V1/tax_identifier_request.rb +329 -0
  241. data/lib/avalara_sdk/models/EInvoicing/V1/tax_identifier_response.rb +228 -0
  242. data/lib/avalara_sdk/models/EInvoicing/V1/tax_identifier_response_value.rb +231 -0
  243. data/lib/avalara_sdk/models/EInvoicing/V1/tax_identifier_schema_by_country200_response.rb +235 -0
  244. data/lib/avalara_sdk/models/EInvoicing/V1/trading_partner.rb +411 -0
  245. data/lib/avalara_sdk/models/EInvoicing/V1/update_trading_partner200_response.rb +231 -0
  246. data/lib/avalara_sdk/models/EInvoicing/V1/validation_error.rb +222 -0
  247. data/lib/avalara_sdk/models/EInvoicing/V1/webhooks_error_response.rb +1 -2
  248. data/lib/avalara_sdk/version.rb +1 -1
  249. data/lib/avalara_sdk.rb +53 -0
  250. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/byebug/byebug.so +0 -0
  251. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/byebug-11.1.3/gem_make.out +6 -6
  252. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/date_core.so +0 -0
  253. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +6 -6
  254. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/mkmf.log +4 -4
  255. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/attach.so +0 -0
  256. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/debase_internals.so +0 -0
  257. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/gem_make.out +7 -7
  258. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debase-0.2.9/mkmf.log +6 -6
  259. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/debug/debug.so +0 -0
  260. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/debug-1.10.0/gem_make.out +6 -6
  261. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/erb/escape.so +0 -0
  262. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-5.0.1/gem_make.out +6 -6
  263. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +6 -6
  264. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/io/console.so +0 -0
  265. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/mkmf.log +21 -21
  266. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/gem_make.out +6 -6
  267. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/json/ext/generator.so +0 -0
  268. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/json/ext/parser.so +0 -0
  269. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.2/mkmf.log +7 -7
  270. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/gem_make.out +6 -6
  271. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/mkmf.log +6 -6
  272. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/prism-1.4.0/prism/prism.so +0 -0
  273. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +6 -6
  274. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/mkmf.log +10 -10
  275. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/psych.so +0 -0
  276. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +6 -6
  277. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/racc/cparse.so +0 -0
  278. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/ruby-debug-ide-0.7.3/gem_make.out +2 -2
  279. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +6 -6
  280. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/mkmf.log +2 -2
  281. data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/stringio.so +0 -0
  282. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/ext/byebug/Makefile +3 -3
  283. data/vendor/bundle/ruby/3.3.0/gems/byebug-11.1.3/lib/byebug/byebug.so +0 -0
  284. data/vendor/bundle/ruby/3.3.0/gems/date-3.4.1/ext/date/Makefile +3 -3
  285. data/vendor/bundle/ruby/3.3.0/gems/date-3.4.1/lib/date_core.so +0 -0
  286. data/vendor/bundle/ruby/3.3.0/gems/debase-0.2.9/ext/Makefile +3 -3
  287. data/vendor/bundle/ruby/3.3.0/gems/debase-0.2.9/ext/attach/Makefile +3 -3
  288. data/vendor/bundle/ruby/3.3.0/gems/debase-0.2.9/lib/attach.so +0 -0
  289. data/vendor/bundle/ruby/3.3.0/gems/debase-0.2.9/lib/debase_internals.so +0 -0
  290. data/vendor/bundle/ruby/3.3.0/gems/debug-1.10.0/ext/debug/Makefile +3 -3
  291. data/vendor/bundle/ruby/3.3.0/gems/debug-1.10.0/lib/debug/debug.so +0 -0
  292. data/vendor/bundle/ruby/3.3.0/gems/erb-5.0.1/ext/erb/escape/Makefile +3 -3
  293. data/vendor/bundle/ruby/3.3.0/gems/erb-5.0.1/lib/erb/escape.so +0 -0
  294. data/vendor/bundle/ruby/3.3.0/gems/io-console-0.8.0/ext/io/console/Makefile +3 -3
  295. data/vendor/bundle/ruby/3.3.0/gems/io-console-0.8.0/lib/io/console.so +0 -0
  296. data/vendor/bundle/ruby/3.3.0/gems/json-2.12.2/ext/json/ext/generator/Makefile +3 -3
  297. data/vendor/bundle/ruby/3.3.0/gems/json-2.12.2/ext/json/ext/parser/Makefile +3 -3
  298. data/vendor/bundle/ruby/3.3.0/gems/json-2.12.2/lib/json/ext/generator.so +0 -0
  299. data/vendor/bundle/ruby/3.3.0/gems/json-2.12.2/lib/json/ext/parser.so +0 -0
  300. data/vendor/bundle/ruby/3.3.0/gems/prism-1.4.0/ext/prism/Makefile +3 -3
  301. data/vendor/bundle/ruby/3.3.0/gems/prism-1.4.0/lib/prism/prism.so +0 -0
  302. data/vendor/bundle/ruby/3.3.0/gems/psych-5.2.6/ext/psych/Makefile +3 -3
  303. data/vendor/bundle/ruby/3.3.0/gems/psych-5.2.6/lib/psych.so +0 -0
  304. data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +3 -3
  305. data/vendor/bundle/ruby/3.3.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
  306. data/vendor/bundle/ruby/3.3.0/gems/stringio-3.1.7/ext/stringio/Makefile +3 -3
  307. data/vendor/bundle/ruby/3.3.0/gems/stringio-3.1.7/lib/stringio.so +0 -0
  308. metadata +108 -2
@@ -0,0 +1,1518 @@
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 W8ImyFormRequest
14
+ # The form type (always \"w8imy\" for this model).
15
+ attr_accessor :type
16
+
17
+ # The name of the individual or entity associated with the form.
18
+ attr_accessor :name
19
+
20
+ # The country of citizenship.
21
+ attr_accessor :citizenship_country
22
+
23
+ # The name of the disregarded entity receiving the payment (if applicable).
24
+ attr_accessor :disregarded_entity
25
+
26
+ # The entity type.
27
+ attr_accessor :entity_type
28
+
29
+ # The FATCA status.
30
+ attr_accessor :fatca_status
31
+
32
+ # The residential address of the individual or entity.
33
+ attr_accessor :residence_address
34
+
35
+ # The city of residence.
36
+ attr_accessor :residence_city
37
+
38
+ # The state of residence.
39
+ attr_accessor :residence_state
40
+
41
+ # The ZIP code of the residence.
42
+ attr_accessor :residence_zip
43
+
44
+ # The country of residence.
45
+ attr_accessor :residence_country
46
+
47
+ # Indicates whether the residence address is also the mailing address.
48
+ attr_accessor :residence_is_mailing
49
+
50
+ # The mailing address.
51
+ attr_accessor :mailing_address
52
+
53
+ # The city of the mailing address.
54
+ attr_accessor :mailing_city
55
+
56
+ # The state of the mailing address.
57
+ attr_accessor :mailing_state
58
+
59
+ # The ZIP code of the mailing address.
60
+ attr_accessor :mailing_zip
61
+
62
+ # The country of the mailing address.
63
+ attr_accessor :mailing_country
64
+
65
+ # The type of TIN provided.
66
+ attr_accessor :tin_type
67
+
68
+ # The taxpayer identification number (TIN).
69
+ attr_accessor :tin
70
+
71
+ # The global intermediary identification number (GIIN).
72
+ attr_accessor :giin
73
+
74
+ # The foreign taxpayer identification number (TIN).
75
+ attr_accessor :foreign_tin
76
+
77
+ # A reference number for the form.
78
+ attr_accessor :reference_number
79
+
80
+ # The FATCA status of disregarded entity or branch receiving payment.
81
+ attr_accessor :disregarded_entity_fatca_status
82
+
83
+ # The address for disregarded entities.
84
+ attr_accessor :disregarded_address
85
+
86
+ # The city for disregarded entities.
87
+ attr_accessor :disregarded_city
88
+
89
+ # The state for disregarded entities.
90
+ attr_accessor :disregarded_state
91
+
92
+ # The ZIP code for disregarded entities.
93
+ attr_accessor :disregarded_zip
94
+
95
+ # The country for disregarded entities.
96
+ attr_accessor :disregarded_country
97
+
98
+ # The GIIN for disregarded entities.
99
+ attr_accessor :disregarded_entity_giin
100
+
101
+ # Certifies that the entity is a Qualified Intermediary (QI) acting in accordance with its QI Agreement, providing required withholding statements and documentation for relevant tax withholding purposes.
102
+ attr_accessor :qualified_intermediary_certification
103
+
104
+ # Certifies that the Qualified Intermediary assumes primary withholding responsibility under chapters 3 and 4 for the specified accounts.
105
+ attr_accessor :qi_primary_withholding_responsibility_certification
106
+
107
+ # Certifies that the Qualified Intermediary assumes primary withholding and reporting responsibility under section 1446(f) for amounts realized from sales of interests in publicly traded partnerships.
108
+ attr_accessor :qi_withholding_responsibility_for_ptp_sales_certification
109
+
110
+ # Certifies that the Qualified Intermediary assumes primary withholding responsibility as a nominee under Regulations section 1.1446-4(b)(3) for publicly traded partnership distributions.
111
+ attr_accessor :qi_nominee_withholding_responsibility_for_ptp_distributions_certification
112
+
113
+ # Certifies that the Qualified Intermediary is acting as a qualified securities lender and assumes primary withholding and reporting responsibilities for U.S. source substitute dividend payments.
114
+ attr_accessor :qi_securities_lender_substitute_dividend_withholding_certification
115
+
116
+ # Certifies that the Qualified Intermediary assumes primary withholding under chapters 3 and 4, and primary Form 1099 reporting and backup withholding responsibility for U.S. source interest and substitute interest payments.
117
+ attr_accessor :qi_withholding_and1099_reporting_responsibility_certification
118
+
119
+ # Certifies that the Qualified Intermediary assumes Form 1099 reporting and backup withholding responsibility, or FATCA reporting responsibility as a participating or registered deemed-compliant FFI, for accounts held by specified U.S. persons.
120
+ attr_accessor :qi_form1099_or_fatca_reporting_responsibility_certification
121
+
122
+ # Certifies that the Qualified Intermediary does not assume primary Form 1099 reporting and backup withholding responsibility for the accounts associated with this form.
123
+ attr_accessor :qi_opt_out_of_form1099_reporting_certification
124
+
125
+ # Certifies that the Qualified Intermediary meets the requirements for allocating payments to a chapter 4 withholding rate pool of U.S. payees under Regulations section 1.6049-4(c)(4)(iii).
126
+ attr_accessor :qi_withholding_rate_pool_certification
127
+
128
+ # Certifies that the Qualified Intermediary has obtained or will obtain documentation confirming the status of any intermediary or flow-through entity as a participating FFI, registered deemed-compliant FFI, or QI for U.S. payees in a chapter 4 withholding rate pool.
129
+ attr_accessor :qi_intermediary_or_flow_through_entity_documentation_certification
130
+
131
+ # Certifies that the Qualified Derivatives Dealer (QDD) is approved by the IRS and assumes primary withholding and reporting responsibilities for payments related to potential section 871(m) transactions.
132
+ attr_accessor :qualified_derivatives_dealer_certification
133
+
134
+ # Indicates QDD classification is Corporation.
135
+ attr_accessor :qdd_corporation
136
+
137
+ # Indicates QDD classification is Partnership.
138
+ attr_accessor :qdd_partnership
139
+
140
+ # Indicates QDD classification is Disregarded Entity.
141
+ attr_accessor :qdd_disregarded_entity
142
+
143
+ # Certifies that the entity is not acting as a Qualified Intermediary and is not acting for its own account for the accounts covered by this form.
144
+ attr_accessor :nonqualified_intermediary_certification
145
+
146
+ # Certifies that the nonqualified intermediary is submitting this form to transmit withholding certificates and/or other required documentation along with a withholding statement.
147
+ attr_accessor :nqi_withholding_statement_transmission_certification
148
+
149
+ # Certifies that the nonqualified intermediary meets the requirements of Regulations section 1.6049-4(c)(4)(iii) for U.S. payees included in a withholding rate pool, excluding publicly traded partnership distributions.
150
+ attr_accessor :nqi_withholding_rate_pool_compliance_certification
151
+
152
+ # Certifies that the nonqualified intermediary is acting as a qualified securities lender (not as a QI) and assumes primary withholding and reporting responsibilities for U.S. source substitute dividend payments.
153
+ attr_accessor :nqi_qualified_securities_lender_certification
154
+
155
+ # Certifies that the nonqualified intermediary has verified, or will verify, all information on alternative withholding statements for consistency with account data to determine the correct withholding rate, as required under sections 1441 or 1471.
156
+ attr_accessor :nqi_alternative_withholding_statement_verification_certification
157
+
158
+ # Certifies that the entity is a financial institution (other than an investment entity) that is incorporated or organized under the laws of a possession of the United States.
159
+ attr_accessor :territory_financial_institution_certification
160
+
161
+ # Certifies that the territory financial institution agrees to be treated as a U.S. person for chapters 3 and 4 purposes concerning reportable amounts and withholdable payments.
162
+ attr_accessor :tfi_treated_as_us_person_certification
163
+
164
+ # Certifies that the territory financial institution is transmitting withholding certificates or other required documentation and has provided or will provide a withholding statement for reportable or withholdable payments.
165
+ attr_accessor :tfi_withholding_statement_transmission_certification
166
+
167
+ # Certifies that the territory financial institution agrees to be treated as a U.S. person under Regulations section 1.1446(f)-4(a)(2)(i)(B) for amounts realized from sales of publicly traded partnership interests.
168
+ attr_accessor :tfi_treated_as_us_person_for_ptp_sales_certification
169
+
170
+ # Certifies that the territory financial institution agrees to be treated as a U.S. person and as a nominee for purposes of publicly traded partnership distributions under the applicable regulations.
171
+ attr_accessor :tfi_nominee_us_person_for_ptp_distributions_certification
172
+
173
+ # Certifies that the territory financial institution is not acting as a nominee for publicly traded partnership distributions and is providing withholding statements for those distributions.
174
+ attr_accessor :tfi_not_nominee_for_ptp_distributions_certification
175
+
176
+ # Certifies that the U.S. branch is receiving reportable or withholdable payments that are not effectively connected income, PTP distributions, or proceeds from PTP sales.
177
+ attr_accessor :us_branch_non_effectively_connected_income_certification
178
+
179
+ # Certifies that the U.S. branch of a foreign bank or insurance company agrees to be treated as a U.S. person for reportable amounts or withholdable payments under the applicable regulations.
180
+ attr_accessor :us_branch_agreement_to_be_treated_as_us_person_certification
181
+
182
+ # Certifies that the U.S. branch is transmitting required documentation and withholding statements for reportable or withholdable payments and is applying the appropriate FATCA regulations.
183
+ attr_accessor :us_branch_withholding_statement_and_compliance_certification
184
+
185
+ # Certifies that the U.S. branch is acting as a U.S. person for purposes of amounts realized from sales of publicly traded partnership interests under the applicable regulations.
186
+ attr_accessor :us_branch_acting_as_us_person_for_ptp_sales_certification
187
+
188
+ # Certifies that the U.S. branch is treated as a U.S. person and as a nominee for publicly traded partnership distributions under the applicable regulations.
189
+ attr_accessor :us_branch_nominee_for_ptp_distributions_certification
190
+
191
+ # Certifies that the U.S. branch is not acting as a nominee for publicly traded partnership distributions and is providing the required withholding statements.
192
+ attr_accessor :us_branch_not_nominee_for_ptp_distributions_certification
193
+
194
+ # Certifies that the entity is a withholding foreign partnership (WP) or a withholding foreign trust (WT) that is compliant with the terms of its WP or WT agreement.
195
+ attr_accessor :withholding_foreign_partnership_or_trust_certification
196
+
197
+ # Certifies that the entity is a nonwithholding foreign partnership or trust, providing the form for non-effectively connected payments and transmitting required withholding documentation for chapters 3 and 4.
198
+ attr_accessor :nonwithholding_foreign_entity_withholding_statement_certification
199
+
200
+ # Certifies that the entity is a foreign partnership or grantor trust acting as a partner in a lower-tier partnership and is submitting the form for purposes of section 1446(a).
201
+ attr_accessor :foreign_entity_partner_in_lower_tier_partnership_certification
202
+
203
+ # Certifies that the entity is a foreign partnership receiving an amount realized from the transfer of a partnership interest for purposes of section 1446(f).
204
+ attr_accessor :foreign_partnership_amount_realized_section1446_f_certification
205
+
206
+ # Certifies that the foreign partnership is providing a withholding statement for a modified amount realized from the transfer of a partnership interest, when applicable.
207
+ attr_accessor :foreign_partnership_modified_amount_realized_certification
208
+
209
+ # Certifies that the foreign grantor trust is submitting the form on behalf of each grantor or owner and providing a withholding statement to allocate the amount realized in accordance with the regulations.
210
+ attr_accessor :foreign_grantor_trust_amount_realized_allocation_certification
211
+
212
+ # Certifies that the entity may rely on the information in all associated withholding certificates under the applicable standards of knowledge in sections 1441 or 1471 when providing an alternative withholding statement.
213
+ attr_accessor :alternative_withholding_statement_reliance_certification
214
+
215
+ # Certifies that the nonparticipating FFI is transmitting withholding documentation and providing a statement allocating payment portions to exempt beneficial owners.
216
+ attr_accessor :np_ffi_with_exempt_beneficial_owners_certification
217
+
218
+ # The name of the entity that sponsors the foreign financial institution (FFI).
219
+ attr_accessor :ffi_sponsoring_entity
220
+
221
+ # Certifies that the entity is an investment entity, not a QI, WP, or WT, and has an agreement with a sponsoring entity.
222
+ attr_accessor :investment_entity_certification
223
+
224
+ # Certifies that the entity is a controlled foreign corporation sponsored by a U.S. financial institution, not a QI, WP, or WT, and shares a common electronic account system for full transparency.
225
+ attr_accessor :controlled_foreign_corporation_certification
226
+
227
+ # Certifies that the FFI meets all requirements to qualify as an owner-documented FFI, including restrictions on activities, ownership, and account relationships.
228
+ attr_accessor :owner_documented_ffi_certification
229
+
230
+ # Certifies that the FFI will provide a complete owner reporting statement and required documentation for each relevant owner or debt holder.
231
+ attr_accessor :owner_documented_ffi_reporting_statement_certification
232
+
233
+ # Certifies that the FFI has provided or will provide an auditor’s letter and required owner documentation, including a reporting statement and Form W-9s, to meet owner-documented FFI requirements under the regulations.
234
+ attr_accessor :owner_documented_ffi_auditor_letter_certification
235
+
236
+ # Certifies that the FFI operates solely as a limited bank or credit union within its country, meets asset thresholds, and has no foreign operations or affiliations outside its country of organization.
237
+ attr_accessor :compliant_nonregistering_local_bank_certification
238
+
239
+ # Certifies that the FFI is not primarily engaged in investment activities, maintains only low-value accounts, and has limited total assets within its group.
240
+ attr_accessor :compliant_ffi_low_value_accounts_certification
241
+
242
+ # The name of sponsoring entity for a certified deemed-compliant, closely held investment vehicle.
243
+ attr_accessor :sponsored_closely_held_entity_sponsoring_entity
244
+
245
+ # Certifies that the entity is a sponsored investment entity with 20 or fewer individual owners, and that all compliance obligations are fulfilled by the sponsoring entity.
246
+ attr_accessor :sponsored_closely_held_investment_vehicle_certification
247
+
248
+ # Certifies that the entity qualifies as a limited life debt investment entity based on its formation date, issuance terms, and compliance with regulatory requirements.
249
+ attr_accessor :compliant_limited_life_debt_entity_certification
250
+
251
+ # Certifies that the entity is a financial institution solely because it is an investment entity under regulations and the entity does not maintain financial accounts.
252
+ attr_accessor :investment_entity_no_financial_accounts_certification
253
+
254
+ # Certifies that the entity qualifies as a restricted distributor based on its operations, customer base, regulatory compliance, and financial and geographic limitations.
255
+ attr_accessor :restricted_distributor_certification
256
+
257
+ # Certifies that the entity is, and has been, bound by distribution agreements prohibiting sales of fund interests to specified U.S. persons and certain non-U.S. entities.
258
+ attr_accessor :restricted_distributor_agreement_certification
259
+
260
+ # Certifies that the entity complies with distribution restrictions for U.S.-linked investors and has addressed any preexisting sales in accordance with FATCA regulations.
261
+ attr_accessor :restricted_distributor_preexisting_sales_compliance_certification
262
+
263
+ # Certifies that the entity is treated as the beneficial owner of the payment solely for purposes of chapter 4 under Regulations section 1.1471-6(d)(4).
264
+ attr_accessor :foreign_central_bank_of_issue_certification
265
+
266
+ # Certifies that the entity meets the requirements to be considered a nonreporting financial institution to an applicable IGA.
267
+ attr_accessor :nonreporting_iga_ffi_certification
268
+
269
+ # The country for the applicable IGA with the United States.
270
+ attr_accessor :iga_country
271
+
272
+ # The applicable IGA model.
273
+ attr_accessor :iga_model
274
+
275
+ # Specifies how the applicable IGA is treated under the IGA provisions or Treasury regulations.
276
+ attr_accessor :iga_legal_status_treatment
277
+
278
+ # The trustee or sponsor name for the nonreporting IGA FFI.
279
+ attr_accessor :iga_ffi_trustee_or_sponsor
280
+
281
+ # Indicates whether the trustee for the nonreporting IGA FFI is foreign.
282
+ attr_accessor :iga_ffi_trustee_is_foreign
283
+
284
+ # Certifies that the entity is a pension or retirement fund established in a treaty country and is entitled to treaty benefits on U.S. source income.
285
+ attr_accessor :treaty_qualified_pension_fund_certification
286
+
287
+ # Certifies that the entity is a government-regulated retirement fund meeting specific requirements for contributions, tax exemption, beneficiary limits, and distribution restrictions.
288
+ attr_accessor :qualified_retirement_fund_certification
289
+
290
+ # Certifies that the entity is a government-regulated retirement fund with fewer than 50 participants, limited foreign ownership, and employer sponsorship that is not from investment entities or passive NFFEs.
291
+ attr_accessor :narrow_participation_retirement_fund_certification
292
+
293
+ # Certifies that the entity is formed under a pension plan meeting section 401(a) requirements, except for being U.S.-trust funded.
294
+ attr_accessor :section401_a_equivalent_pension_plan_certification
295
+
296
+ # Certifies that the entity is established solely to earn income for the benefit of qualifying retirement funds or accounts under applicable FATCA regulations or IGAs.
297
+ attr_accessor :investment_entity_for_retirement_funds_certification
298
+
299
+ # Certifies that the entity is established and sponsored by a qualifying exempt beneficial owner to provide retirement, disability, or death benefits to individuals based on services performed for the sponsor.
300
+ attr_accessor :exempt_beneficial_owner_sponsored_retirement_fund_certification
301
+
302
+ # Certifies that the entity is a holding company, treasury center, or captive finance company operating within a nonfinancial group and not functioning as an investment or financial institution.
303
+ attr_accessor :excepted_nonfinancial_group_entity_certification
304
+
305
+ # Certifies that the entity is a recently formed startup NFFE investing in a non-financial business and is not operating as or presenting itself as an investment fund.
306
+ attr_accessor :excepted_nonfinancial_start_up_certification
307
+
308
+ # The date the start-up company was formed on (or, in case of new line of business, the date of board resolution approving the new line of business).
309
+ attr_accessor :startup_formation_or_resolution_date
310
+
311
+ # Certifies that the entity is in liquidation, reorganization, or bankruptcy and intends to operate as a nonfinancial entity, with supporting documentation available if the process exceeds three years.
312
+ attr_accessor :excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification
313
+
314
+ # The filed date for a plan of reorganization, liquidation or bankruptcy.
315
+ attr_accessor :nonfinancial_entity_filing_date
316
+
317
+ # Certifies that the entity is a foreign corporation that is not a financial institution and whose stock is regularly traded on an established securities market.
318
+ attr_accessor :publicly_traded_nffe_certification
319
+
320
+ # The name of the securities market where the corporation's stock is regularly traded.
321
+ attr_accessor :publicly_traded_nffe_securities_market
322
+
323
+ # Certifies that the entity is a foreign corporation that is not a financial institution and is affiliated with a publicly traded entity within the same expanded affiliated group.
324
+ attr_accessor :nffe_affiliate_of_publicly_traded_entity_certification
325
+
326
+ # The name of the affiliated entity whose stock is regularly traded on an established securities market.
327
+ attr_accessor :publicly_traded_entity
328
+
329
+ # The name of the established securities market where the affiliated entity's stock is traded.
330
+ attr_accessor :nffe_affiliate_of_publicly_traded_entity_securities_market
331
+
332
+ # Certifies that the entity is organized in a U.S. possession, is not engaged in financial activities, and is entirely owned by bona fide residents of that possession.
333
+ attr_accessor :excepted_territory_nffe_certification
334
+
335
+ # Certifies that the entity is a foreign non-financial institution with less than 50% passive income and less than 50% of its assets producing or held to produce passive income.
336
+ attr_accessor :active_nffe_certification
337
+
338
+ # Certifies that the entity is a foreign non-financial entity that does not qualify for any other NFFE category and is not a financial institution.
339
+ attr_accessor :passive_nffe_certification
340
+
341
+ # Certifies that the entity is a sponsored direct reporting NFFE.
342
+ attr_accessor :sponsored_direct_reporting_nffe_certification
343
+
344
+ # The name of the entity that sponsors the direct reporting NFFE.
345
+ attr_accessor :direct_reporting_nffe_sponsoring_entity
346
+
347
+ # The name of the signer.
348
+ attr_accessor :signer_name
349
+
350
+ # The ID of the associated company.
351
+ attr_accessor :company_id
352
+
353
+ # A reference identifier for the form.
354
+ attr_accessor :reference_id
355
+
356
+ # The email address of the individual associated with the form.
357
+ attr_accessor :email
358
+
359
+ # The date when e-delivery was consented.
360
+ attr_accessor :e_delivery_consented_at
361
+
362
+ # The signature of the form.
363
+ attr_accessor :signature
364
+
365
+ class EnumAttributeValidator
366
+ attr_reader :datatype
367
+ attr_reader :allowable_values
368
+
369
+ def initialize(datatype, allowable_values)
370
+ @allowable_values = allowable_values.map do |value|
371
+ case datatype.to_s
372
+ when /Integer/i
373
+ value.to_i
374
+ when /Float/i
375
+ value.to_f
376
+ else
377
+ value
378
+ end
379
+ end
380
+ end
381
+
382
+ def valid?(value)
383
+ !value || allowable_values.include?(value)
384
+ end
385
+ end
386
+
387
+ # Attribute mapping from ruby-style variable name to JSON key.
388
+ def self.attribute_map
389
+ {
390
+ :'type' => :'type',
391
+ :'name' => :'name',
392
+ :'citizenship_country' => :'citizenshipCountry',
393
+ :'disregarded_entity' => :'disregardedEntity',
394
+ :'entity_type' => :'entityType',
395
+ :'fatca_status' => :'fatcaStatus',
396
+ :'residence_address' => :'residenceAddress',
397
+ :'residence_city' => :'residenceCity',
398
+ :'residence_state' => :'residenceState',
399
+ :'residence_zip' => :'residenceZip',
400
+ :'residence_country' => :'residenceCountry',
401
+ :'residence_is_mailing' => :'residenceIsMailing',
402
+ :'mailing_address' => :'mailingAddress',
403
+ :'mailing_city' => :'mailingCity',
404
+ :'mailing_state' => :'mailingState',
405
+ :'mailing_zip' => :'mailingZip',
406
+ :'mailing_country' => :'mailingCountry',
407
+ :'tin_type' => :'tinType',
408
+ :'tin' => :'tin',
409
+ :'giin' => :'giin',
410
+ :'foreign_tin' => :'foreignTin',
411
+ :'reference_number' => :'referenceNumber',
412
+ :'disregarded_entity_fatca_status' => :'disregardedEntityFatcaStatus',
413
+ :'disregarded_address' => :'disregardedAddress',
414
+ :'disregarded_city' => :'disregardedCity',
415
+ :'disregarded_state' => :'disregardedState',
416
+ :'disregarded_zip' => :'disregardedZip',
417
+ :'disregarded_country' => :'disregardedCountry',
418
+ :'disregarded_entity_giin' => :'disregardedEntityGiin',
419
+ :'qualified_intermediary_certification' => :'qualifiedIntermediaryCertification',
420
+ :'qi_primary_withholding_responsibility_certification' => :'qiPrimaryWithholdingResponsibilityCertification',
421
+ :'qi_withholding_responsibility_for_ptp_sales_certification' => :'qiWithholdingResponsibilityForPtpSalesCertification',
422
+ :'qi_nominee_withholding_responsibility_for_ptp_distributions_certification' => :'qiNomineeWithholdingResponsibilityForPtpDistributionsCertification',
423
+ :'qi_securities_lender_substitute_dividend_withholding_certification' => :'qiSecuritiesLenderSubstituteDividendWithholdingCertification',
424
+ :'qi_withholding_and1099_reporting_responsibility_certification' => :'qiWithholdingAnd1099ReportingResponsibilityCertification',
425
+ :'qi_form1099_or_fatca_reporting_responsibility_certification' => :'qiForm1099OrFatcaReportingResponsibilityCertification',
426
+ :'qi_opt_out_of_form1099_reporting_certification' => :'qiOptOutOfForm1099ReportingCertification',
427
+ :'qi_withholding_rate_pool_certification' => :'qiWithholdingRatePoolCertification',
428
+ :'qi_intermediary_or_flow_through_entity_documentation_certification' => :'qiIntermediaryOrFlowThroughEntityDocumentationCertification',
429
+ :'qualified_derivatives_dealer_certification' => :'qualifiedDerivativesDealerCertification',
430
+ :'qdd_corporation' => :'qddCorporation',
431
+ :'qdd_partnership' => :'qddPartnership',
432
+ :'qdd_disregarded_entity' => :'qddDisregardedEntity',
433
+ :'nonqualified_intermediary_certification' => :'nonqualifiedIntermediaryCertification',
434
+ :'nqi_withholding_statement_transmission_certification' => :'nqiWithholdingStatementTransmissionCertification',
435
+ :'nqi_withholding_rate_pool_compliance_certification' => :'nqiWithholdingRatePoolComplianceCertification',
436
+ :'nqi_qualified_securities_lender_certification' => :'nqiQualifiedSecuritiesLenderCertification',
437
+ :'nqi_alternative_withholding_statement_verification_certification' => :'nqiAlternativeWithholdingStatementVerificationCertification',
438
+ :'territory_financial_institution_certification' => :'territoryFinancialInstitutionCertification',
439
+ :'tfi_treated_as_us_person_certification' => :'tfiTreatedAsUsPersonCertification',
440
+ :'tfi_withholding_statement_transmission_certification' => :'tfiWithholdingStatementTransmissionCertification',
441
+ :'tfi_treated_as_us_person_for_ptp_sales_certification' => :'tfiTreatedAsUsPersonForPtpSalesCertification',
442
+ :'tfi_nominee_us_person_for_ptp_distributions_certification' => :'tfiNomineeUsPersonForPtpDistributionsCertification',
443
+ :'tfi_not_nominee_for_ptp_distributions_certification' => :'tfiNotNomineeForPtpDistributionsCertification',
444
+ :'us_branch_non_effectively_connected_income_certification' => :'usBranchNonEffectivelyConnectedIncomeCertification',
445
+ :'us_branch_agreement_to_be_treated_as_us_person_certification' => :'usBranchAgreementToBeTreatedAsUsPersonCertification',
446
+ :'us_branch_withholding_statement_and_compliance_certification' => :'usBranchWithholdingStatementAndComplianceCertification',
447
+ :'us_branch_acting_as_us_person_for_ptp_sales_certification' => :'usBranchActingAsUsPersonForPtpSalesCertification',
448
+ :'us_branch_nominee_for_ptp_distributions_certification' => :'usBranchNomineeForPtpDistributionsCertification',
449
+ :'us_branch_not_nominee_for_ptp_distributions_certification' => :'usBranchNotNomineeForPtpDistributionsCertification',
450
+ :'withholding_foreign_partnership_or_trust_certification' => :'withholdingForeignPartnershipOrTrustCertification',
451
+ :'nonwithholding_foreign_entity_withholding_statement_certification' => :'nonwithholdingForeignEntityWithholdingStatementCertification',
452
+ :'foreign_entity_partner_in_lower_tier_partnership_certification' => :'foreignEntityPartnerInLowerTierPartnershipCertification',
453
+ :'foreign_partnership_amount_realized_section1446_f_certification' => :'foreignPartnershipAmountRealizedSection1446FCertification',
454
+ :'foreign_partnership_modified_amount_realized_certification' => :'foreignPartnershipModifiedAmountRealizedCertification',
455
+ :'foreign_grantor_trust_amount_realized_allocation_certification' => :'foreignGrantorTrustAmountRealizedAllocationCertification',
456
+ :'alternative_withholding_statement_reliance_certification' => :'alternativeWithholdingStatementRelianceCertification',
457
+ :'np_ffi_with_exempt_beneficial_owners_certification' => :'npFfiWithExemptBeneficialOwnersCertification',
458
+ :'ffi_sponsoring_entity' => :'ffiSponsoringEntity',
459
+ :'investment_entity_certification' => :'investmentEntityCertification',
460
+ :'controlled_foreign_corporation_certification' => :'controlledForeignCorporationCertification',
461
+ :'owner_documented_ffi_certification' => :'ownerDocumentedFfiCertification',
462
+ :'owner_documented_ffi_reporting_statement_certification' => :'ownerDocumentedFfiReportingStatementCertification',
463
+ :'owner_documented_ffi_auditor_letter_certification' => :'ownerDocumentedFfiAuditorLetterCertification',
464
+ :'compliant_nonregistering_local_bank_certification' => :'compliantNonregisteringLocalBankCertification',
465
+ :'compliant_ffi_low_value_accounts_certification' => :'compliantFfiLowValueAccountsCertification',
466
+ :'sponsored_closely_held_entity_sponsoring_entity' => :'sponsoredCloselyHeldEntitySponsoringEntity',
467
+ :'sponsored_closely_held_investment_vehicle_certification' => :'sponsoredCloselyHeldInvestmentVehicleCertification',
468
+ :'compliant_limited_life_debt_entity_certification' => :'compliantLimitedLifeDebtEntityCertification',
469
+ :'investment_entity_no_financial_accounts_certification' => :'investmentEntityNoFinancialAccountsCertification',
470
+ :'restricted_distributor_certification' => :'restrictedDistributorCertification',
471
+ :'restricted_distributor_agreement_certification' => :'restrictedDistributorAgreementCertification',
472
+ :'restricted_distributor_preexisting_sales_compliance_certification' => :'restrictedDistributorPreexistingSalesComplianceCertification',
473
+ :'foreign_central_bank_of_issue_certification' => :'foreignCentralBankOfIssueCertification',
474
+ :'nonreporting_iga_ffi_certification' => :'nonreportingIgaFfiCertification',
475
+ :'iga_country' => :'igaCountry',
476
+ :'iga_model' => :'igaModel',
477
+ :'iga_legal_status_treatment' => :'igaLegalStatusTreatment',
478
+ :'iga_ffi_trustee_or_sponsor' => :'igaFfiTrusteeOrSponsor',
479
+ :'iga_ffi_trustee_is_foreign' => :'igaFfiTrusteeIsForeign',
480
+ :'treaty_qualified_pension_fund_certification' => :'treatyQualifiedPensionFundCertification',
481
+ :'qualified_retirement_fund_certification' => :'qualifiedRetirementFundCertification',
482
+ :'narrow_participation_retirement_fund_certification' => :'narrowParticipationRetirementFundCertification',
483
+ :'section401_a_equivalent_pension_plan_certification' => :'section401AEquivalentPensionPlanCertification',
484
+ :'investment_entity_for_retirement_funds_certification' => :'investmentEntityForRetirementFundsCertification',
485
+ :'exempt_beneficial_owner_sponsored_retirement_fund_certification' => :'exemptBeneficialOwnerSponsoredRetirementFundCertification',
486
+ :'excepted_nonfinancial_group_entity_certification' => :'exceptedNonfinancialGroupEntityCertification',
487
+ :'excepted_nonfinancial_start_up_certification' => :'exceptedNonfinancialStartUpCertification',
488
+ :'startup_formation_or_resolution_date' => :'startupFormationOrResolutionDate',
489
+ :'excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification' => :'exceptedNonfinancialEntityInLiquidationOrBankruptcyCertification',
490
+ :'nonfinancial_entity_filing_date' => :'nonfinancialEntityFilingDate',
491
+ :'publicly_traded_nffe_certification' => :'publiclyTradedNffeCertification',
492
+ :'publicly_traded_nffe_securities_market' => :'publiclyTradedNffeSecuritiesMarket',
493
+ :'nffe_affiliate_of_publicly_traded_entity_certification' => :'nffeAffiliateOfPubliclyTradedEntityCertification',
494
+ :'publicly_traded_entity' => :'publiclyTradedEntity',
495
+ :'nffe_affiliate_of_publicly_traded_entity_securities_market' => :'nffeAffiliateOfPubliclyTradedEntitySecuritiesMarket',
496
+ :'excepted_territory_nffe_certification' => :'exceptedTerritoryNffeCertification',
497
+ :'active_nffe_certification' => :'activeNffeCertification',
498
+ :'passive_nffe_certification' => :'passiveNffeCertification',
499
+ :'sponsored_direct_reporting_nffe_certification' => :'sponsoredDirectReportingNffeCertification',
500
+ :'direct_reporting_nffe_sponsoring_entity' => :'directReportingNffeSponsoringEntity',
501
+ :'signer_name' => :'signerName',
502
+ :'company_id' => :'companyId',
503
+ :'reference_id' => :'referenceId',
504
+ :'email' => :'email',
505
+ :'e_delivery_consented_at' => :'eDeliveryConsentedAt',
506
+ :'signature' => :'signature'
507
+ }
508
+ end
509
+
510
+ # Returns all the JSON keys this model knows about
511
+ def self.acceptable_attributes
512
+ attribute_map.values
513
+ end
514
+
515
+ # Attribute type mapping.
516
+ def self.openapi_types
517
+ {
518
+ :'type' => :'String',
519
+ :'name' => :'String',
520
+ :'citizenship_country' => :'String',
521
+ :'disregarded_entity' => :'String',
522
+ :'entity_type' => :'String',
523
+ :'fatca_status' => :'String',
524
+ :'residence_address' => :'String',
525
+ :'residence_city' => :'String',
526
+ :'residence_state' => :'String',
527
+ :'residence_zip' => :'String',
528
+ :'residence_country' => :'String',
529
+ :'residence_is_mailing' => :'Boolean',
530
+ :'mailing_address' => :'String',
531
+ :'mailing_city' => :'String',
532
+ :'mailing_state' => :'String',
533
+ :'mailing_zip' => :'String',
534
+ :'mailing_country' => :'String',
535
+ :'tin_type' => :'String',
536
+ :'tin' => :'String',
537
+ :'giin' => :'String',
538
+ :'foreign_tin' => :'String',
539
+ :'reference_number' => :'String',
540
+ :'disregarded_entity_fatca_status' => :'String',
541
+ :'disregarded_address' => :'String',
542
+ :'disregarded_city' => :'String',
543
+ :'disregarded_state' => :'String',
544
+ :'disregarded_zip' => :'String',
545
+ :'disregarded_country' => :'String',
546
+ :'disregarded_entity_giin' => :'String',
547
+ :'qualified_intermediary_certification' => :'Boolean',
548
+ :'qi_primary_withholding_responsibility_certification' => :'Boolean',
549
+ :'qi_withholding_responsibility_for_ptp_sales_certification' => :'Boolean',
550
+ :'qi_nominee_withholding_responsibility_for_ptp_distributions_certification' => :'Boolean',
551
+ :'qi_securities_lender_substitute_dividend_withholding_certification' => :'Boolean',
552
+ :'qi_withholding_and1099_reporting_responsibility_certification' => :'Boolean',
553
+ :'qi_form1099_or_fatca_reporting_responsibility_certification' => :'Boolean',
554
+ :'qi_opt_out_of_form1099_reporting_certification' => :'Boolean',
555
+ :'qi_withholding_rate_pool_certification' => :'Boolean',
556
+ :'qi_intermediary_or_flow_through_entity_documentation_certification' => :'Boolean',
557
+ :'qualified_derivatives_dealer_certification' => :'Boolean',
558
+ :'qdd_corporation' => :'Boolean',
559
+ :'qdd_partnership' => :'Boolean',
560
+ :'qdd_disregarded_entity' => :'Boolean',
561
+ :'nonqualified_intermediary_certification' => :'Boolean',
562
+ :'nqi_withholding_statement_transmission_certification' => :'Boolean',
563
+ :'nqi_withholding_rate_pool_compliance_certification' => :'Boolean',
564
+ :'nqi_qualified_securities_lender_certification' => :'Boolean',
565
+ :'nqi_alternative_withholding_statement_verification_certification' => :'Boolean',
566
+ :'territory_financial_institution_certification' => :'Boolean',
567
+ :'tfi_treated_as_us_person_certification' => :'Boolean',
568
+ :'tfi_withholding_statement_transmission_certification' => :'Boolean',
569
+ :'tfi_treated_as_us_person_for_ptp_sales_certification' => :'Boolean',
570
+ :'tfi_nominee_us_person_for_ptp_distributions_certification' => :'Boolean',
571
+ :'tfi_not_nominee_for_ptp_distributions_certification' => :'Boolean',
572
+ :'us_branch_non_effectively_connected_income_certification' => :'Boolean',
573
+ :'us_branch_agreement_to_be_treated_as_us_person_certification' => :'Boolean',
574
+ :'us_branch_withholding_statement_and_compliance_certification' => :'Boolean',
575
+ :'us_branch_acting_as_us_person_for_ptp_sales_certification' => :'Boolean',
576
+ :'us_branch_nominee_for_ptp_distributions_certification' => :'Boolean',
577
+ :'us_branch_not_nominee_for_ptp_distributions_certification' => :'Boolean',
578
+ :'withholding_foreign_partnership_or_trust_certification' => :'Boolean',
579
+ :'nonwithholding_foreign_entity_withholding_statement_certification' => :'Boolean',
580
+ :'foreign_entity_partner_in_lower_tier_partnership_certification' => :'Boolean',
581
+ :'foreign_partnership_amount_realized_section1446_f_certification' => :'Boolean',
582
+ :'foreign_partnership_modified_amount_realized_certification' => :'Boolean',
583
+ :'foreign_grantor_trust_amount_realized_allocation_certification' => :'Boolean',
584
+ :'alternative_withholding_statement_reliance_certification' => :'Boolean',
585
+ :'np_ffi_with_exempt_beneficial_owners_certification' => :'Boolean',
586
+ :'ffi_sponsoring_entity' => :'String',
587
+ :'investment_entity_certification' => :'Boolean',
588
+ :'controlled_foreign_corporation_certification' => :'Boolean',
589
+ :'owner_documented_ffi_certification' => :'Boolean',
590
+ :'owner_documented_ffi_reporting_statement_certification' => :'Boolean',
591
+ :'owner_documented_ffi_auditor_letter_certification' => :'Boolean',
592
+ :'compliant_nonregistering_local_bank_certification' => :'Boolean',
593
+ :'compliant_ffi_low_value_accounts_certification' => :'Boolean',
594
+ :'sponsored_closely_held_entity_sponsoring_entity' => :'String',
595
+ :'sponsored_closely_held_investment_vehicle_certification' => :'Boolean',
596
+ :'compliant_limited_life_debt_entity_certification' => :'Boolean',
597
+ :'investment_entity_no_financial_accounts_certification' => :'Boolean',
598
+ :'restricted_distributor_certification' => :'Boolean',
599
+ :'restricted_distributor_agreement_certification' => :'Boolean',
600
+ :'restricted_distributor_preexisting_sales_compliance_certification' => :'Boolean',
601
+ :'foreign_central_bank_of_issue_certification' => :'Boolean',
602
+ :'nonreporting_iga_ffi_certification' => :'Boolean',
603
+ :'iga_country' => :'String',
604
+ :'iga_model' => :'String',
605
+ :'iga_legal_status_treatment' => :'String',
606
+ :'iga_ffi_trustee_or_sponsor' => :'String',
607
+ :'iga_ffi_trustee_is_foreign' => :'Boolean',
608
+ :'treaty_qualified_pension_fund_certification' => :'Boolean',
609
+ :'qualified_retirement_fund_certification' => :'Boolean',
610
+ :'narrow_participation_retirement_fund_certification' => :'Boolean',
611
+ :'section401_a_equivalent_pension_plan_certification' => :'Boolean',
612
+ :'investment_entity_for_retirement_funds_certification' => :'Boolean',
613
+ :'exempt_beneficial_owner_sponsored_retirement_fund_certification' => :'Boolean',
614
+ :'excepted_nonfinancial_group_entity_certification' => :'Boolean',
615
+ :'excepted_nonfinancial_start_up_certification' => :'Boolean',
616
+ :'startup_formation_or_resolution_date' => :'Date',
617
+ :'excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification' => :'Boolean',
618
+ :'nonfinancial_entity_filing_date' => :'Date',
619
+ :'publicly_traded_nffe_certification' => :'Boolean',
620
+ :'publicly_traded_nffe_securities_market' => :'String',
621
+ :'nffe_affiliate_of_publicly_traded_entity_certification' => :'Boolean',
622
+ :'publicly_traded_entity' => :'String',
623
+ :'nffe_affiliate_of_publicly_traded_entity_securities_market' => :'String',
624
+ :'excepted_territory_nffe_certification' => :'Boolean',
625
+ :'active_nffe_certification' => :'Boolean',
626
+ :'passive_nffe_certification' => :'Boolean',
627
+ :'sponsored_direct_reporting_nffe_certification' => :'Boolean',
628
+ :'direct_reporting_nffe_sponsoring_entity' => :'String',
629
+ :'signer_name' => :'String',
630
+ :'company_id' => :'String',
631
+ :'reference_id' => :'String',
632
+ :'email' => :'String',
633
+ :'e_delivery_consented_at' => :'Time',
634
+ :'signature' => :'String'
635
+ }
636
+ end
637
+
638
+ # List of attributes with nullable: true
639
+ def self.openapi_nullable
640
+ Set.new([
641
+ :'disregarded_entity',
642
+ :'residence_state',
643
+ :'mailing_address',
644
+ :'mailing_city',
645
+ :'mailing_state',
646
+ :'mailing_zip',
647
+ :'mailing_country',
648
+ :'tin_type',
649
+ :'tin',
650
+ :'giin',
651
+ :'foreign_tin',
652
+ :'reference_number',
653
+ :'disregarded_entity_fatca_status',
654
+ :'disregarded_address',
655
+ :'disregarded_city',
656
+ :'disregarded_state',
657
+ :'disregarded_zip',
658
+ :'disregarded_country',
659
+ :'disregarded_entity_giin',
660
+ :'qualified_intermediary_certification',
661
+ :'qi_primary_withholding_responsibility_certification',
662
+ :'qi_withholding_responsibility_for_ptp_sales_certification',
663
+ :'qi_nominee_withholding_responsibility_for_ptp_distributions_certification',
664
+ :'qi_securities_lender_substitute_dividend_withholding_certification',
665
+ :'qi_withholding_and1099_reporting_responsibility_certification',
666
+ :'qi_form1099_or_fatca_reporting_responsibility_certification',
667
+ :'qi_opt_out_of_form1099_reporting_certification',
668
+ :'qi_withholding_rate_pool_certification',
669
+ :'qi_intermediary_or_flow_through_entity_documentation_certification',
670
+ :'qualified_derivatives_dealer_certification',
671
+ :'qdd_corporation',
672
+ :'qdd_partnership',
673
+ :'qdd_disregarded_entity',
674
+ :'nonqualified_intermediary_certification',
675
+ :'nqi_withholding_statement_transmission_certification',
676
+ :'nqi_withholding_rate_pool_compliance_certification',
677
+ :'nqi_qualified_securities_lender_certification',
678
+ :'nqi_alternative_withholding_statement_verification_certification',
679
+ :'territory_financial_institution_certification',
680
+ :'tfi_treated_as_us_person_certification',
681
+ :'tfi_withholding_statement_transmission_certification',
682
+ :'tfi_treated_as_us_person_for_ptp_sales_certification',
683
+ :'tfi_nominee_us_person_for_ptp_distributions_certification',
684
+ :'tfi_not_nominee_for_ptp_distributions_certification',
685
+ :'us_branch_non_effectively_connected_income_certification',
686
+ :'us_branch_agreement_to_be_treated_as_us_person_certification',
687
+ :'us_branch_withholding_statement_and_compliance_certification',
688
+ :'us_branch_acting_as_us_person_for_ptp_sales_certification',
689
+ :'us_branch_nominee_for_ptp_distributions_certification',
690
+ :'us_branch_not_nominee_for_ptp_distributions_certification',
691
+ :'withholding_foreign_partnership_or_trust_certification',
692
+ :'nonwithholding_foreign_entity_withholding_statement_certification',
693
+ :'foreign_entity_partner_in_lower_tier_partnership_certification',
694
+ :'foreign_partnership_amount_realized_section1446_f_certification',
695
+ :'foreign_partnership_modified_amount_realized_certification',
696
+ :'foreign_grantor_trust_amount_realized_allocation_certification',
697
+ :'alternative_withholding_statement_reliance_certification',
698
+ :'np_ffi_with_exempt_beneficial_owners_certification',
699
+ :'ffi_sponsoring_entity',
700
+ :'investment_entity_certification',
701
+ :'controlled_foreign_corporation_certification',
702
+ :'owner_documented_ffi_certification',
703
+ :'owner_documented_ffi_reporting_statement_certification',
704
+ :'owner_documented_ffi_auditor_letter_certification',
705
+ :'compliant_nonregistering_local_bank_certification',
706
+ :'compliant_ffi_low_value_accounts_certification',
707
+ :'sponsored_closely_held_entity_sponsoring_entity',
708
+ :'sponsored_closely_held_investment_vehicle_certification',
709
+ :'compliant_limited_life_debt_entity_certification',
710
+ :'investment_entity_no_financial_accounts_certification',
711
+ :'restricted_distributor_certification',
712
+ :'restricted_distributor_agreement_certification',
713
+ :'restricted_distributor_preexisting_sales_compliance_certification',
714
+ :'foreign_central_bank_of_issue_certification',
715
+ :'nonreporting_iga_ffi_certification',
716
+ :'iga_country',
717
+ :'iga_model',
718
+ :'iga_legal_status_treatment',
719
+ :'iga_ffi_trustee_or_sponsor',
720
+ :'iga_ffi_trustee_is_foreign',
721
+ :'treaty_qualified_pension_fund_certification',
722
+ :'qualified_retirement_fund_certification',
723
+ :'narrow_participation_retirement_fund_certification',
724
+ :'section401_a_equivalent_pension_plan_certification',
725
+ :'investment_entity_for_retirement_funds_certification',
726
+ :'exempt_beneficial_owner_sponsored_retirement_fund_certification',
727
+ :'excepted_nonfinancial_group_entity_certification',
728
+ :'excepted_nonfinancial_start_up_certification',
729
+ :'startup_formation_or_resolution_date',
730
+ :'excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification',
731
+ :'nonfinancial_entity_filing_date',
732
+ :'publicly_traded_nffe_certification',
733
+ :'publicly_traded_nffe_securities_market',
734
+ :'nffe_affiliate_of_publicly_traded_entity_certification',
735
+ :'publicly_traded_entity',
736
+ :'nffe_affiliate_of_publicly_traded_entity_securities_market',
737
+ :'excepted_territory_nffe_certification',
738
+ :'active_nffe_certification',
739
+ :'passive_nffe_certification',
740
+ :'sponsored_direct_reporting_nffe_certification',
741
+ :'direct_reporting_nffe_sponsoring_entity',
742
+ :'signer_name',
743
+ :'reference_id',
744
+ :'email',
745
+ :'e_delivery_consented_at',
746
+ :'signature'
747
+ ])
748
+ end
749
+
750
+ # List of class defined in allOf (OpenAPI v3)
751
+ def self.openapi_all_of
752
+ [
753
+ :'W9FormBaseRequest'
754
+ ]
755
+ end
756
+
757
+ # Initializes the object
758
+ # @param [Hash] attributes Model attributes in the form of hash
759
+ def initialize(attributes = {})
760
+ if (!attributes.is_a?(Hash))
761
+ fail ArgumentError, "The input argument (attributes) must be a hash in `AvalaraSdk::A1099::V2::W8ImyFormRequest` initialize method"
762
+ end
763
+
764
+ # check to see if the attribute exists and convert string to symbol for hash key
765
+ attributes = attributes.each_with_object({}) { |(k, v), h|
766
+ if (!self.class.attribute_map.key?(k.to_sym))
767
+ fail ArgumentError, "`#{k}` is not a valid attribute in `AvalaraSdk::A1099::V2::W8ImyFormRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
768
+ end
769
+ h[k.to_sym] = v
770
+ }
771
+
772
+ if attributes.key?(:'type')
773
+ self.type = attributes[:'type']
774
+ end
775
+
776
+ if attributes.key?(:'name')
777
+ self.name = attributes[:'name']
778
+ end
779
+
780
+ if attributes.key?(:'citizenship_country')
781
+ self.citizenship_country = attributes[:'citizenship_country']
782
+ end
783
+
784
+ if attributes.key?(:'disregarded_entity')
785
+ self.disregarded_entity = attributes[:'disregarded_entity']
786
+ end
787
+
788
+ if attributes.key?(:'entity_type')
789
+ self.entity_type = attributes[:'entity_type']
790
+ end
791
+
792
+ if attributes.key?(:'fatca_status')
793
+ self.fatca_status = attributes[:'fatca_status']
794
+ end
795
+
796
+ if attributes.key?(:'residence_address')
797
+ self.residence_address = attributes[:'residence_address']
798
+ end
799
+
800
+ if attributes.key?(:'residence_city')
801
+ self.residence_city = attributes[:'residence_city']
802
+ end
803
+
804
+ if attributes.key?(:'residence_state')
805
+ self.residence_state = attributes[:'residence_state']
806
+ end
807
+
808
+ if attributes.key?(:'residence_zip')
809
+ self.residence_zip = attributes[:'residence_zip']
810
+ end
811
+
812
+ if attributes.key?(:'residence_country')
813
+ self.residence_country = attributes[:'residence_country']
814
+ end
815
+
816
+ if attributes.key?(:'residence_is_mailing')
817
+ self.residence_is_mailing = attributes[:'residence_is_mailing']
818
+ end
819
+
820
+ if attributes.key?(:'mailing_address')
821
+ self.mailing_address = attributes[:'mailing_address']
822
+ end
823
+
824
+ if attributes.key?(:'mailing_city')
825
+ self.mailing_city = attributes[:'mailing_city']
826
+ end
827
+
828
+ if attributes.key?(:'mailing_state')
829
+ self.mailing_state = attributes[:'mailing_state']
830
+ end
831
+
832
+ if attributes.key?(:'mailing_zip')
833
+ self.mailing_zip = attributes[:'mailing_zip']
834
+ end
835
+
836
+ if attributes.key?(:'mailing_country')
837
+ self.mailing_country = attributes[:'mailing_country']
838
+ end
839
+
840
+ if attributes.key?(:'tin_type')
841
+ self.tin_type = attributes[:'tin_type']
842
+ end
843
+
844
+ if attributes.key?(:'tin')
845
+ self.tin = attributes[:'tin']
846
+ end
847
+
848
+ if attributes.key?(:'giin')
849
+ self.giin = attributes[:'giin']
850
+ end
851
+
852
+ if attributes.key?(:'foreign_tin')
853
+ self.foreign_tin = attributes[:'foreign_tin']
854
+ end
855
+
856
+ if attributes.key?(:'reference_number')
857
+ self.reference_number = attributes[:'reference_number']
858
+ end
859
+
860
+ if attributes.key?(:'disregarded_entity_fatca_status')
861
+ self.disregarded_entity_fatca_status = attributes[:'disregarded_entity_fatca_status']
862
+ end
863
+
864
+ if attributes.key?(:'disregarded_address')
865
+ self.disregarded_address = attributes[:'disregarded_address']
866
+ end
867
+
868
+ if attributes.key?(:'disregarded_city')
869
+ self.disregarded_city = attributes[:'disregarded_city']
870
+ end
871
+
872
+ if attributes.key?(:'disregarded_state')
873
+ self.disregarded_state = attributes[:'disregarded_state']
874
+ end
875
+
876
+ if attributes.key?(:'disregarded_zip')
877
+ self.disregarded_zip = attributes[:'disregarded_zip']
878
+ end
879
+
880
+ if attributes.key?(:'disregarded_country')
881
+ self.disregarded_country = attributes[:'disregarded_country']
882
+ end
883
+
884
+ if attributes.key?(:'disregarded_entity_giin')
885
+ self.disregarded_entity_giin = attributes[:'disregarded_entity_giin']
886
+ end
887
+
888
+ if attributes.key?(:'qualified_intermediary_certification')
889
+ self.qualified_intermediary_certification = attributes[:'qualified_intermediary_certification']
890
+ end
891
+
892
+ if attributes.key?(:'qi_primary_withholding_responsibility_certification')
893
+ self.qi_primary_withholding_responsibility_certification = attributes[:'qi_primary_withholding_responsibility_certification']
894
+ end
895
+
896
+ if attributes.key?(:'qi_withholding_responsibility_for_ptp_sales_certification')
897
+ self.qi_withholding_responsibility_for_ptp_sales_certification = attributes[:'qi_withholding_responsibility_for_ptp_sales_certification']
898
+ end
899
+
900
+ if attributes.key?(:'qi_nominee_withholding_responsibility_for_ptp_distributions_certification')
901
+ self.qi_nominee_withholding_responsibility_for_ptp_distributions_certification = attributes[:'qi_nominee_withholding_responsibility_for_ptp_distributions_certification']
902
+ end
903
+
904
+ if attributes.key?(:'qi_securities_lender_substitute_dividend_withholding_certification')
905
+ self.qi_securities_lender_substitute_dividend_withholding_certification = attributes[:'qi_securities_lender_substitute_dividend_withholding_certification']
906
+ end
907
+
908
+ if attributes.key?(:'qi_withholding_and1099_reporting_responsibility_certification')
909
+ self.qi_withholding_and1099_reporting_responsibility_certification = attributes[:'qi_withholding_and1099_reporting_responsibility_certification']
910
+ end
911
+
912
+ if attributes.key?(:'qi_form1099_or_fatca_reporting_responsibility_certification')
913
+ self.qi_form1099_or_fatca_reporting_responsibility_certification = attributes[:'qi_form1099_or_fatca_reporting_responsibility_certification']
914
+ end
915
+
916
+ if attributes.key?(:'qi_opt_out_of_form1099_reporting_certification')
917
+ self.qi_opt_out_of_form1099_reporting_certification = attributes[:'qi_opt_out_of_form1099_reporting_certification']
918
+ end
919
+
920
+ if attributes.key?(:'qi_withholding_rate_pool_certification')
921
+ self.qi_withholding_rate_pool_certification = attributes[:'qi_withholding_rate_pool_certification']
922
+ end
923
+
924
+ if attributes.key?(:'qi_intermediary_or_flow_through_entity_documentation_certification')
925
+ self.qi_intermediary_or_flow_through_entity_documentation_certification = attributes[:'qi_intermediary_or_flow_through_entity_documentation_certification']
926
+ end
927
+
928
+ if attributes.key?(:'qualified_derivatives_dealer_certification')
929
+ self.qualified_derivatives_dealer_certification = attributes[:'qualified_derivatives_dealer_certification']
930
+ end
931
+
932
+ if attributes.key?(:'qdd_corporation')
933
+ self.qdd_corporation = attributes[:'qdd_corporation']
934
+ end
935
+
936
+ if attributes.key?(:'qdd_partnership')
937
+ self.qdd_partnership = attributes[:'qdd_partnership']
938
+ end
939
+
940
+ if attributes.key?(:'qdd_disregarded_entity')
941
+ self.qdd_disregarded_entity = attributes[:'qdd_disregarded_entity']
942
+ end
943
+
944
+ if attributes.key?(:'nonqualified_intermediary_certification')
945
+ self.nonqualified_intermediary_certification = attributes[:'nonqualified_intermediary_certification']
946
+ end
947
+
948
+ if attributes.key?(:'nqi_withholding_statement_transmission_certification')
949
+ self.nqi_withholding_statement_transmission_certification = attributes[:'nqi_withholding_statement_transmission_certification']
950
+ end
951
+
952
+ if attributes.key?(:'nqi_withholding_rate_pool_compliance_certification')
953
+ self.nqi_withholding_rate_pool_compliance_certification = attributes[:'nqi_withholding_rate_pool_compliance_certification']
954
+ end
955
+
956
+ if attributes.key?(:'nqi_qualified_securities_lender_certification')
957
+ self.nqi_qualified_securities_lender_certification = attributes[:'nqi_qualified_securities_lender_certification']
958
+ end
959
+
960
+ if attributes.key?(:'nqi_alternative_withholding_statement_verification_certification')
961
+ self.nqi_alternative_withholding_statement_verification_certification = attributes[:'nqi_alternative_withholding_statement_verification_certification']
962
+ end
963
+
964
+ if attributes.key?(:'territory_financial_institution_certification')
965
+ self.territory_financial_institution_certification = attributes[:'territory_financial_institution_certification']
966
+ end
967
+
968
+ if attributes.key?(:'tfi_treated_as_us_person_certification')
969
+ self.tfi_treated_as_us_person_certification = attributes[:'tfi_treated_as_us_person_certification']
970
+ end
971
+
972
+ if attributes.key?(:'tfi_withholding_statement_transmission_certification')
973
+ self.tfi_withholding_statement_transmission_certification = attributes[:'tfi_withholding_statement_transmission_certification']
974
+ end
975
+
976
+ if attributes.key?(:'tfi_treated_as_us_person_for_ptp_sales_certification')
977
+ self.tfi_treated_as_us_person_for_ptp_sales_certification = attributes[:'tfi_treated_as_us_person_for_ptp_sales_certification']
978
+ end
979
+
980
+ if attributes.key?(:'tfi_nominee_us_person_for_ptp_distributions_certification')
981
+ self.tfi_nominee_us_person_for_ptp_distributions_certification = attributes[:'tfi_nominee_us_person_for_ptp_distributions_certification']
982
+ end
983
+
984
+ if attributes.key?(:'tfi_not_nominee_for_ptp_distributions_certification')
985
+ self.tfi_not_nominee_for_ptp_distributions_certification = attributes[:'tfi_not_nominee_for_ptp_distributions_certification']
986
+ end
987
+
988
+ if attributes.key?(:'us_branch_non_effectively_connected_income_certification')
989
+ self.us_branch_non_effectively_connected_income_certification = attributes[:'us_branch_non_effectively_connected_income_certification']
990
+ end
991
+
992
+ if attributes.key?(:'us_branch_agreement_to_be_treated_as_us_person_certification')
993
+ self.us_branch_agreement_to_be_treated_as_us_person_certification = attributes[:'us_branch_agreement_to_be_treated_as_us_person_certification']
994
+ end
995
+
996
+ if attributes.key?(:'us_branch_withholding_statement_and_compliance_certification')
997
+ self.us_branch_withholding_statement_and_compliance_certification = attributes[:'us_branch_withholding_statement_and_compliance_certification']
998
+ end
999
+
1000
+ if attributes.key?(:'us_branch_acting_as_us_person_for_ptp_sales_certification')
1001
+ self.us_branch_acting_as_us_person_for_ptp_sales_certification = attributes[:'us_branch_acting_as_us_person_for_ptp_sales_certification']
1002
+ end
1003
+
1004
+ if attributes.key?(:'us_branch_nominee_for_ptp_distributions_certification')
1005
+ self.us_branch_nominee_for_ptp_distributions_certification = attributes[:'us_branch_nominee_for_ptp_distributions_certification']
1006
+ end
1007
+
1008
+ if attributes.key?(:'us_branch_not_nominee_for_ptp_distributions_certification')
1009
+ self.us_branch_not_nominee_for_ptp_distributions_certification = attributes[:'us_branch_not_nominee_for_ptp_distributions_certification']
1010
+ end
1011
+
1012
+ if attributes.key?(:'withholding_foreign_partnership_or_trust_certification')
1013
+ self.withholding_foreign_partnership_or_trust_certification = attributes[:'withholding_foreign_partnership_or_trust_certification']
1014
+ end
1015
+
1016
+ if attributes.key?(:'nonwithholding_foreign_entity_withholding_statement_certification')
1017
+ self.nonwithholding_foreign_entity_withholding_statement_certification = attributes[:'nonwithholding_foreign_entity_withholding_statement_certification']
1018
+ end
1019
+
1020
+ if attributes.key?(:'foreign_entity_partner_in_lower_tier_partnership_certification')
1021
+ self.foreign_entity_partner_in_lower_tier_partnership_certification = attributes[:'foreign_entity_partner_in_lower_tier_partnership_certification']
1022
+ end
1023
+
1024
+ if attributes.key?(:'foreign_partnership_amount_realized_section1446_f_certification')
1025
+ self.foreign_partnership_amount_realized_section1446_f_certification = attributes[:'foreign_partnership_amount_realized_section1446_f_certification']
1026
+ end
1027
+
1028
+ if attributes.key?(:'foreign_partnership_modified_amount_realized_certification')
1029
+ self.foreign_partnership_modified_amount_realized_certification = attributes[:'foreign_partnership_modified_amount_realized_certification']
1030
+ end
1031
+
1032
+ if attributes.key?(:'foreign_grantor_trust_amount_realized_allocation_certification')
1033
+ self.foreign_grantor_trust_amount_realized_allocation_certification = attributes[:'foreign_grantor_trust_amount_realized_allocation_certification']
1034
+ end
1035
+
1036
+ if attributes.key?(:'alternative_withholding_statement_reliance_certification')
1037
+ self.alternative_withholding_statement_reliance_certification = attributes[:'alternative_withholding_statement_reliance_certification']
1038
+ end
1039
+
1040
+ if attributes.key?(:'np_ffi_with_exempt_beneficial_owners_certification')
1041
+ self.np_ffi_with_exempt_beneficial_owners_certification = attributes[:'np_ffi_with_exempt_beneficial_owners_certification']
1042
+ end
1043
+
1044
+ if attributes.key?(:'ffi_sponsoring_entity')
1045
+ self.ffi_sponsoring_entity = attributes[:'ffi_sponsoring_entity']
1046
+ end
1047
+
1048
+ if attributes.key?(:'investment_entity_certification')
1049
+ self.investment_entity_certification = attributes[:'investment_entity_certification']
1050
+ end
1051
+
1052
+ if attributes.key?(:'controlled_foreign_corporation_certification')
1053
+ self.controlled_foreign_corporation_certification = attributes[:'controlled_foreign_corporation_certification']
1054
+ end
1055
+
1056
+ if attributes.key?(:'owner_documented_ffi_certification')
1057
+ self.owner_documented_ffi_certification = attributes[:'owner_documented_ffi_certification']
1058
+ end
1059
+
1060
+ if attributes.key?(:'owner_documented_ffi_reporting_statement_certification')
1061
+ self.owner_documented_ffi_reporting_statement_certification = attributes[:'owner_documented_ffi_reporting_statement_certification']
1062
+ end
1063
+
1064
+ if attributes.key?(:'owner_documented_ffi_auditor_letter_certification')
1065
+ self.owner_documented_ffi_auditor_letter_certification = attributes[:'owner_documented_ffi_auditor_letter_certification']
1066
+ end
1067
+
1068
+ if attributes.key?(:'compliant_nonregistering_local_bank_certification')
1069
+ self.compliant_nonregistering_local_bank_certification = attributes[:'compliant_nonregistering_local_bank_certification']
1070
+ end
1071
+
1072
+ if attributes.key?(:'compliant_ffi_low_value_accounts_certification')
1073
+ self.compliant_ffi_low_value_accounts_certification = attributes[:'compliant_ffi_low_value_accounts_certification']
1074
+ end
1075
+
1076
+ if attributes.key?(:'sponsored_closely_held_entity_sponsoring_entity')
1077
+ self.sponsored_closely_held_entity_sponsoring_entity = attributes[:'sponsored_closely_held_entity_sponsoring_entity']
1078
+ end
1079
+
1080
+ if attributes.key?(:'sponsored_closely_held_investment_vehicle_certification')
1081
+ self.sponsored_closely_held_investment_vehicle_certification = attributes[:'sponsored_closely_held_investment_vehicle_certification']
1082
+ end
1083
+
1084
+ if attributes.key?(:'compliant_limited_life_debt_entity_certification')
1085
+ self.compliant_limited_life_debt_entity_certification = attributes[:'compliant_limited_life_debt_entity_certification']
1086
+ end
1087
+
1088
+ if attributes.key?(:'investment_entity_no_financial_accounts_certification')
1089
+ self.investment_entity_no_financial_accounts_certification = attributes[:'investment_entity_no_financial_accounts_certification']
1090
+ end
1091
+
1092
+ if attributes.key?(:'restricted_distributor_certification')
1093
+ self.restricted_distributor_certification = attributes[:'restricted_distributor_certification']
1094
+ end
1095
+
1096
+ if attributes.key?(:'restricted_distributor_agreement_certification')
1097
+ self.restricted_distributor_agreement_certification = attributes[:'restricted_distributor_agreement_certification']
1098
+ end
1099
+
1100
+ if attributes.key?(:'restricted_distributor_preexisting_sales_compliance_certification')
1101
+ self.restricted_distributor_preexisting_sales_compliance_certification = attributes[:'restricted_distributor_preexisting_sales_compliance_certification']
1102
+ end
1103
+
1104
+ if attributes.key?(:'foreign_central_bank_of_issue_certification')
1105
+ self.foreign_central_bank_of_issue_certification = attributes[:'foreign_central_bank_of_issue_certification']
1106
+ end
1107
+
1108
+ if attributes.key?(:'nonreporting_iga_ffi_certification')
1109
+ self.nonreporting_iga_ffi_certification = attributes[:'nonreporting_iga_ffi_certification']
1110
+ end
1111
+
1112
+ if attributes.key?(:'iga_country')
1113
+ self.iga_country = attributes[:'iga_country']
1114
+ end
1115
+
1116
+ if attributes.key?(:'iga_model')
1117
+ self.iga_model = attributes[:'iga_model']
1118
+ end
1119
+
1120
+ if attributes.key?(:'iga_legal_status_treatment')
1121
+ self.iga_legal_status_treatment = attributes[:'iga_legal_status_treatment']
1122
+ end
1123
+
1124
+ if attributes.key?(:'iga_ffi_trustee_or_sponsor')
1125
+ self.iga_ffi_trustee_or_sponsor = attributes[:'iga_ffi_trustee_or_sponsor']
1126
+ end
1127
+
1128
+ if attributes.key?(:'iga_ffi_trustee_is_foreign')
1129
+ self.iga_ffi_trustee_is_foreign = attributes[:'iga_ffi_trustee_is_foreign']
1130
+ end
1131
+
1132
+ if attributes.key?(:'treaty_qualified_pension_fund_certification')
1133
+ self.treaty_qualified_pension_fund_certification = attributes[:'treaty_qualified_pension_fund_certification']
1134
+ end
1135
+
1136
+ if attributes.key?(:'qualified_retirement_fund_certification')
1137
+ self.qualified_retirement_fund_certification = attributes[:'qualified_retirement_fund_certification']
1138
+ end
1139
+
1140
+ if attributes.key?(:'narrow_participation_retirement_fund_certification')
1141
+ self.narrow_participation_retirement_fund_certification = attributes[:'narrow_participation_retirement_fund_certification']
1142
+ end
1143
+
1144
+ if attributes.key?(:'section401_a_equivalent_pension_plan_certification')
1145
+ self.section401_a_equivalent_pension_plan_certification = attributes[:'section401_a_equivalent_pension_plan_certification']
1146
+ end
1147
+
1148
+ if attributes.key?(:'investment_entity_for_retirement_funds_certification')
1149
+ self.investment_entity_for_retirement_funds_certification = attributes[:'investment_entity_for_retirement_funds_certification']
1150
+ end
1151
+
1152
+ if attributes.key?(:'exempt_beneficial_owner_sponsored_retirement_fund_certification')
1153
+ self.exempt_beneficial_owner_sponsored_retirement_fund_certification = attributes[:'exempt_beneficial_owner_sponsored_retirement_fund_certification']
1154
+ end
1155
+
1156
+ if attributes.key?(:'excepted_nonfinancial_group_entity_certification')
1157
+ self.excepted_nonfinancial_group_entity_certification = attributes[:'excepted_nonfinancial_group_entity_certification']
1158
+ end
1159
+
1160
+ if attributes.key?(:'excepted_nonfinancial_start_up_certification')
1161
+ self.excepted_nonfinancial_start_up_certification = attributes[:'excepted_nonfinancial_start_up_certification']
1162
+ end
1163
+
1164
+ if attributes.key?(:'startup_formation_or_resolution_date')
1165
+ self.startup_formation_or_resolution_date = attributes[:'startup_formation_or_resolution_date']
1166
+ end
1167
+
1168
+ if attributes.key?(:'excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification')
1169
+ self.excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification = attributes[:'excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification']
1170
+ end
1171
+
1172
+ if attributes.key?(:'nonfinancial_entity_filing_date')
1173
+ self.nonfinancial_entity_filing_date = attributes[:'nonfinancial_entity_filing_date']
1174
+ end
1175
+
1176
+ if attributes.key?(:'publicly_traded_nffe_certification')
1177
+ self.publicly_traded_nffe_certification = attributes[:'publicly_traded_nffe_certification']
1178
+ end
1179
+
1180
+ if attributes.key?(:'publicly_traded_nffe_securities_market')
1181
+ self.publicly_traded_nffe_securities_market = attributes[:'publicly_traded_nffe_securities_market']
1182
+ end
1183
+
1184
+ if attributes.key?(:'nffe_affiliate_of_publicly_traded_entity_certification')
1185
+ self.nffe_affiliate_of_publicly_traded_entity_certification = attributes[:'nffe_affiliate_of_publicly_traded_entity_certification']
1186
+ end
1187
+
1188
+ if attributes.key?(:'publicly_traded_entity')
1189
+ self.publicly_traded_entity = attributes[:'publicly_traded_entity']
1190
+ end
1191
+
1192
+ if attributes.key?(:'nffe_affiliate_of_publicly_traded_entity_securities_market')
1193
+ self.nffe_affiliate_of_publicly_traded_entity_securities_market = attributes[:'nffe_affiliate_of_publicly_traded_entity_securities_market']
1194
+ end
1195
+
1196
+ if attributes.key?(:'excepted_territory_nffe_certification')
1197
+ self.excepted_territory_nffe_certification = attributes[:'excepted_territory_nffe_certification']
1198
+ end
1199
+
1200
+ if attributes.key?(:'active_nffe_certification')
1201
+ self.active_nffe_certification = attributes[:'active_nffe_certification']
1202
+ end
1203
+
1204
+ if attributes.key?(:'passive_nffe_certification')
1205
+ self.passive_nffe_certification = attributes[:'passive_nffe_certification']
1206
+ end
1207
+
1208
+ if attributes.key?(:'sponsored_direct_reporting_nffe_certification')
1209
+ self.sponsored_direct_reporting_nffe_certification = attributes[:'sponsored_direct_reporting_nffe_certification']
1210
+ end
1211
+
1212
+ if attributes.key?(:'direct_reporting_nffe_sponsoring_entity')
1213
+ self.direct_reporting_nffe_sponsoring_entity = attributes[:'direct_reporting_nffe_sponsoring_entity']
1214
+ end
1215
+
1216
+ if attributes.key?(:'signer_name')
1217
+ self.signer_name = attributes[:'signer_name']
1218
+ end
1219
+
1220
+ if attributes.key?(:'company_id')
1221
+ self.company_id = attributes[:'company_id']
1222
+ end
1223
+
1224
+ if attributes.key?(:'reference_id')
1225
+ self.reference_id = attributes[:'reference_id']
1226
+ end
1227
+
1228
+ if attributes.key?(:'email')
1229
+ self.email = attributes[:'email']
1230
+ end
1231
+
1232
+ if attributes.key?(:'e_delivery_consented_at')
1233
+ self.e_delivery_consented_at = attributes[:'e_delivery_consented_at']
1234
+ end
1235
+
1236
+ if attributes.key?(:'signature')
1237
+ self.signature = attributes[:'signature']
1238
+ end
1239
+ end
1240
+
1241
+ # Show invalid properties with the reasons. Usually used together with valid?
1242
+ # @return Array for valid properties with the reasons
1243
+ def list_invalid_properties
1244
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
1245
+ invalid_properties = Array.new
1246
+ invalid_properties
1247
+ end
1248
+
1249
+ # Check to see if the all the properties in the model are valid
1250
+ # @return true if the model is valid
1251
+ def valid?
1252
+ warn '[DEPRECATED] the `valid?` method is obsolete'
1253
+ type_validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
1254
+ return false unless type_validator.valid?(@type)
1255
+ true
1256
+ end
1257
+
1258
+ # Custom attribute writer method checking allowed values (enum).
1259
+ # @param [Object] type Object to be assigned
1260
+ def type=(type)
1261
+ validator = EnumAttributeValidator.new('String', ["W4", "W8Ben", "W8BenE", "W8Imy", "W9"])
1262
+ unless validator.valid?(type)
1263
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
1264
+ end
1265
+ @type = type
1266
+ end
1267
+
1268
+ # Checks equality by comparing each attribute.
1269
+ # @param [Object] Object to be compared
1270
+ def ==(o)
1271
+ return true if self.equal?(o)
1272
+ self.class == o.class &&
1273
+ type == o.type &&
1274
+ name == o.name &&
1275
+ citizenship_country == o.citizenship_country &&
1276
+ disregarded_entity == o.disregarded_entity &&
1277
+ entity_type == o.entity_type &&
1278
+ fatca_status == o.fatca_status &&
1279
+ residence_address == o.residence_address &&
1280
+ residence_city == o.residence_city &&
1281
+ residence_state == o.residence_state &&
1282
+ residence_zip == o.residence_zip &&
1283
+ residence_country == o.residence_country &&
1284
+ residence_is_mailing == o.residence_is_mailing &&
1285
+ mailing_address == o.mailing_address &&
1286
+ mailing_city == o.mailing_city &&
1287
+ mailing_state == o.mailing_state &&
1288
+ mailing_zip == o.mailing_zip &&
1289
+ mailing_country == o.mailing_country &&
1290
+ tin_type == o.tin_type &&
1291
+ tin == o.tin &&
1292
+ giin == o.giin &&
1293
+ foreign_tin == o.foreign_tin &&
1294
+ reference_number == o.reference_number &&
1295
+ disregarded_entity_fatca_status == o.disregarded_entity_fatca_status &&
1296
+ disregarded_address == o.disregarded_address &&
1297
+ disregarded_city == o.disregarded_city &&
1298
+ disregarded_state == o.disregarded_state &&
1299
+ disregarded_zip == o.disregarded_zip &&
1300
+ disregarded_country == o.disregarded_country &&
1301
+ disregarded_entity_giin == o.disregarded_entity_giin &&
1302
+ qualified_intermediary_certification == o.qualified_intermediary_certification &&
1303
+ qi_primary_withholding_responsibility_certification == o.qi_primary_withholding_responsibility_certification &&
1304
+ qi_withholding_responsibility_for_ptp_sales_certification == o.qi_withholding_responsibility_for_ptp_sales_certification &&
1305
+ qi_nominee_withholding_responsibility_for_ptp_distributions_certification == o.qi_nominee_withholding_responsibility_for_ptp_distributions_certification &&
1306
+ qi_securities_lender_substitute_dividend_withholding_certification == o.qi_securities_lender_substitute_dividend_withholding_certification &&
1307
+ qi_withholding_and1099_reporting_responsibility_certification == o.qi_withholding_and1099_reporting_responsibility_certification &&
1308
+ qi_form1099_or_fatca_reporting_responsibility_certification == o.qi_form1099_or_fatca_reporting_responsibility_certification &&
1309
+ qi_opt_out_of_form1099_reporting_certification == o.qi_opt_out_of_form1099_reporting_certification &&
1310
+ qi_withholding_rate_pool_certification == o.qi_withholding_rate_pool_certification &&
1311
+ qi_intermediary_or_flow_through_entity_documentation_certification == o.qi_intermediary_or_flow_through_entity_documentation_certification &&
1312
+ qualified_derivatives_dealer_certification == o.qualified_derivatives_dealer_certification &&
1313
+ qdd_corporation == o.qdd_corporation &&
1314
+ qdd_partnership == o.qdd_partnership &&
1315
+ qdd_disregarded_entity == o.qdd_disregarded_entity &&
1316
+ nonqualified_intermediary_certification == o.nonqualified_intermediary_certification &&
1317
+ nqi_withholding_statement_transmission_certification == o.nqi_withholding_statement_transmission_certification &&
1318
+ nqi_withholding_rate_pool_compliance_certification == o.nqi_withholding_rate_pool_compliance_certification &&
1319
+ nqi_qualified_securities_lender_certification == o.nqi_qualified_securities_lender_certification &&
1320
+ nqi_alternative_withholding_statement_verification_certification == o.nqi_alternative_withholding_statement_verification_certification &&
1321
+ territory_financial_institution_certification == o.territory_financial_institution_certification &&
1322
+ tfi_treated_as_us_person_certification == o.tfi_treated_as_us_person_certification &&
1323
+ tfi_withholding_statement_transmission_certification == o.tfi_withholding_statement_transmission_certification &&
1324
+ tfi_treated_as_us_person_for_ptp_sales_certification == o.tfi_treated_as_us_person_for_ptp_sales_certification &&
1325
+ tfi_nominee_us_person_for_ptp_distributions_certification == o.tfi_nominee_us_person_for_ptp_distributions_certification &&
1326
+ tfi_not_nominee_for_ptp_distributions_certification == o.tfi_not_nominee_for_ptp_distributions_certification &&
1327
+ us_branch_non_effectively_connected_income_certification == o.us_branch_non_effectively_connected_income_certification &&
1328
+ us_branch_agreement_to_be_treated_as_us_person_certification == o.us_branch_agreement_to_be_treated_as_us_person_certification &&
1329
+ us_branch_withholding_statement_and_compliance_certification == o.us_branch_withholding_statement_and_compliance_certification &&
1330
+ us_branch_acting_as_us_person_for_ptp_sales_certification == o.us_branch_acting_as_us_person_for_ptp_sales_certification &&
1331
+ us_branch_nominee_for_ptp_distributions_certification == o.us_branch_nominee_for_ptp_distributions_certification &&
1332
+ us_branch_not_nominee_for_ptp_distributions_certification == o.us_branch_not_nominee_for_ptp_distributions_certification &&
1333
+ withholding_foreign_partnership_or_trust_certification == o.withholding_foreign_partnership_or_trust_certification &&
1334
+ nonwithholding_foreign_entity_withholding_statement_certification == o.nonwithholding_foreign_entity_withholding_statement_certification &&
1335
+ foreign_entity_partner_in_lower_tier_partnership_certification == o.foreign_entity_partner_in_lower_tier_partnership_certification &&
1336
+ foreign_partnership_amount_realized_section1446_f_certification == o.foreign_partnership_amount_realized_section1446_f_certification &&
1337
+ foreign_partnership_modified_amount_realized_certification == o.foreign_partnership_modified_amount_realized_certification &&
1338
+ foreign_grantor_trust_amount_realized_allocation_certification == o.foreign_grantor_trust_amount_realized_allocation_certification &&
1339
+ alternative_withholding_statement_reliance_certification == o.alternative_withholding_statement_reliance_certification &&
1340
+ np_ffi_with_exempt_beneficial_owners_certification == o.np_ffi_with_exempt_beneficial_owners_certification &&
1341
+ ffi_sponsoring_entity == o.ffi_sponsoring_entity &&
1342
+ investment_entity_certification == o.investment_entity_certification &&
1343
+ controlled_foreign_corporation_certification == o.controlled_foreign_corporation_certification &&
1344
+ owner_documented_ffi_certification == o.owner_documented_ffi_certification &&
1345
+ owner_documented_ffi_reporting_statement_certification == o.owner_documented_ffi_reporting_statement_certification &&
1346
+ owner_documented_ffi_auditor_letter_certification == o.owner_documented_ffi_auditor_letter_certification &&
1347
+ compliant_nonregistering_local_bank_certification == o.compliant_nonregistering_local_bank_certification &&
1348
+ compliant_ffi_low_value_accounts_certification == o.compliant_ffi_low_value_accounts_certification &&
1349
+ sponsored_closely_held_entity_sponsoring_entity == o.sponsored_closely_held_entity_sponsoring_entity &&
1350
+ sponsored_closely_held_investment_vehicle_certification == o.sponsored_closely_held_investment_vehicle_certification &&
1351
+ compliant_limited_life_debt_entity_certification == o.compliant_limited_life_debt_entity_certification &&
1352
+ investment_entity_no_financial_accounts_certification == o.investment_entity_no_financial_accounts_certification &&
1353
+ restricted_distributor_certification == o.restricted_distributor_certification &&
1354
+ restricted_distributor_agreement_certification == o.restricted_distributor_agreement_certification &&
1355
+ restricted_distributor_preexisting_sales_compliance_certification == o.restricted_distributor_preexisting_sales_compliance_certification &&
1356
+ foreign_central_bank_of_issue_certification == o.foreign_central_bank_of_issue_certification &&
1357
+ nonreporting_iga_ffi_certification == o.nonreporting_iga_ffi_certification &&
1358
+ iga_country == o.iga_country &&
1359
+ iga_model == o.iga_model &&
1360
+ iga_legal_status_treatment == o.iga_legal_status_treatment &&
1361
+ iga_ffi_trustee_or_sponsor == o.iga_ffi_trustee_or_sponsor &&
1362
+ iga_ffi_trustee_is_foreign == o.iga_ffi_trustee_is_foreign &&
1363
+ treaty_qualified_pension_fund_certification == o.treaty_qualified_pension_fund_certification &&
1364
+ qualified_retirement_fund_certification == o.qualified_retirement_fund_certification &&
1365
+ narrow_participation_retirement_fund_certification == o.narrow_participation_retirement_fund_certification &&
1366
+ section401_a_equivalent_pension_plan_certification == o.section401_a_equivalent_pension_plan_certification &&
1367
+ investment_entity_for_retirement_funds_certification == o.investment_entity_for_retirement_funds_certification &&
1368
+ exempt_beneficial_owner_sponsored_retirement_fund_certification == o.exempt_beneficial_owner_sponsored_retirement_fund_certification &&
1369
+ excepted_nonfinancial_group_entity_certification == o.excepted_nonfinancial_group_entity_certification &&
1370
+ excepted_nonfinancial_start_up_certification == o.excepted_nonfinancial_start_up_certification &&
1371
+ startup_formation_or_resolution_date == o.startup_formation_or_resolution_date &&
1372
+ excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification == o.excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification &&
1373
+ nonfinancial_entity_filing_date == o.nonfinancial_entity_filing_date &&
1374
+ publicly_traded_nffe_certification == o.publicly_traded_nffe_certification &&
1375
+ publicly_traded_nffe_securities_market == o.publicly_traded_nffe_securities_market &&
1376
+ nffe_affiliate_of_publicly_traded_entity_certification == o.nffe_affiliate_of_publicly_traded_entity_certification &&
1377
+ publicly_traded_entity == o.publicly_traded_entity &&
1378
+ nffe_affiliate_of_publicly_traded_entity_securities_market == o.nffe_affiliate_of_publicly_traded_entity_securities_market &&
1379
+ excepted_territory_nffe_certification == o.excepted_territory_nffe_certification &&
1380
+ active_nffe_certification == o.active_nffe_certification &&
1381
+ passive_nffe_certification == o.passive_nffe_certification &&
1382
+ sponsored_direct_reporting_nffe_certification == o.sponsored_direct_reporting_nffe_certification &&
1383
+ direct_reporting_nffe_sponsoring_entity == o.direct_reporting_nffe_sponsoring_entity &&
1384
+ signer_name == o.signer_name &&
1385
+ company_id == o.company_id &&
1386
+ reference_id == o.reference_id &&
1387
+ email == o.email &&
1388
+ e_delivery_consented_at == o.e_delivery_consented_at &&
1389
+ signature == o.signature
1390
+ end
1391
+
1392
+ # @see the `==` method
1393
+ # @param [Object] Object to be compared
1394
+ def eql?(o)
1395
+ self == o
1396
+ end
1397
+
1398
+ # Calculates hash code according to all attributes.
1399
+ # @return [Integer] Hash code
1400
+ def hash
1401
+ [type, name, citizenship_country, disregarded_entity, entity_type, fatca_status, residence_address, residence_city, residence_state, residence_zip, residence_country, residence_is_mailing, mailing_address, mailing_city, mailing_state, mailing_zip, mailing_country, tin_type, tin, giin, foreign_tin, reference_number, disregarded_entity_fatca_status, disregarded_address, disregarded_city, disregarded_state, disregarded_zip, disregarded_country, disregarded_entity_giin, qualified_intermediary_certification, qi_primary_withholding_responsibility_certification, qi_withholding_responsibility_for_ptp_sales_certification, qi_nominee_withholding_responsibility_for_ptp_distributions_certification, qi_securities_lender_substitute_dividend_withholding_certification, qi_withholding_and1099_reporting_responsibility_certification, qi_form1099_or_fatca_reporting_responsibility_certification, qi_opt_out_of_form1099_reporting_certification, qi_withholding_rate_pool_certification, qi_intermediary_or_flow_through_entity_documentation_certification, qualified_derivatives_dealer_certification, qdd_corporation, qdd_partnership, qdd_disregarded_entity, nonqualified_intermediary_certification, nqi_withholding_statement_transmission_certification, nqi_withholding_rate_pool_compliance_certification, nqi_qualified_securities_lender_certification, nqi_alternative_withholding_statement_verification_certification, territory_financial_institution_certification, tfi_treated_as_us_person_certification, tfi_withholding_statement_transmission_certification, tfi_treated_as_us_person_for_ptp_sales_certification, tfi_nominee_us_person_for_ptp_distributions_certification, tfi_not_nominee_for_ptp_distributions_certification, us_branch_non_effectively_connected_income_certification, us_branch_agreement_to_be_treated_as_us_person_certification, us_branch_withholding_statement_and_compliance_certification, us_branch_acting_as_us_person_for_ptp_sales_certification, us_branch_nominee_for_ptp_distributions_certification, us_branch_not_nominee_for_ptp_distributions_certification, withholding_foreign_partnership_or_trust_certification, nonwithholding_foreign_entity_withholding_statement_certification, foreign_entity_partner_in_lower_tier_partnership_certification, foreign_partnership_amount_realized_section1446_f_certification, foreign_partnership_modified_amount_realized_certification, foreign_grantor_trust_amount_realized_allocation_certification, alternative_withholding_statement_reliance_certification, np_ffi_with_exempt_beneficial_owners_certification, ffi_sponsoring_entity, investment_entity_certification, controlled_foreign_corporation_certification, owner_documented_ffi_certification, owner_documented_ffi_reporting_statement_certification, owner_documented_ffi_auditor_letter_certification, compliant_nonregistering_local_bank_certification, compliant_ffi_low_value_accounts_certification, sponsored_closely_held_entity_sponsoring_entity, sponsored_closely_held_investment_vehicle_certification, compliant_limited_life_debt_entity_certification, investment_entity_no_financial_accounts_certification, restricted_distributor_certification, restricted_distributor_agreement_certification, restricted_distributor_preexisting_sales_compliance_certification, foreign_central_bank_of_issue_certification, nonreporting_iga_ffi_certification, iga_country, iga_model, iga_legal_status_treatment, iga_ffi_trustee_or_sponsor, iga_ffi_trustee_is_foreign, treaty_qualified_pension_fund_certification, qualified_retirement_fund_certification, narrow_participation_retirement_fund_certification, section401_a_equivalent_pension_plan_certification, investment_entity_for_retirement_funds_certification, exempt_beneficial_owner_sponsored_retirement_fund_certification, excepted_nonfinancial_group_entity_certification, excepted_nonfinancial_start_up_certification, startup_formation_or_resolution_date, excepted_nonfinancial_entity_in_liquidation_or_bankruptcy_certification, nonfinancial_entity_filing_date, publicly_traded_nffe_certification, publicly_traded_nffe_securities_market, nffe_affiliate_of_publicly_traded_entity_certification, publicly_traded_entity, nffe_affiliate_of_publicly_traded_entity_securities_market, excepted_territory_nffe_certification, active_nffe_certification, passive_nffe_certification, sponsored_direct_reporting_nffe_certification, direct_reporting_nffe_sponsoring_entity, signer_name, company_id, reference_id, email, e_delivery_consented_at, signature].hash
1402
+ end
1403
+
1404
+ # Builds the object from hash
1405
+ # @param [Hash] attributes Model attributes in the form of hash
1406
+ # @return [Object] Returns the model itself
1407
+ def self.build_from_hash(attributes)
1408
+ return nil unless attributes.is_a?(Hash)
1409
+ attributes = attributes.transform_keys(&:to_sym)
1410
+ transformed_hash = {}
1411
+ openapi_types.each_pair do |key, type|
1412
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
1413
+ transformed_hash["#{key}"] = nil
1414
+ elsif type =~ /\AArray<(.*)>/i
1415
+ # check to ensure the input is an array given that the attribute
1416
+ # is documented as an array but the input is not
1417
+ if attributes[attribute_map[key]].is_a?(Array)
1418
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
1419
+ end
1420
+ elsif !attributes[attribute_map[key]].nil?
1421
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
1422
+ end
1423
+ end
1424
+ new(transformed_hash)
1425
+ end
1426
+
1427
+ # Deserializes the data based on type
1428
+ # @param string type Data type
1429
+ # @param string value Value to be deserialized
1430
+ # @return [Object] Deserialized data
1431
+ def self._deserialize(type, value)
1432
+ case type.to_sym
1433
+ when :Time
1434
+ Time.parse(value)
1435
+ when :Date
1436
+ Date.parse(value)
1437
+ when :String
1438
+ value.to_s
1439
+ when :Integer
1440
+ value.to_i
1441
+ when :Float
1442
+ value.to_f
1443
+ when :Boolean
1444
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1445
+ true
1446
+ else
1447
+ false
1448
+ end
1449
+ when :Object
1450
+ # generic object (usually a Hash), return directly
1451
+ value
1452
+ when /\AArray<(?<inner_type>.+)>\z/
1453
+ inner_type = Regexp.last_match[:inner_type]
1454
+ value.map { |v| _deserialize(inner_type, v) }
1455
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
1456
+ k_type = Regexp.last_match[:k_type]
1457
+ v_type = Regexp.last_match[:v_type]
1458
+ {}.tap do |hash|
1459
+ value.each do |k, v|
1460
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1461
+ end
1462
+ end
1463
+ else # model
1464
+ # models (e.g. Pet) or oneOf
1465
+ klass = AvalaraSdk::A1099::V2.const_get(type)
1466
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
1467
+ end
1468
+ end
1469
+
1470
+ # Returns the string representation of the object
1471
+ # @return [String] String presentation of the object
1472
+ def to_s
1473
+ to_hash.to_s
1474
+ end
1475
+
1476
+ # to_body is an alias to to_hash (backward compatibility)
1477
+ # @return [Hash] Returns the object in the form of hash
1478
+ def to_body
1479
+ to_hash
1480
+ end
1481
+
1482
+ # Returns the object in the form of hash
1483
+ # @return [Hash] Returns the object in the form of hash
1484
+ def to_hash
1485
+ hash = {}
1486
+ self.class.attribute_map.each_pair do |attr, param|
1487
+ value = self.send(attr)
1488
+ if value.nil?
1489
+ is_nullable = self.class.openapi_nullable.include?(attr)
1490
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
1491
+ end
1492
+
1493
+ hash[param] = _to_hash(value)
1494
+ end
1495
+ hash
1496
+ end
1497
+
1498
+ # Outputs non-array value in the form of hash
1499
+ # For object, use to_hash. Otherwise, just return the value
1500
+ # @param [Object] value Any valid value
1501
+ # @return [Hash] Returns the value in the form of hash
1502
+ def _to_hash(value)
1503
+ if value.is_a?(Array)
1504
+ value.compact.map { |v| _to_hash(v) }
1505
+ elsif value.is_a?(Hash)
1506
+ {}.tap do |hash|
1507
+ value.each { |k, v| hash[k] = _to_hash(v) }
1508
+ end
1509
+ elsif value.respond_to? :to_hash
1510
+ value.to_hash
1511
+ else
1512
+ value
1513
+ end
1514
+ end
1515
+
1516
+ end
1517
+
1518
+ end