merge_ruby_client 0.1.4 → 1.0.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 (458) hide show
  1. checksums.yaml +4 -4
  2. data/lib/merge_ruby_client/accounting/accounting_periods/client.rb +18 -4
  3. data/lib/merge_ruby_client/accounting/accounts/client.rb +26 -8
  4. data/lib/merge_ruby_client/accounting/async_passthrough/client.rb +5 -5
  5. data/lib/merge_ruby_client/accounting/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  6. data/lib/merge_ruby_client/accounting/async_tasks/client.rb +99 -0
  7. data/lib/merge_ruby_client/accounting/attachments/client.rb +16 -4
  8. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +12 -4
  9. data/lib/merge_ruby_client/accounting/balance_sheets/client.rb +16 -4
  10. data/lib/merge_ruby_client/accounting/bank_feed_accounts/client.rb +369 -0
  11. data/lib/merge_ruby_client/accounting/bank_feed_transactions/client.rb +408 -0
  12. data/lib/merge_ruby_client/accounting/cash_flow_statements/client.rb +16 -4
  13. data/lib/merge_ruby_client/accounting/client.rb +35 -0
  14. data/lib/merge_ruby_client/accounting/company_info/client.rb +16 -4
  15. data/lib/merge_ruby_client/accounting/contacts/client.rb +149 -10
  16. data/lib/merge_ruby_client/accounting/credit_notes/client.rb +193 -4
  17. data/lib/merge_ruby_client/accounting/employees/client.rb +216 -0
  18. data/lib/merge_ruby_client/accounting/expenses/client.rb +249 -10
  19. data/lib/merge_ruby_client/accounting/expenses/types/expenses_list_request_expand.rb +32 -0
  20. data/lib/merge_ruby_client/accounting/expenses/types/expenses_retrieve_request_expand.rb +32 -0
  21. data/lib/merge_ruby_client/accounting/field_mapping/client.rb +36 -16
  22. data/lib/merge_ruby_client/accounting/force_resync/client.rb +2 -2
  23. data/lib/merge_ruby_client/accounting/general_ledger_transactions/client.rb +253 -0
  24. data/lib/merge_ruby_client/accounting/general_ledger_transactions/types/general_ledger_transactions_list_request_expand.rb +25 -0
  25. data/lib/merge_ruby_client/accounting/general_ledger_transactions/types/general_ledger_transactions_retrieve_request_expand.rb +25 -0
  26. data/lib/merge_ruby_client/accounting/income_statements/client.rb +16 -4
  27. data/lib/merge_ruby_client/accounting/invoices/client.rb +284 -14
  28. data/lib/merge_ruby_client/accounting/invoices/types/invoices_list_request_expand.rb +1792 -0
  29. data/lib/merge_ruby_client/accounting/invoices/types/invoices_list_request_status.rb +16 -0
  30. data/lib/merge_ruby_client/accounting/invoices/types/invoices_retrieve_request_expand.rb +1792 -0
  31. data/lib/merge_ruby_client/accounting/issues/client.rb +10 -4
  32. data/lib/merge_ruby_client/accounting/items/client.rb +16 -4
  33. data/lib/merge_ruby_client/accounting/items/types/items_list_request_expand.rb +24 -0
  34. data/lib/merge_ruby_client/accounting/items/types/items_retrieve_request_expand.rb +24 -0
  35. data/lib/merge_ruby_client/accounting/journal_entries/client.rb +247 -10
  36. data/lib/merge_ruby_client/accounting/link_token/client.rb +25 -4
  37. data/lib/merge_ruby_client/accounting/linked_accounts/client.rb +2 -2
  38. data/lib/merge_ruby_client/accounting/payments/client.rb +249 -12
  39. data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +247 -10
  40. data/lib/merge_ruby_client/accounting/scopes/client.rb +12 -12
  41. data/lib/merge_ruby_client/accounting/tax_rates/client.rb +16 -4
  42. data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +16 -4
  43. data/lib/merge_ruby_client/accounting/transactions/client.rb +16 -4
  44. data/lib/merge_ruby_client/accounting/types/account.rb +48 -7
  45. data/lib/merge_ruby_client/accounting/types/account_account_type_enum.rb +34 -0
  46. data/lib/merge_ruby_client/accounting/types/account_details.rb +11 -2
  47. data/lib/merge_ruby_client/accounting/types/account_details_and_actions.rb +11 -2
  48. data/lib/merge_ruby_client/accounting/types/account_details_and_actions_status_enum.rb +2 -0
  49. data/lib/merge_ruby_client/accounting/types/account_integration.rb +20 -8
  50. data/lib/merge_ruby_client/accounting/types/account_request.rb +42 -5
  51. data/lib/merge_ruby_client/accounting/types/accounting_attachment.rb +6 -2
  52. data/lib/merge_ruby_client/accounting/types/accounting_period.rb +47 -19
  53. data/lib/merge_ruby_client/accounting/types/async_post_task.rb +74 -0
  54. data/lib/merge_ruby_client/accounting/types/async_post_task_result.rb +69 -0
  55. data/lib/merge_ruby_client/accounting/types/async_post_task_status_enum.rb +16 -0
  56. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +14 -0
  57. data/lib/merge_ruby_client/accounting/types/balance_sheet.rb +10 -6
  58. data/lib/merge_ruby_client/accounting/types/bank_feed_account.rb +834 -0
  59. data/lib/merge_ruby_client/accounting/types/bank_feed_account_account_type_enum.rb +12 -0
  60. data/lib/merge_ruby_client/accounting/types/bank_feed_account_request.rb +788 -0
  61. data/lib/merge_ruby_client/accounting/types/bank_feed_account_response.rb +101 -0
  62. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction.rb +209 -0
  63. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_bank_feed_account.rb +56 -0
  64. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_request_request.rb +167 -0
  65. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_request_request_bank_feed_account.rb +57 -0
  66. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_response.rb +101 -0
  67. data/lib/merge_ruby_client/accounting/types/cash_flow_statement.rb +10 -6
  68. data/lib/merge_ruby_client/accounting/types/company_info.rb +10 -6
  69. data/lib/merge_ruby_client/accounting/types/component_type_enum.rb +12 -0
  70. data/lib/merge_ruby_client/accounting/types/contact.rb +20 -4
  71. data/lib/merge_ruby_client/accounting/types/contact_request.rb +14 -2
  72. data/lib/merge_ruby_client/accounting/types/credit_note.rb +43 -15
  73. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note.rb +132 -0
  74. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_invoice.rb +56 -0
  75. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_request.rb +120 -0
  76. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_request_invoice.rb +56 -0
  77. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_invoice.rb +132 -0
  78. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_invoice_credit_note.rb +56 -0
  79. data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +23 -6
  80. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request.rb +194 -0
  81. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_company.rb +56 -0
  82. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_item.rb +55 -0
  83. data/lib/merge_ruby_client/accounting/types/credit_note_request.rb +875 -0
  84. data/lib/merge_ruby_client/accounting/types/credit_note_request_accounting_period.rb +56 -0
  85. data/lib/merge_ruby_client/accounting/types/credit_note_request_applied_payments_item.rb +55 -0
  86. data/lib/merge_ruby_client/accounting/types/credit_note_request_company.rb +56 -0
  87. data/lib/merge_ruby_client/accounting/types/credit_note_request_contact.rb +56 -0
  88. data/lib/merge_ruby_client/accounting/types/credit_note_request_line_items_item.rb +55 -0
  89. data/lib/merge_ruby_client/accounting/types/credit_note_request_payments_item.rb +55 -0
  90. data/lib/merge_ruby_client/accounting/types/credit_note_request_tracking_categories_item.rb +56 -0
  91. data/lib/merge_ruby_client/accounting/types/credit_note_response.rb +101 -0
  92. data/lib/merge_ruby_client/accounting/types/credit_or_debit_enum.rb +12 -0
  93. data/lib/merge_ruby_client/accounting/types/employee.rb +199 -0
  94. data/lib/merge_ruby_client/accounting/types/employee_company.rb +55 -0
  95. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +11 -0
  96. data/lib/merge_ruby_client/accounting/types/expense.rb +48 -8
  97. data/lib/merge_ruby_client/accounting/types/expense_employee.rb +56 -0
  98. data/lib/merge_ruby_client/accounting/types/expense_line.rb +37 -11
  99. data/lib/merge_ruby_client/accounting/types/expense_line_employee.rb +56 -0
  100. data/lib/merge_ruby_client/accounting/types/expense_line_request.rb +44 -10
  101. data/lib/merge_ruby_client/accounting/types/expense_line_request_employee.rb +56 -0
  102. data/lib/merge_ruby_client/accounting/types/expense_request.rb +42 -6
  103. data/lib/merge_ruby_client/accounting/types/expense_request_employee.rb +56 -0
  104. data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +35 -2
  105. data/lib/merge_ruby_client/accounting/types/{accounting_period_status_enum.rb → feed_status_enum.rb} +1 -1
  106. data/lib/merge_ruby_client/accounting/types/field_format_enum.rb +20 -0
  107. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_remote_field.rb +8 -6
  108. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +35 -2
  109. data/lib/merge_ruby_client/accounting/types/field_permission_deserializer.rb +14 -14
  110. data/lib/merge_ruby_client/accounting/types/field_permission_deserializer_request.rb +14 -14
  111. data/lib/merge_ruby_client/accounting/types/field_type_enum.rb +20 -0
  112. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction.rb +248 -0
  113. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_accounting_period.rb +57 -0
  114. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_company.rb +56 -0
  115. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_general_ledger_transaction_lines_item.rb +56 -0
  116. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line.rb +1490 -0
  117. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_account.rb +55 -0
  118. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_company.rb +56 -0
  119. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_contact.rb +55 -0
  120. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_employee.rb +55 -0
  121. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_item.rb +55 -0
  122. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_tracking_categories_item.rb +56 -0
  123. data/lib/merge_ruby_client/accounting/types/income_statement.rb +10 -6
  124. data/lib/merge_ruby_client/accounting/types/invoice.rb +101 -33
  125. data/lib/merge_ruby_client/accounting/types/invoice_applied_credit_notes_item.rb +55 -0
  126. data/lib/merge_ruby_client/accounting/types/invoice_applied_vendor_credits_item.rb +55 -0
  127. data/lib/merge_ruby_client/accounting/types/invoice_employee.rb +56 -0
  128. data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +50 -12
  129. data/lib/merge_ruby_client/accounting/types/invoice_line_item_employee.rb +56 -0
  130. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request.rb +44 -10
  131. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_employee.rb +56 -0
  132. data/lib/merge_ruby_client/accounting/types/invoice_request.rb +46 -10
  133. data/lib/merge_ruby_client/accounting/types/invoice_request_employee.rb +56 -0
  134. data/lib/merge_ruby_client/accounting/types/item.rb +35 -3
  135. data/lib/merge_ruby_client/accounting/types/item_format_enum.rb +20 -0
  136. data/lib/merge_ruby_client/accounting/types/item_purchase_tax_rate.rb +56 -0
  137. data/lib/merge_ruby_client/accounting/types/item_sales_tax_rate.rb +56 -0
  138. data/lib/merge_ruby_client/accounting/types/item_schema.rb +82 -0
  139. data/lib/merge_ruby_client/accounting/types/item_type_enum.rb +20 -0
  140. data/lib/merge_ruby_client/accounting/types/journal_entry.rb +56 -28
  141. data/lib/merge_ruby_client/accounting/types/journal_entry_request.rb +28 -6
  142. data/lib/merge_ruby_client/accounting/types/journal_line.rb +42 -10
  143. data/lib/merge_ruby_client/accounting/types/journal_line_request.rb +36 -8
  144. data/lib/merge_ruby_client/accounting/types/language_enum.rb +12 -0
  145. data/lib/merge_ruby_client/accounting/types/paginated_bank_feed_account_list.rb +80 -0
  146. data/lib/merge_ruby_client/accounting/types/paginated_bank_feed_transaction_list.rb +80 -0
  147. data/lib/merge_ruby_client/accounting/types/paginated_employee_list.rb +80 -0
  148. data/lib/merge_ruby_client/accounting/types/paginated_general_ledger_transaction_list.rb +81 -0
  149. data/lib/merge_ruby_client/accounting/types/paginated_remote_field_class_list.rb +80 -0
  150. data/lib/merge_ruby_client/accounting/types/patched_payment_request.rb +18 -6
  151. data/lib/merge_ruby_client/accounting/types/patched_payment_request_applied_to_lines_item.rb +4 -4
  152. data/lib/merge_ruby_client/accounting/types/payment.rb +42 -26
  153. data/lib/merge_ruby_client/accounting/types/payment_line_item_request.rb +14 -2
  154. data/lib/merge_ruby_client/accounting/types/payment_request.rb +18 -6
  155. data/lib/merge_ruby_client/accounting/types/purchase_order.rb +48 -22
  156. data/lib/merge_ruby_client/accounting/types/purchase_order_line_item.rb +35 -11
  157. data/lib/merge_ruby_client/accounting/types/purchase_order_line_item_request.rb +29 -9
  158. data/lib/merge_ruby_client/accounting/types/purchase_order_request.rb +28 -6
  159. data/lib/merge_ruby_client/accounting/types/remote_data.rb +8 -2
  160. data/lib/merge_ruby_client/accounting/types/remote_field.rb +75 -0
  161. data/lib/merge_ruby_client/accounting/types/remote_field_api.rb +3 -3
  162. data/lib/merge_ruby_client/accounting/types/remote_field_api_response.rb +35 -2
  163. data/lib/merge_ruby_client/accounting/types/remote_field_class.rb +145 -0
  164. data/lib/merge_ruby_client/accounting/types/remote_field_request.rb +75 -0
  165. data/lib/merge_ruby_client/accounting/types/remote_field_request_remote_field_class.rb +55 -0
  166. data/lib/merge_ruby_client/accounting/types/report_item.rb +16 -2
  167. data/lib/merge_ruby_client/accounting/types/status_895_enum.rb +12 -0
  168. data/lib/merge_ruby_client/accounting/types/tax_component.rb +150 -0
  169. data/lib/merge_ruby_client/accounting/types/tax_rate.rb +73 -16
  170. data/lib/merge_ruby_client/accounting/types/tax_rate_tax_components_item.rb +55 -0
  171. data/lib/merge_ruby_client/accounting/types/tracking_category.rb +12 -20
  172. data/lib/merge_ruby_client/accounting/types/tracking_category_company.rb +1 -1
  173. data/lib/merge_ruby_client/accounting/types/transaction.rb +21 -7
  174. data/lib/merge_ruby_client/accounting/types/{currency_enum.rb → transaction_currency_enum.rb} +1 -1
  175. data/lib/merge_ruby_client/accounting/types/transaction_line_item.rb +18 -14
  176. data/lib/merge_ruby_client/accounting/types/underlying_transaction_type_enum.rb +22 -0
  177. data/lib/merge_ruby_client/accounting/types/vendor_credit.rb +35 -9
  178. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_invoice.rb +132 -0
  179. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_invoice_vendor_credit.rb +56 -0
  180. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit.rb +132 -0
  181. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_invoice.rb +56 -0
  182. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_request.rb +120 -0
  183. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_request_invoice.rb +56 -0
  184. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +20 -8
  185. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request.rb +157 -0
  186. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_account.rb +56 -0
  187. data/lib/merge_ruby_client/accounting/types/vendor_credit_request.rb +813 -0
  188. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_accounting_period.rb +56 -0
  189. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_company.rb +56 -0
  190. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_tracking_categories_item.rb +56 -0
  191. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_vendor.rb +56 -0
  192. data/lib/merge_ruby_client/accounting/types/vendor_credit_response.rb +101 -0
  193. data/lib/merge_ruby_client/accounting/vendor_credits/client.rb +183 -4
  194. data/lib/merge_ruby_client/ats/activities/client.rb +16 -4
  195. data/lib/merge_ruby_client/ats/applications/client.rb +28 -4
  196. data/lib/merge_ruby_client/ats/async_passthrough/client.rb +5 -5
  197. data/lib/merge_ruby_client/ats/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  198. data/lib/merge_ruby_client/ats/attachments/client.rb +16 -4
  199. data/lib/merge_ruby_client/ats/audit_trail/client.rb +8 -2
  200. data/lib/merge_ruby_client/ats/candidates/client.rb +16 -4
  201. data/lib/merge_ruby_client/ats/departments/client.rb +16 -4
  202. data/lib/merge_ruby_client/ats/eeocs/client.rb +16 -4
  203. data/lib/merge_ruby_client/ats/field_mapping/client.rb +36 -16
  204. data/lib/merge_ruby_client/ats/force_resync/client.rb +2 -2
  205. data/lib/merge_ruby_client/ats/interviews/client.rb +16 -4
  206. data/lib/merge_ruby_client/ats/job_interview_stages/client.rb +16 -4
  207. data/lib/merge_ruby_client/ats/job_postings/client.rb +16 -4
  208. data/lib/merge_ruby_client/ats/jobs/client.rb +32 -8
  209. data/lib/merge_ruby_client/ats/link_token/client.rb +17 -4
  210. data/lib/merge_ruby_client/ats/linked_accounts/client.rb +2 -2
  211. data/lib/merge_ruby_client/ats/offers/client.rb +16 -4
  212. data/lib/merge_ruby_client/ats/offices/client.rb +16 -4
  213. data/lib/merge_ruby_client/ats/reject_reasons/client.rb +16 -4
  214. data/lib/merge_ruby_client/ats/scopes/client.rb +12 -12
  215. data/lib/merge_ruby_client/ats/scorecards/client.rb +16 -4
  216. data/lib/merge_ruby_client/ats/tags/client.rb +16 -4
  217. data/lib/merge_ruby_client/ats/types/account_details.rb +11 -2
  218. data/lib/merge_ruby_client/ats/types/account_details_and_actions.rb +11 -2
  219. data/lib/merge_ruby_client/ats/types/account_details_and_actions_status_enum.rb +2 -0
  220. data/lib/merge_ruby_client/ats/types/account_integration.rb +4 -6
  221. data/lib/merge_ruby_client/ats/types/activity.rb +6 -2
  222. data/lib/merge_ruby_client/ats/types/application.rb +8 -2
  223. data/lib/merge_ruby_client/ats/types/attachment.rb +8 -2
  224. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +12 -0
  225. data/lib/merge_ruby_client/ats/types/candidate.rb +8 -2
  226. data/lib/merge_ruby_client/ats/types/department.rb +6 -2
  227. data/lib/merge_ruby_client/ats/types/eeoc.rb +6 -2
  228. data/lib/merge_ruby_client/ats/types/email_address.rb +6 -2
  229. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +9 -0
  230. data/lib/merge_ruby_client/ats/types/field_mapping_api_instance_remote_field.rb +8 -6
  231. data/lib/merge_ruby_client/ats/types/field_permission_deserializer.rb +14 -14
  232. data/lib/merge_ruby_client/ats/types/field_permission_deserializer_request.rb +14 -14
  233. data/lib/merge_ruby_client/ats/types/job.rb +6 -2
  234. data/lib/merge_ruby_client/ats/types/job_interview_stage.rb +6 -2
  235. data/lib/merge_ruby_client/ats/types/job_posting.rb +6 -2
  236. data/lib/merge_ruby_client/ats/types/language_enum.rb +12 -0
  237. data/lib/merge_ruby_client/ats/types/offer.rb +6 -2
  238. data/lib/merge_ruby_client/ats/types/office.rb +6 -2
  239. data/lib/merge_ruby_client/ats/types/phone_number.rb +6 -2
  240. data/lib/merge_ruby_client/ats/types/reject_reason.rb +6 -2
  241. data/lib/merge_ruby_client/ats/types/remote_data.rb +8 -2
  242. data/lib/merge_ruby_client/ats/types/remote_user.rb +6 -2
  243. data/lib/merge_ruby_client/ats/types/scheduled_interview.rb +6 -2
  244. data/lib/merge_ruby_client/ats/types/scorecard.rb +6 -2
  245. data/lib/merge_ruby_client/ats/types/screening_question.rb +6 -2
  246. data/lib/merge_ruby_client/ats/types/screening_question_answer.rb +6 -2
  247. data/lib/merge_ruby_client/ats/types/screening_question_option.rb +6 -2
  248. data/lib/merge_ruby_client/ats/types/tag.rb +6 -2
  249. data/lib/merge_ruby_client/ats/types/url.rb +6 -2
  250. data/lib/merge_ruby_client/ats/users/client.rb +16 -4
  251. data/lib/merge_ruby_client/crm/accounts/client.rb +32 -8
  252. data/lib/merge_ruby_client/crm/association_types/client.rb +16 -4
  253. data/lib/merge_ruby_client/crm/associations/client.rb +16 -4
  254. data/lib/merge_ruby_client/crm/async_passthrough/client.rb +5 -5
  255. data/lib/merge_ruby_client/crm/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  256. data/lib/merge_ruby_client/crm/audit_trail/client.rb +8 -2
  257. data/lib/merge_ruby_client/crm/contacts/client.rb +32 -8
  258. data/lib/merge_ruby_client/crm/custom_object_classes/client.rb +16 -4
  259. data/lib/merge_ruby_client/crm/custom_objects/client.rb +32 -8
  260. data/lib/merge_ruby_client/crm/engagement_types/client.rb +32 -8
  261. data/lib/merge_ruby_client/crm/engagements/client.rb +32 -8
  262. data/lib/merge_ruby_client/crm/field_mapping/client.rb +36 -16
  263. data/lib/merge_ruby_client/crm/force_resync/client.rb +2 -2
  264. data/lib/merge_ruby_client/crm/leads/client.rb +32 -8
  265. data/lib/merge_ruby_client/crm/link_token/client.rb +17 -4
  266. data/lib/merge_ruby_client/crm/linked_accounts/client.rb +2 -2
  267. data/lib/merge_ruby_client/crm/notes/client.rb +32 -8
  268. data/lib/merge_ruby_client/crm/opportunities/client.rb +32 -8
  269. data/lib/merge_ruby_client/crm/scopes/client.rb +12 -12
  270. data/lib/merge_ruby_client/crm/stages/client.rb +32 -8
  271. data/lib/merge_ruby_client/crm/tasks/client.rb +32 -8
  272. data/lib/merge_ruby_client/crm/types/account.rb +8 -2
  273. data/lib/merge_ruby_client/crm/types/account_details.rb +11 -2
  274. data/lib/merge_ruby_client/crm/types/account_details_and_actions.rb +11 -2
  275. data/lib/merge_ruby_client/crm/types/account_details_and_actions_status_enum.rb +2 -0
  276. data/lib/merge_ruby_client/crm/types/account_integration.rb +4 -6
  277. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +12 -0
  278. data/lib/merge_ruby_client/crm/types/contact.rb +8 -2
  279. data/lib/merge_ruby_client/crm/types/engagement.rb +6 -2
  280. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +9 -0
  281. data/lib/merge_ruby_client/crm/types/field_mapping_api_instance_remote_field.rb +8 -6
  282. data/lib/merge_ruby_client/crm/types/field_permission_deserializer.rb +14 -14
  283. data/lib/merge_ruby_client/crm/types/field_permission_deserializer_request.rb +14 -14
  284. data/lib/merge_ruby_client/crm/types/language_enum.rb +12 -0
  285. data/lib/merge_ruby_client/crm/types/lead.rb +8 -2
  286. data/lib/merge_ruby_client/crm/types/note.rb +8 -2
  287. data/lib/merge_ruby_client/crm/types/opportunity.rb +8 -2
  288. data/lib/merge_ruby_client/crm/types/remote_data.rb +8 -2
  289. data/lib/merge_ruby_client/crm/types/stage.rb +6 -2
  290. data/lib/merge_ruby_client/crm/types/task.rb +6 -2
  291. data/lib/merge_ruby_client/crm/types/user.rb +6 -2
  292. data/lib/merge_ruby_client/crm/users/client.rb +38 -10
  293. data/lib/merge_ruby_client/filestorage/async_passthrough/client.rb +5 -5
  294. data/lib/merge_ruby_client/filestorage/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  295. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +8 -2
  296. data/lib/merge_ruby_client/filestorage/drives/client.rb +16 -4
  297. data/lib/merge_ruby_client/filestorage/field_mapping/client.rb +36 -16
  298. data/lib/merge_ruby_client/filestorage/files/client.rb +18 -6
  299. data/lib/merge_ruby_client/filestorage/folders/client.rb +18 -6
  300. data/lib/merge_ruby_client/filestorage/force_resync/client.rb +2 -2
  301. data/lib/merge_ruby_client/filestorage/groups/client.rb +32 -8
  302. data/lib/merge_ruby_client/filestorage/link_token/client.rb +17 -4
  303. data/lib/merge_ruby_client/filestorage/linked_accounts/client.rb +2 -2
  304. data/lib/merge_ruby_client/filestorage/scopes/client.rb +12 -12
  305. data/lib/merge_ruby_client/filestorage/types/account_details.rb +11 -2
  306. data/lib/merge_ruby_client/filestorage/types/account_details_and_actions.rb +11 -2
  307. data/lib/merge_ruby_client/filestorage/types/account_details_and_actions_status_enum.rb +2 -0
  308. data/lib/merge_ruby_client/filestorage/types/account_integration.rb +4 -6
  309. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +12 -0
  310. data/lib/merge_ruby_client/filestorage/types/drive.rb +13 -5
  311. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +9 -0
  312. data/lib/merge_ruby_client/filestorage/types/field_mapping_api_instance_remote_field.rb +8 -6
  313. data/lib/merge_ruby_client/filestorage/types/field_permission_deserializer.rb +14 -14
  314. data/lib/merge_ruby_client/filestorage/types/field_permission_deserializer_request.rb +14 -14
  315. data/lib/merge_ruby_client/filestorage/types/file.rb +16 -8
  316. data/lib/merge_ruby_client/filestorage/types/file_request.rb +3 -3
  317. data/lib/merge_ruby_client/filestorage/types/folder.rb +16 -8
  318. data/lib/merge_ruby_client/filestorage/types/folder_request.rb +3 -3
  319. data/lib/merge_ruby_client/filestorage/types/group.rb +26 -6
  320. data/lib/merge_ruby_client/filestorage/types/group_child_groups_item.rb +55 -0
  321. data/lib/merge_ruby_client/filestorage/types/language_enum.rb +12 -0
  322. data/lib/merge_ruby_client/filestorage/types/permission.rb +8 -4
  323. data/lib/merge_ruby_client/filestorage/types/permission_group.rb +2 -1
  324. data/lib/merge_ruby_client/filestorage/types/permission_request.rb +8 -4
  325. data/lib/merge_ruby_client/filestorage/types/permission_request_group.rb +2 -1
  326. data/lib/merge_ruby_client/filestorage/types/permission_request_user.rb +2 -1
  327. data/lib/merge_ruby_client/filestorage/types/permission_user.rb +2 -1
  328. data/lib/merge_ruby_client/filestorage/types/remote_data.rb +75 -0
  329. data/lib/merge_ruby_client/filestorage/types/user.rb +13 -5
  330. data/lib/merge_ruby_client/filestorage/users/client.rb +16 -4
  331. data/lib/merge_ruby_client/hris/async_passthrough/client.rb +5 -5
  332. data/lib/merge_ruby_client/hris/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  333. data/lib/merge_ruby_client/hris/audit_trail/client.rb +8 -2
  334. data/lib/merge_ruby_client/hris/bank_info/client.rb +16 -4
  335. data/lib/merge_ruby_client/hris/benefits/client.rb +16 -4
  336. data/lib/merge_ruby_client/hris/companies/client.rb +16 -4
  337. data/lib/merge_ruby_client/hris/dependents/client.rb +16 -4
  338. data/lib/merge_ruby_client/hris/employee_payroll_runs/client.rb +16 -4
  339. data/lib/merge_ruby_client/hris/employees/client.rb +16 -4
  340. data/lib/merge_ruby_client/hris/employer_benefits/client.rb +16 -4
  341. data/lib/merge_ruby_client/hris/employments/client.rb +16 -4
  342. data/lib/merge_ruby_client/hris/field_mapping/client.rb +36 -16
  343. data/lib/merge_ruby_client/hris/force_resync/client.rb +2 -2
  344. data/lib/merge_ruby_client/hris/groups/client.rb +16 -4
  345. data/lib/merge_ruby_client/hris/link_token/client.rb +17 -4
  346. data/lib/merge_ruby_client/hris/linked_accounts/client.rb +2 -2
  347. data/lib/merge_ruby_client/hris/locations/client.rb +28 -12
  348. data/lib/merge_ruby_client/hris/locations/types/locations_list_request_remote_fields.rb +13 -0
  349. data/lib/merge_ruby_client/hris/locations/types/locations_list_request_show_enum_origins.rb +13 -0
  350. data/lib/merge_ruby_client/hris/locations/types/locations_retrieve_request_remote_fields.rb +13 -0
  351. data/lib/merge_ruby_client/hris/locations/types/locations_retrieve_request_show_enum_origins.rb +13 -0
  352. data/lib/merge_ruby_client/hris/pay_groups/client.rb +16 -4
  353. data/lib/merge_ruby_client/hris/payroll_runs/client.rb +16 -4
  354. data/lib/merge_ruby_client/hris/scopes/client.rb +12 -12
  355. data/lib/merge_ruby_client/hris/teams/client.rb +16 -4
  356. data/lib/merge_ruby_client/hris/time_off/client.rb +16 -4
  357. data/lib/merge_ruby_client/hris/time_off_balances/client.rb +16 -4
  358. data/lib/merge_ruby_client/hris/timesheet_entries/client.rb +40 -16
  359. data/lib/merge_ruby_client/hris/types/account_details.rb +11 -2
  360. data/lib/merge_ruby_client/hris/types/account_details_and_actions.rb +11 -2
  361. data/lib/merge_ruby_client/hris/types/account_details_and_actions_status_enum.rb +2 -0
  362. data/lib/merge_ruby_client/hris/types/account_integration.rb +4 -6
  363. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +12 -0
  364. data/lib/merge_ruby_client/hris/types/bank_info.rb +6 -2
  365. data/lib/merge_ruby_client/hris/types/benefit.rb +6 -2
  366. data/lib/merge_ruby_client/hris/types/company.rb +6 -2
  367. data/lib/merge_ruby_client/hris/types/deduction.rb +6 -2
  368. data/lib/merge_ruby_client/hris/types/dependent.rb +6 -2
  369. data/lib/merge_ruby_client/hris/types/earning.rb +6 -2
  370. data/lib/merge_ruby_client/hris/types/employee.rb +10 -3
  371. data/lib/merge_ruby_client/hris/types/employee_payroll_run.rb +6 -2
  372. data/lib/merge_ruby_client/hris/types/employee_request.rb +2 -1
  373. data/lib/merge_ruby_client/hris/types/employer_benefit.rb +13 -5
  374. data/lib/merge_ruby_client/hris/types/employment.rb +13 -7
  375. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +9 -0
  376. data/lib/merge_ruby_client/hris/types/field_mapping_api_instance_remote_field.rb +8 -6
  377. data/lib/merge_ruby_client/hris/types/field_permission_deserializer.rb +14 -14
  378. data/lib/merge_ruby_client/hris/types/field_permission_deserializer_request.rb +14 -14
  379. data/lib/merge_ruby_client/hris/types/group.rb +6 -2
  380. data/lib/merge_ruby_client/hris/types/language_enum.rb +12 -0
  381. data/lib/merge_ruby_client/hris/types/location.rb +6 -2
  382. data/lib/merge_ruby_client/hris/types/pay_group.rb +6 -2
  383. data/lib/merge_ruby_client/hris/types/payroll_run.rb +6 -2
  384. data/lib/merge_ruby_client/hris/types/remote_data.rb +8 -2
  385. data/lib/merge_ruby_client/hris/types/tax.rb +6 -2
  386. data/lib/merge_ruby_client/hris/types/team.rb +6 -2
  387. data/lib/merge_ruby_client/hris/types/time_off.rb +8 -2
  388. data/lib/merge_ruby_client/hris/types/time_off_balance.rb +14 -6
  389. data/lib/merge_ruby_client/hris/types/timesheet_entry.rb +23 -9
  390. data/lib/merge_ruby_client/hris/types/timesheet_entry_employee.rb +56 -0
  391. data/lib/merge_ruby_client/hris/types/timesheet_entry_request.rb +10 -4
  392. data/lib/merge_ruby_client/hris/types/timesheet_entry_request_employee.rb +56 -0
  393. data/lib/merge_ruby_client/ticketing/accounts/client.rb +16 -4
  394. data/lib/merge_ruby_client/ticketing/async_passthrough/client.rb +5 -5
  395. data/lib/merge_ruby_client/ticketing/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  396. data/lib/merge_ruby_client/ticketing/attachments/client.rb +16 -4
  397. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +8 -2
  398. data/lib/merge_ruby_client/ticketing/collections/client.rb +22 -104
  399. data/lib/merge_ruby_client/ticketing/collections/types/collections_list_request_expand.rb +13 -0
  400. data/lib/merge_ruby_client/ticketing/collections/types/collections_retrieve_request_expand.rb +13 -0
  401. data/lib/merge_ruby_client/ticketing/comments/client.rb +16 -4
  402. data/lib/merge_ruby_client/ticketing/contacts/client.rb +16 -4
  403. data/lib/merge_ruby_client/ticketing/field_mapping/client.rb +36 -16
  404. data/lib/merge_ruby_client/ticketing/force_resync/client.rb +2 -2
  405. data/lib/merge_ruby_client/ticketing/link_token/client.rb +17 -4
  406. data/lib/merge_ruby_client/ticketing/linked_accounts/client.rb +2 -2
  407. data/lib/merge_ruby_client/ticketing/projects/client.rb +32 -8
  408. data/lib/merge_ruby_client/ticketing/roles/client.rb +16 -4
  409. data/lib/merge_ruby_client/ticketing/scopes/client.rb +12 -12
  410. data/lib/merge_ruby_client/ticketing/tags/client.rb +16 -4
  411. data/lib/merge_ruby_client/ticketing/teams/client.rb +16 -4
  412. data/lib/merge_ruby_client/ticketing/tickets/client.rb +76 -41
  413. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_list_request_expand.rb +128 -0
  414. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_retrieve_request_expand.rb +128 -0
  415. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_viewers_list_request_expand.rb +13 -0
  416. data/lib/merge_ruby_client/ticketing/types/account.rb +6 -2
  417. data/lib/merge_ruby_client/ticketing/types/account_details.rb +11 -2
  418. data/lib/merge_ruby_client/ticketing/types/account_details_and_actions.rb +11 -2
  419. data/lib/merge_ruby_client/ticketing/types/account_details_and_actions_status_enum.rb +2 -0
  420. data/lib/merge_ruby_client/ticketing/types/account_integration.rb +4 -6
  421. data/lib/merge_ruby_client/ticketing/types/attachment.rb +8 -2
  422. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +12 -0
  423. data/lib/merge_ruby_client/ticketing/types/collection.rb +22 -6
  424. data/lib/merge_ruby_client/ticketing/types/collection_teams_item.rb +55 -0
  425. data/lib/merge_ruby_client/ticketing/types/comment.rb +20 -6
  426. data/lib/merge_ruby_client/ticketing/types/comment_contact.rb +3 -1
  427. data/lib/merge_ruby_client/ticketing/types/comment_request.rb +12 -4
  428. data/lib/merge_ruby_client/ticketing/types/comment_request_contact.rb +3 -1
  429. data/lib/merge_ruby_client/ticketing/types/comment_request_user.rb +3 -1
  430. data/lib/merge_ruby_client/ticketing/types/comment_user.rb +3 -1
  431. data/lib/merge_ruby_client/ticketing/types/contact.rb +6 -2
  432. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +9 -0
  433. data/lib/merge_ruby_client/ticketing/types/field_mapping_api_instance_remote_field.rb +8 -6
  434. data/lib/merge_ruby_client/ticketing/types/field_permission_deserializer.rb +14 -14
  435. data/lib/merge_ruby_client/ticketing/types/field_permission_deserializer_request.rb +14 -14
  436. data/lib/merge_ruby_client/ticketing/types/language_enum.rb +12 -0
  437. data/lib/merge_ruby_client/ticketing/types/paginated_viewer_list.rb +80 -0
  438. data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +27 -7
  439. data/lib/merge_ruby_client/ticketing/types/project.rb +6 -2
  440. data/lib/merge_ruby_client/ticketing/types/remote_data.rb +8 -2
  441. data/lib/merge_ruby_client/ticketing/types/role.rb +6 -2
  442. data/lib/merge_ruby_client/ticketing/types/tag.rb +6 -2
  443. data/lib/merge_ruby_client/ticketing/types/team.rb +8 -4
  444. data/lib/merge_ruby_client/ticketing/types/ticket.rb +38 -8
  445. data/lib/merge_ruby_client/ticketing/types/ticket_assigned_teams_item.rb +55 -0
  446. data/lib/merge_ruby_client/ticketing/types/ticket_request.rb +31 -7
  447. data/lib/merge_ruby_client/ticketing/types/ticket_request_assigned_teams_item.rb +55 -0
  448. data/lib/merge_ruby_client/ticketing/types/user.rb +10 -3
  449. data/lib/merge_ruby_client/ticketing/types/viewer.rb +123 -0
  450. data/lib/merge_ruby_client/ticketing/types/viewer_team.rb +56 -0
  451. data/lib/merge_ruby_client/ticketing/types/viewer_user.rb +56 -0
  452. data/lib/merge_ruby_client/ticketing/users/client.rb +16 -4
  453. data/lib/requests.rb +2 -2
  454. data/lib/types_export.rb +137 -17
  455. metadata +135 -10
  456. data/lib/merge_ruby_client/ticketing/collections/types/collections_users_list_request_expand.rb +0 -13
  457. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_collaborators_list_request_expand.rb +0 -13
  458. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_list_request_status.rb +0 -14
@@ -2,10 +2,11 @@
2
2
 
3
3
  require "date"
4
4
  require_relative "vendor_credit_vendor"
5
- require_relative "currency_enum"
5
+ require_relative "transaction_currency_enum"
6
6
  require_relative "vendor_credit_company"
7
7
  require_relative "vendor_credit_line"
8
8
  require_relative "vendor_credit_tracking_categories_item"
9
+ require_relative "vendor_credit_apply_line_for_vendor_credit"
9
10
  require_relative "vendor_credit_accounting_period"
10
11
  require_relative "remote_data"
11
12
  require "ostruct"
@@ -19,8 +20,8 @@ module Merge
19
20
  # indicating a reduction or cancellation of the amount owed to the vendor. It is
20
21
  # most generally used as an adjustment note used to rectify errors, returns, or
21
22
  # overpayments related to a purchasing transaction. A `VendorCredit` can be
22
- # applied to _Accounts Payable_ Invoices to decrease the overall amount of the
23
- # Invoice.
23
+ # applied to `Accounts Payable` Invoices to decrease the overall amount of the
24
+ # `Invoice`.
24
25
  # ### Usage Example
25
26
  # Fetch from the `GET VendorCredit` endpoint and view a company's vendor credits.
26
27
  class VendorCredit
@@ -40,7 +41,7 @@ module Merge
40
41
  attr_reader :vendor
41
42
  # @return [Float] The vendor credit's total amount.
42
43
  attr_reader :total_amount
43
- # @return [Merge::Accounting::CurrencyEnum] The vendor credit's currency.
44
+ # @return [Merge::Accounting::TransactionCurrencyEnum] The vendor credit's currency.
44
45
  # - `XUA` - ADB Unit of Account
45
46
  # - `AFN` - Afghan Afghani
46
47
  # - `AFA` - Afghan Afghani (1927–2002)
@@ -350,14 +351,21 @@ module Merge
350
351
  attr_reader :currency
351
352
  # @return [String] The vendor credit's exchange rate.
352
353
  attr_reader :exchange_rate
354
+ # @return [Boolean] If the transaction is inclusive or exclusive of tax. `True` if inclusive,
355
+ # `False` if exclusive.
356
+ attr_reader :inclusive_of_tax
353
357
  # @return [Merge::Accounting::VendorCreditCompany] The company the vendor credit belongs to.
354
358
  attr_reader :company
355
359
  # @return [Array<Merge::Accounting::VendorCreditLine>]
356
360
  attr_reader :lines
357
361
  # @return [Array<Merge::Accounting::VendorCreditTrackingCategoriesItem>]
358
362
  attr_reader :tracking_categories
363
+ # @return [Array<Merge::Accounting::VendorCreditApplyLineForVendorCredit>] A list of VendorCredit Applied to Lines objects.
364
+ attr_reader :applied_to_lines
359
365
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
360
- # platform.
366
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
367
+ # detection is offered for free with limited coverage. [Learn
368
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
361
369
  attr_reader :remote_was_deleted
362
370
  # @return [Merge::Accounting::VendorCreditAccountingPeriod] The accounting period that the VendorCredit was generated in.
363
371
  attr_reader :accounting_period
@@ -381,7 +389,7 @@ module Merge
381
389
  # @param transaction_date [DateTime] The vendor credit's transaction date.
382
390
  # @param vendor [Merge::Accounting::VendorCreditVendor] The vendor that owes the gift or refund.
383
391
  # @param total_amount [Float] The vendor credit's total amount.
384
- # @param currency [Merge::Accounting::CurrencyEnum] The vendor credit's currency.
392
+ # @param currency [Merge::Accounting::TransactionCurrencyEnum] The vendor credit's currency.
385
393
  # - `XUA` - ADB Unit of Account
386
394
  # - `AFN` - Afghan Afghani
387
395
  # - `AFA` - Afghan Afghani (1927–2002)
@@ -689,18 +697,23 @@ module Merge
689
697
  # - `ZWR` - Zimbabwean Dollar (2008)
690
698
  # - `ZWL` - Zimbabwean Dollar (2009)
691
699
  # @param exchange_rate [String] The vendor credit's exchange rate.
700
+ # @param inclusive_of_tax [Boolean] If the transaction is inclusive or exclusive of tax. `True` if inclusive,
701
+ # `False` if exclusive.
692
702
  # @param company [Merge::Accounting::VendorCreditCompany] The company the vendor credit belongs to.
693
703
  # @param lines [Array<Merge::Accounting::VendorCreditLine>]
694
704
  # @param tracking_categories [Array<Merge::Accounting::VendorCreditTrackingCategoriesItem>]
705
+ # @param applied_to_lines [Array<Merge::Accounting::VendorCreditApplyLineForVendorCredit>] A list of VendorCredit Applied to Lines objects.
695
706
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
696
- # platform.
707
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
708
+ # detection is offered for free with limited coverage. [Learn
709
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
697
710
  # @param accounting_period [Merge::Accounting::VendorCreditAccountingPeriod] The accounting period that the VendorCredit was generated in.
698
711
  # @param field_mappings [Hash{String => Object}]
699
712
  # @param remote_data [Array<Merge::Accounting::RemoteData>]
700
713
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
701
714
  # @return [Merge::Accounting::VendorCredit]
702
715
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, number: OMIT,
703
- transaction_date: OMIT, vendor: OMIT, total_amount: OMIT, currency: OMIT, exchange_rate: OMIT, company: OMIT, lines: OMIT, tracking_categories: OMIT, remote_was_deleted: OMIT, accounting_period: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
716
+ transaction_date: OMIT, vendor: OMIT, total_amount: OMIT, currency: OMIT, exchange_rate: OMIT, inclusive_of_tax: OMIT, company: OMIT, lines: OMIT, tracking_categories: OMIT, applied_to_lines: OMIT, remote_was_deleted: OMIT, accounting_period: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
704
717
  @id = id if id != OMIT
705
718
  @remote_id = remote_id if remote_id != OMIT
706
719
  @created_at = created_at if created_at != OMIT
@@ -711,9 +724,11 @@ module Merge
711
724
  @total_amount = total_amount if total_amount != OMIT
712
725
  @currency = currency if currency != OMIT
713
726
  @exchange_rate = exchange_rate if exchange_rate != OMIT
727
+ @inclusive_of_tax = inclusive_of_tax if inclusive_of_tax != OMIT
714
728
  @company = company if company != OMIT
715
729
  @lines = lines if lines != OMIT
716
730
  @tracking_categories = tracking_categories if tracking_categories != OMIT
731
+ @applied_to_lines = applied_to_lines if applied_to_lines != OMIT
717
732
  @remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
718
733
  @accounting_period = accounting_period if accounting_period != OMIT
719
734
  @field_mappings = field_mappings if field_mappings != OMIT
@@ -730,9 +745,11 @@ module Merge
730
745
  "total_amount": total_amount,
731
746
  "currency": currency,
732
747
  "exchange_rate": exchange_rate,
748
+ "inclusive_of_tax": inclusive_of_tax,
733
749
  "company": company,
734
750
  "lines": lines,
735
751
  "tracking_categories": tracking_categories,
752
+ "applied_to_lines": applied_to_lines,
736
753
  "remote_was_deleted": remote_was_deleted,
737
754
  "accounting_period": accounting_period,
738
755
  "field_mappings": field_mappings,
@@ -764,6 +781,7 @@ module Merge
764
781
  total_amount = parsed_json["total_amount"]
765
782
  currency = parsed_json["currency"]
766
783
  exchange_rate = parsed_json["exchange_rate"]
784
+ inclusive_of_tax = parsed_json["inclusive_of_tax"]
767
785
  if parsed_json["company"].nil?
768
786
  company = nil
769
787
  else
@@ -778,6 +796,10 @@ module Merge
778
796
  item = item.to_json
779
797
  Merge::Accounting::VendorCreditTrackingCategoriesItem.from_json(json_object: item)
780
798
  end
799
+ applied_to_lines = parsed_json["applied_to_lines"]&.map do |item|
800
+ item = item.to_json
801
+ Merge::Accounting::VendorCreditApplyLineForVendorCredit.from_json(json_object: item)
802
+ end
781
803
  remote_was_deleted = parsed_json["remote_was_deleted"]
782
804
  if parsed_json["accounting_period"].nil?
783
805
  accounting_period = nil
@@ -801,9 +823,11 @@ module Merge
801
823
  total_amount: total_amount,
802
824
  currency: currency,
803
825
  exchange_rate: exchange_rate,
826
+ inclusive_of_tax: inclusive_of_tax,
804
827
  company: company,
805
828
  lines: lines,
806
829
  tracking_categories: tracking_categories,
830
+ applied_to_lines: applied_to_lines,
807
831
  remote_was_deleted: remote_was_deleted,
808
832
  accounting_period: accounting_period,
809
833
  field_mappings: field_mappings,
@@ -834,11 +858,13 @@ module Merge
834
858
  obj.transaction_date&.is_a?(DateTime) != false || raise("Passed value for field obj.transaction_date is not the expected type, validation failed.")
835
859
  obj.vendor.nil? || Merge::Accounting::VendorCreditVendor.validate_raw(obj: obj.vendor)
836
860
  obj.total_amount&.is_a?(Float) != false || raise("Passed value for field obj.total_amount is not the expected type, validation failed.")
837
- obj.currency&.is_a?(Merge::Accounting::CurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
861
+ obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
838
862
  obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.")
863
+ obj.inclusive_of_tax&.is_a?(Boolean) != false || raise("Passed value for field obj.inclusive_of_tax is not the expected type, validation failed.")
839
864
  obj.company.nil? || Merge::Accounting::VendorCreditCompany.validate_raw(obj: obj.company)
840
865
  obj.lines&.is_a?(Array) != false || raise("Passed value for field obj.lines is not the expected type, validation failed.")
841
866
  obj.tracking_categories&.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.")
867
+ obj.applied_to_lines&.is_a?(Array) != false || raise("Passed value for field obj.applied_to_lines is not the expected type, validation failed.")
842
868
  obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
843
869
  obj.accounting_period.nil? || Merge::Accounting::VendorCreditAccountingPeriod.validate_raw(obj: obj.accounting_period)
844
870
  obj.field_mappings&.is_a?(Hash) != false || raise("Passed value for field obj.field_mappings is not the expected type, validation failed.")
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "vendor_credit_apply_line_for_invoice_vendor_credit"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Merge
9
+ module Accounting
10
+ # # The VendorCreditApplyLine Object
11
+ # ### Description
12
+ # The `VendorCreditApplyLine` object is used to represent a applied vendor credit.
13
+ # ### Usage Example
14
+ # Fetch from the `GET VendorCredit` endpoint and view the vendor credit's applied
15
+ # to lines.
16
+ class VendorCreditApplyLineForInvoice
17
+ # @return [String] The third-party API ID of the matching object.
18
+ attr_reader :remote_id
19
+ # @return [DateTime] The datetime that this object was created by Merge.
20
+ attr_reader :created_at
21
+ # @return [DateTime] The datetime that this object was modified by Merge.
22
+ attr_reader :modified_at
23
+ # @return [Merge::Accounting::VendorCreditApplyLineForInvoiceVendorCredit]
24
+ attr_reader :vendor_credit
25
+ # @return [DateTime] Date that the vendor credit is applied to the invoice.
26
+ attr_reader :applied_date
27
+ # @return [String] The amount of the VendorCredit applied to the invoice.
28
+ attr_reader :applied_amount
29
+ # @return [Boolean] Indicates whether or not this object has been deleted in the third party
30
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
31
+ # detection is offered for free with limited coverage. [Learn
32
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
33
+ attr_reader :remote_was_deleted
34
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
35
+ attr_reader :additional_properties
36
+ # @return [Object]
37
+ attr_reader :_field_set
38
+ protected :_field_set
39
+
40
+ OMIT = Object.new
41
+
42
+ # @param remote_id [String] The third-party API ID of the matching object.
43
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
44
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
45
+ # @param vendor_credit [Merge::Accounting::VendorCreditApplyLineForInvoiceVendorCredit]
46
+ # @param applied_date [DateTime] Date that the vendor credit is applied to the invoice.
47
+ # @param applied_amount [String] The amount of the VendorCredit applied to the invoice.
48
+ # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
49
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
50
+ # detection is offered for free with limited coverage. [Learn
51
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
52
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
53
+ # @return [Merge::Accounting::VendorCreditApplyLineForInvoice]
54
+ def initialize(remote_id: OMIT, created_at: OMIT, modified_at: OMIT, vendor_credit: OMIT, applied_date: OMIT,
55
+ applied_amount: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
56
+ @remote_id = remote_id if remote_id != OMIT
57
+ @created_at = created_at if created_at != OMIT
58
+ @modified_at = modified_at if modified_at != OMIT
59
+ @vendor_credit = vendor_credit if vendor_credit != OMIT
60
+ @applied_date = applied_date if applied_date != OMIT
61
+ @applied_amount = applied_amount if applied_amount != OMIT
62
+ @remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
63
+ @additional_properties = additional_properties
64
+ @_field_set = {
65
+ "remote_id": remote_id,
66
+ "created_at": created_at,
67
+ "modified_at": modified_at,
68
+ "vendor_credit": vendor_credit,
69
+ "applied_date": applied_date,
70
+ "applied_amount": applied_amount,
71
+ "remote_was_deleted": remote_was_deleted
72
+ }.reject do |_k, v|
73
+ v == OMIT
74
+ end
75
+ end
76
+
77
+ # Deserialize a JSON object to an instance of VendorCreditApplyLineForInvoice
78
+ #
79
+ # @param json_object [String]
80
+ # @return [Merge::Accounting::VendorCreditApplyLineForInvoice]
81
+ def self.from_json(json_object:)
82
+ struct = JSON.parse(json_object, object_class: OpenStruct)
83
+ parsed_json = JSON.parse(json_object)
84
+ remote_id = parsed_json["remote_id"]
85
+ created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
86
+ modified_at = (DateTime.parse(parsed_json["modified_at"]) unless parsed_json["modified_at"].nil?)
87
+ if parsed_json["vendor_credit"].nil?
88
+ vendor_credit = nil
89
+ else
90
+ vendor_credit = parsed_json["vendor_credit"].to_json
91
+ vendor_credit = Merge::Accounting::VendorCreditApplyLineForInvoiceVendorCredit.from_json(json_object: vendor_credit)
92
+ end
93
+ applied_date = (DateTime.parse(parsed_json["applied_date"]) unless parsed_json["applied_date"].nil?)
94
+ applied_amount = parsed_json["applied_amount"]
95
+ remote_was_deleted = parsed_json["remote_was_deleted"]
96
+ new(
97
+ remote_id: remote_id,
98
+ created_at: created_at,
99
+ modified_at: modified_at,
100
+ vendor_credit: vendor_credit,
101
+ applied_date: applied_date,
102
+ applied_amount: applied_amount,
103
+ remote_was_deleted: remote_was_deleted,
104
+ additional_properties: struct
105
+ )
106
+ end
107
+
108
+ # Serialize an instance of VendorCreditApplyLineForInvoice to a JSON object
109
+ #
110
+ # @return [String]
111
+ def to_json(*_args)
112
+ @_field_set&.to_json
113
+ end
114
+
115
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
116
+ # hash and check each fields type against the current object's property
117
+ # definitions.
118
+ #
119
+ # @param obj [Object]
120
+ # @return [Void]
121
+ def self.validate_raw(obj:)
122
+ obj.remote_id&.is_a?(String) != false || raise("Passed value for field obj.remote_id is not the expected type, validation failed.")
123
+ obj.created_at&.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
124
+ obj.modified_at&.is_a?(DateTime) != false || raise("Passed value for field obj.modified_at is not the expected type, validation failed.")
125
+ obj.vendor_credit.nil? || Merge::Accounting::VendorCreditApplyLineForInvoiceVendorCredit.validate_raw(obj: obj.vendor_credit)
126
+ obj.applied_date&.is_a?(DateTime) != false || raise("Passed value for field obj.applied_date is not the expected type, validation failed.")
127
+ obj.applied_amount&.is_a?(String) != false || raise("Passed value for field obj.applied_amount is not the expected type, validation failed.")
128
+ obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "vendor_credit"
5
+
6
+ module Merge
7
+ module Accounting
8
+ class VendorCreditApplyLineForInvoiceVendorCredit
9
+ # Deserialize a JSON object to an instance of
10
+ # VendorCreditApplyLineForInvoiceVendorCredit
11
+ #
12
+ # @param json_object [String]
13
+ # @return [Merge::Accounting::VendorCreditApplyLineForInvoiceVendorCredit]
14
+ def self.from_json(json_object:)
15
+ struct = JSON.parse(json_object, object_class: OpenStruct)
16
+ begin
17
+ struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
18
+ return struct unless struct.nil?
19
+
20
+ return nil
21
+ rescue StandardError
22
+ # noop
23
+ end
24
+ begin
25
+ Merge::Accounting::VendorCredit.validate_raw(obj: struct)
26
+ return Merge::Accounting::VendorCredit.from_json(json_object: struct) unless struct.nil?
27
+
28
+ return nil
29
+ rescue StandardError
30
+ # noop
31
+ end
32
+ struct
33
+ end
34
+
35
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
36
+ # hash and check each fields type against the current object's property
37
+ # definitions.
38
+ #
39
+ # @param obj [Object]
40
+ # @return [Void]
41
+ def self.validate_raw(obj:)
42
+ begin
43
+ return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
44
+ rescue StandardError
45
+ # noop
46
+ end
47
+ begin
48
+ return Merge::Accounting::VendorCredit.validate_raw(obj: obj)
49
+ rescue StandardError
50
+ # noop
51
+ end
52
+ raise("Passed value matched no type within the union, validation failed.")
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "vendor_credit_apply_line_for_vendor_credit_invoice"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Merge
9
+ module Accounting
10
+ # # The VendorCreditApplyLine Object
11
+ # ### Description
12
+ # The `VendorCreditApplyLine` object is used to represent a applied vendor credit.
13
+ # ### Usage Example
14
+ # Fetch from the `GET VendorCredit` endpoint and view the vendor credit's applied
15
+ # to lines.
16
+ class VendorCreditApplyLineForVendorCredit
17
+ # @return [String] The third-party API ID of the matching object.
18
+ attr_reader :remote_id
19
+ # @return [DateTime] The datetime that this object was created by Merge.
20
+ attr_reader :created_at
21
+ # @return [DateTime] The datetime that this object was modified by Merge.
22
+ attr_reader :modified_at
23
+ # @return [Merge::Accounting::VendorCreditApplyLineForVendorCreditInvoice]
24
+ attr_reader :invoice
25
+ # @return [DateTime] Date that the vendor credit is applied to the invoice.
26
+ attr_reader :applied_date
27
+ # @return [String] The amount of the VendorCredit applied to the invoice.
28
+ attr_reader :applied_amount
29
+ # @return [Boolean] Indicates whether or not this object has been deleted in the third party
30
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
31
+ # detection is offered for free with limited coverage. [Learn
32
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
33
+ attr_reader :remote_was_deleted
34
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
35
+ attr_reader :additional_properties
36
+ # @return [Object]
37
+ attr_reader :_field_set
38
+ protected :_field_set
39
+
40
+ OMIT = Object.new
41
+
42
+ # @param remote_id [String] The third-party API ID of the matching object.
43
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
44
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
45
+ # @param invoice [Merge::Accounting::VendorCreditApplyLineForVendorCreditInvoice]
46
+ # @param applied_date [DateTime] Date that the vendor credit is applied to the invoice.
47
+ # @param applied_amount [String] The amount of the VendorCredit applied to the invoice.
48
+ # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
49
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
50
+ # detection is offered for free with limited coverage. [Learn
51
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
52
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
53
+ # @return [Merge::Accounting::VendorCreditApplyLineForVendorCredit]
54
+ def initialize(remote_id: OMIT, created_at: OMIT, modified_at: OMIT, invoice: OMIT, applied_date: OMIT,
55
+ applied_amount: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
56
+ @remote_id = remote_id if remote_id != OMIT
57
+ @created_at = created_at if created_at != OMIT
58
+ @modified_at = modified_at if modified_at != OMIT
59
+ @invoice = invoice if invoice != OMIT
60
+ @applied_date = applied_date if applied_date != OMIT
61
+ @applied_amount = applied_amount if applied_amount != OMIT
62
+ @remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
63
+ @additional_properties = additional_properties
64
+ @_field_set = {
65
+ "remote_id": remote_id,
66
+ "created_at": created_at,
67
+ "modified_at": modified_at,
68
+ "invoice": invoice,
69
+ "applied_date": applied_date,
70
+ "applied_amount": applied_amount,
71
+ "remote_was_deleted": remote_was_deleted
72
+ }.reject do |_k, v|
73
+ v == OMIT
74
+ end
75
+ end
76
+
77
+ # Deserialize a JSON object to an instance of VendorCreditApplyLineForVendorCredit
78
+ #
79
+ # @param json_object [String]
80
+ # @return [Merge::Accounting::VendorCreditApplyLineForVendorCredit]
81
+ def self.from_json(json_object:)
82
+ struct = JSON.parse(json_object, object_class: OpenStruct)
83
+ parsed_json = JSON.parse(json_object)
84
+ remote_id = parsed_json["remote_id"]
85
+ created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
86
+ modified_at = (DateTime.parse(parsed_json["modified_at"]) unless parsed_json["modified_at"].nil?)
87
+ if parsed_json["invoice"].nil?
88
+ invoice = nil
89
+ else
90
+ invoice = parsed_json["invoice"].to_json
91
+ invoice = Merge::Accounting::VendorCreditApplyLineForVendorCreditInvoice.from_json(json_object: invoice)
92
+ end
93
+ applied_date = (DateTime.parse(parsed_json["applied_date"]) unless parsed_json["applied_date"].nil?)
94
+ applied_amount = parsed_json["applied_amount"]
95
+ remote_was_deleted = parsed_json["remote_was_deleted"]
96
+ new(
97
+ remote_id: remote_id,
98
+ created_at: created_at,
99
+ modified_at: modified_at,
100
+ invoice: invoice,
101
+ applied_date: applied_date,
102
+ applied_amount: applied_amount,
103
+ remote_was_deleted: remote_was_deleted,
104
+ additional_properties: struct
105
+ )
106
+ end
107
+
108
+ # Serialize an instance of VendorCreditApplyLineForVendorCredit to a JSON object
109
+ #
110
+ # @return [String]
111
+ def to_json(*_args)
112
+ @_field_set&.to_json
113
+ end
114
+
115
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
116
+ # hash and check each fields type against the current object's property
117
+ # definitions.
118
+ #
119
+ # @param obj [Object]
120
+ # @return [Void]
121
+ def self.validate_raw(obj:)
122
+ obj.remote_id&.is_a?(String) != false || raise("Passed value for field obj.remote_id is not the expected type, validation failed.")
123
+ obj.created_at&.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
124
+ obj.modified_at&.is_a?(DateTime) != false || raise("Passed value for field obj.modified_at is not the expected type, validation failed.")
125
+ obj.invoice.nil? || Merge::Accounting::VendorCreditApplyLineForVendorCreditInvoice.validate_raw(obj: obj.invoice)
126
+ obj.applied_date&.is_a?(DateTime) != false || raise("Passed value for field obj.applied_date is not the expected type, validation failed.")
127
+ obj.applied_amount&.is_a?(String) != false || raise("Passed value for field obj.applied_amount is not the expected type, validation failed.")
128
+ obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "invoice"
5
+
6
+ module Merge
7
+ module Accounting
8
+ class VendorCreditApplyLineForVendorCreditInvoice
9
+ # Deserialize a JSON object to an instance of
10
+ # VendorCreditApplyLineForVendorCreditInvoice
11
+ #
12
+ # @param json_object [String]
13
+ # @return [Merge::Accounting::VendorCreditApplyLineForVendorCreditInvoice]
14
+ def self.from_json(json_object:)
15
+ struct = JSON.parse(json_object, object_class: OpenStruct)
16
+ begin
17
+ struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
18
+ return struct unless struct.nil?
19
+
20
+ return nil
21
+ rescue StandardError
22
+ # noop
23
+ end
24
+ begin
25
+ Merge::Accounting::Invoice.validate_raw(obj: struct)
26
+ return Merge::Accounting::Invoice.from_json(json_object: struct) unless struct.nil?
27
+
28
+ return nil
29
+ rescue StandardError
30
+ # noop
31
+ end
32
+ struct
33
+ end
34
+
35
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
36
+ # hash and check each fields type against the current object's property
37
+ # definitions.
38
+ #
39
+ # @param obj [Object]
40
+ # @return [Void]
41
+ def self.validate_raw(obj:)
42
+ begin
43
+ return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
44
+ rescue StandardError
45
+ # noop
46
+ end
47
+ begin
48
+ return Merge::Accounting::Invoice.validate_raw(obj: obj)
49
+ rescue StandardError
50
+ # noop
51
+ end
52
+ raise("Passed value matched no type within the union, validation failed.")
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,120 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "vendor_credit_apply_line_for_vendor_credit_request_invoice"
4
+ require "date"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Merge
9
+ module Accounting
10
+ # # The VendorCreditApplyLine Object
11
+ # ### Description
12
+ # The `VendorCreditApplyLine` object is used to represent a applied vendor credit.
13
+ # ### Usage Example
14
+ # Fetch from the `GET VendorCredit` endpoint and view the vendor credit's applied
15
+ # to lines.
16
+ class VendorCreditApplyLineForVendorCreditRequest
17
+ # @return [String] The third-party API ID of the matching object.
18
+ attr_reader :remote_id
19
+ # @return [Merge::Accounting::VendorCreditApplyLineForVendorCreditRequestInvoice]
20
+ attr_reader :invoice
21
+ # @return [DateTime] Date that the vendor credit is applied to the invoice.
22
+ attr_reader :applied_date
23
+ # @return [String] The amount of the VendorCredit applied to the invoice.
24
+ attr_reader :applied_amount
25
+ # @return [Hash{String => Object}]
26
+ attr_reader :integration_params
27
+ # @return [Hash{String => Object}]
28
+ attr_reader :linked_account_params
29
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
30
+ attr_reader :additional_properties
31
+ # @return [Object]
32
+ attr_reader :_field_set
33
+ protected :_field_set
34
+
35
+ OMIT = Object.new
36
+
37
+ # @param remote_id [String] The third-party API ID of the matching object.
38
+ # @param invoice [Merge::Accounting::VendorCreditApplyLineForVendorCreditRequestInvoice]
39
+ # @param applied_date [DateTime] Date that the vendor credit is applied to the invoice.
40
+ # @param applied_amount [String] The amount of the VendorCredit applied to the invoice.
41
+ # @param integration_params [Hash{String => Object}]
42
+ # @param linked_account_params [Hash{String => Object}]
43
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
44
+ # @return [Merge::Accounting::VendorCreditApplyLineForVendorCreditRequest]
45
+ def initialize(remote_id: OMIT, invoice: OMIT, applied_date: OMIT, applied_amount: OMIT,
46
+ integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil)
47
+ @remote_id = remote_id if remote_id != OMIT
48
+ @invoice = invoice if invoice != OMIT
49
+ @applied_date = applied_date if applied_date != OMIT
50
+ @applied_amount = applied_amount if applied_amount != OMIT
51
+ @integration_params = integration_params if integration_params != OMIT
52
+ @linked_account_params = linked_account_params if linked_account_params != OMIT
53
+ @additional_properties = additional_properties
54
+ @_field_set = {
55
+ "remote_id": remote_id,
56
+ "invoice": invoice,
57
+ "applied_date": applied_date,
58
+ "applied_amount": applied_amount,
59
+ "integration_params": integration_params,
60
+ "linked_account_params": linked_account_params
61
+ }.reject do |_k, v|
62
+ v == OMIT
63
+ end
64
+ end
65
+
66
+ # Deserialize a JSON object to an instance of
67
+ # VendorCreditApplyLineForVendorCreditRequest
68
+ #
69
+ # @param json_object [String]
70
+ # @return [Merge::Accounting::VendorCreditApplyLineForVendorCreditRequest]
71
+ def self.from_json(json_object:)
72
+ struct = JSON.parse(json_object, object_class: OpenStruct)
73
+ parsed_json = JSON.parse(json_object)
74
+ remote_id = parsed_json["remote_id"]
75
+ if parsed_json["invoice"].nil?
76
+ invoice = nil
77
+ else
78
+ invoice = parsed_json["invoice"].to_json
79
+ invoice = Merge::Accounting::VendorCreditApplyLineForVendorCreditRequestInvoice.from_json(json_object: invoice)
80
+ end
81
+ applied_date = (DateTime.parse(parsed_json["applied_date"]) unless parsed_json["applied_date"].nil?)
82
+ applied_amount = parsed_json["applied_amount"]
83
+ integration_params = parsed_json["integration_params"]
84
+ linked_account_params = parsed_json["linked_account_params"]
85
+ new(
86
+ remote_id: remote_id,
87
+ invoice: invoice,
88
+ applied_date: applied_date,
89
+ applied_amount: applied_amount,
90
+ integration_params: integration_params,
91
+ linked_account_params: linked_account_params,
92
+ additional_properties: struct
93
+ )
94
+ end
95
+
96
+ # Serialize an instance of VendorCreditApplyLineForVendorCreditRequest to a JSON
97
+ # object
98
+ #
99
+ # @return [String]
100
+ def to_json(*_args)
101
+ @_field_set&.to_json
102
+ end
103
+
104
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
105
+ # hash and check each fields type against the current object's property
106
+ # definitions.
107
+ #
108
+ # @param obj [Object]
109
+ # @return [Void]
110
+ def self.validate_raw(obj:)
111
+ obj.remote_id&.is_a?(String) != false || raise("Passed value for field obj.remote_id is not the expected type, validation failed.")
112
+ obj.invoice.nil? || Merge::Accounting::VendorCreditApplyLineForVendorCreditRequestInvoice.validate_raw(obj: obj.invoice)
113
+ obj.applied_date&.is_a?(DateTime) != false || raise("Passed value for field obj.applied_date is not the expected type, validation failed.")
114
+ obj.applied_amount&.is_a?(String) != false || raise("Passed value for field obj.applied_amount is not the expected type, validation failed.")
115
+ obj.integration_params&.is_a?(Hash) != false || raise("Passed value for field obj.integration_params is not the expected type, validation failed.")
116
+ obj.linked_account_params&.is_a?(Hash) != false || raise("Passed value for field obj.linked_account_params is not the expected type, validation failed.")
117
+ end
118
+ end
119
+ end
120
+ end