xero-apimatic-sdk 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 (289) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +175 -0
  4. data/bin/console +15 -0
  5. data/lib/xero_ap_is/api_helper.rb +10 -0
  6. data/lib/xero_ap_is/apis/accounting_api.rb +8328 -0
  7. data/lib/xero_ap_is/apis/asset_api.rb +210 -0
  8. data/lib/xero_ap_is/apis/bank_feeds_api.rb +268 -0
  9. data/lib/xero_ap_is/apis/base_api.rb +67 -0
  10. data/lib/xero_ap_is/apis/identity_api.rb +51 -0
  11. data/lib/xero_ap_is/apis/oauth_authorization_api.rb +87 -0
  12. data/lib/xero_ap_is/apis/project_api.rb +662 -0
  13. data/lib/xero_ap_is/client.rb +110 -0
  14. data/lib/xero_ap_is/configuration.rb +196 -0
  15. data/lib/xero_ap_is/exceptions/api_exception.rb +21 -0
  16. data/lib/xero_ap_is/exceptions/asset_types400_error_exception.rb +72 -0
  17. data/lib/xero_ap_is/exceptions/assets400_error_exception.rb +72 -0
  18. data/lib/xero_ap_is/exceptions/error_error1_exception.rb +63 -0
  19. data/lib/xero_ap_is/exceptions/error_error2_exception.rb +51 -0
  20. data/lib/xero_ap_is/exceptions/error_exception.rb +72 -0
  21. data/lib/xero_ap_is/exceptions/feed_connections_error_exception.rb +60 -0
  22. data/lib/xero_ap_is/exceptions/oauth_provider_exception.rb +64 -0
  23. data/lib/xero_ap_is/exceptions/statements_error_exception.rb +60 -0
  24. data/lib/xero_ap_is/http/api_response.rb +19 -0
  25. data/lib/xero_ap_is/http/auth/basic_auth.rb +62 -0
  26. data/lib/xero_ap_is/http/auth/oauth_2.rb +161 -0
  27. data/lib/xero_ap_is/http/http_call_back.rb +10 -0
  28. data/lib/xero_ap_is/http/http_method_enum.rb +10 -0
  29. data/lib/xero_ap_is/http/http_request.rb +10 -0
  30. data/lib/xero_ap_is/http/http_response.rb +10 -0
  31. data/lib/xero_ap_is/http/proxy_settings.rb +22 -0
  32. data/lib/xero_ap_is/logging/configuration/api_logging_configuration.rb +186 -0
  33. data/lib/xero_ap_is/logging/sdk_logger.rb +17 -0
  34. data/lib/xero_ap_is/models/access_token.rb +116 -0
  35. data/lib/xero_ap_is/models/account.rb +300 -0
  36. data/lib/xero_ap_is/models/account_type.rb +100 -0
  37. data/lib/xero_ap_is/models/account_type1.rb +37 -0
  38. data/lib/xero_ap_is/models/accounts.rb +84 -0
  39. data/lib/xero_ap_is/models/accounts_payable.rb +85 -0
  40. data/lib/xero_ap_is/models/accounts_receivable.rb +85 -0
  41. data/lib/xero_ap_is/models/action.rb +85 -0
  42. data/lib/xero_ap_is/models/actions.rb +84 -0
  43. data/lib/xero_ap_is/models/address.rb +167 -0
  44. data/lib/xero_ap_is/models/address_for_organisation.rb +167 -0
  45. data/lib/xero_ap_is/models/address_type.rb +40 -0
  46. data/lib/xero_ap_is/models/address_type1.rb +36 -0
  47. data/lib/xero_ap_is/models/allocation.rb +174 -0
  48. data/lib/xero_ap_is/models/allocations.rb +85 -0
  49. data/lib/xero_ap_is/models/amount.rb +85 -0
  50. data/lib/xero_ap_is/models/asset.rb +249 -0
  51. data/lib/xero_ap_is/models/asset_status.rb +40 -0
  52. data/lib/xero_ap_is/models/asset_status_query_param.rb +40 -0
  53. data/lib/xero_ap_is/models/asset_type.rb +154 -0
  54. data/lib/xero_ap_is/models/assets.rb +94 -0
  55. data/lib/xero_ap_is/models/attachment.rb +126 -0
  56. data/lib/xero_ap_is/models/attachments.rb +85 -0
  57. data/lib/xero_ap_is/models/averaging_method.rb +36 -0
  58. data/lib/xero_ap_is/models/balance_details.rb +98 -0
  59. data/lib/xero_ap_is/models/balances.rb +89 -0
  60. data/lib/xero_ap_is/models/bank_account_type.rb +44 -0
  61. data/lib/xero_ap_is/models/bank_transaction.rb +319 -0
  62. data/lib/xero_ap_is/models/bank_transactions.rb +114 -0
  63. data/lib/xero_ap_is/models/bank_transfer.rb +224 -0
  64. data/lib/xero_ap_is/models/bank_transfers.rb +85 -0
  65. data/lib/xero_ap_is/models/base_model.rb +110 -0
  66. data/lib/xero_ap_is/models/batch_payment.rb +275 -0
  67. data/lib/xero_ap_is/models/batch_payment_delete.rb +84 -0
  68. data/lib/xero_ap_is/models/batch_payment_delete_by_url_param.rb +73 -0
  69. data/lib/xero_ap_is/models/batch_payment_details.rb +128 -0
  70. data/lib/xero_ap_is/models/batch_payments.rb +85 -0
  71. data/lib/xero_ap_is/models/bill.rb +85 -0
  72. data/lib/xero_ap_is/models/book_depreciation_detail.rb +243 -0
  73. data/lib/xero_ap_is/models/book_depreciation_setting.rb +170 -0
  74. data/lib/xero_ap_is/models/branding_theme.rb +129 -0
  75. data/lib/xero_ap_is/models/branding_themes.rb +85 -0
  76. data/lib/xero_ap_is/models/budget.rb +145 -0
  77. data/lib/xero_ap_is/models/budget_balance.rb +105 -0
  78. data/lib/xero_ap_is/models/budget_line.rb +105 -0
  79. data/lib/xero_ap_is/models/budgets.rb +84 -0
  80. data/lib/xero_ap_is/models/charge_type.rb +42 -0
  81. data/lib/xero_ap_is/models/cis_org_setting.rb +105 -0
  82. data/lib/xero_ap_is/models/cis_org_settings.rb +85 -0
  83. data/lib/xero_ap_is/models/cis_setting.rb +86 -0
  84. data/lib/xero_ap_is/models/cis_settings.rb +85 -0
  85. data/lib/xero_ap_is/models/class1.rb +113 -0
  86. data/lib/xero_ap_is/models/connection.rb +155 -0
  87. data/lib/xero_ap_is/models/contact.rb +661 -0
  88. data/lib/xero_ap_is/models/contact_group.rb +119 -0
  89. data/lib/xero_ap_is/models/contact_groups.rb +85 -0
  90. data/lib/xero_ap_is/models/contact_person.rb +108 -0
  91. data/lib/xero_ap_is/models/contact_status.rb +40 -0
  92. data/lib/xero_ap_is/models/contacts.rb +113 -0
  93. data/lib/xero_ap_is/models/conversion_balances.rb +108 -0
  94. data/lib/xero_ap_is/models/conversion_date.rb +87 -0
  95. data/lib/xero_ap_is/models/country_code.rb +990 -0
  96. data/lib/xero_ap_is/models/credit_debit_indicator.rb +37 -0
  97. data/lib/xero_ap_is/models/credit_note.rb +453 -0
  98. data/lib/xero_ap_is/models/credit_notes.rb +113 -0
  99. data/lib/xero_ap_is/models/currencies.rb +85 -0
  100. data/lib/xero_ap_is/models/currency.rb +85 -0
  101. data/lib/xero_ap_is/models/currency_code.rb +700 -0
  102. data/lib/xero_ap_is/models/currency_code1.rb +680 -0
  103. data/lib/xero_ap_is/models/depreciation_calculation_method.rb +40 -0
  104. data/lib/xero_ap_is/models/depreciation_method.rb +52 -0
  105. data/lib/xero_ap_is/models/due_date_type.rb +52 -0
  106. data/lib/xero_ap_is/models/edition.rb +38 -0
  107. data/lib/xero_ap_is/models/element.rb +160 -0
  108. data/lib/xero_ap_is/models/employee.rb +160 -0
  109. data/lib/xero_ap_is/models/employees.rb +85 -0
  110. data/lib/xero_ap_is/models/end_balance.rb +89 -0
  111. data/lib/xero_ap_is/models/error1.rb +138 -0
  112. data/lib/xero_ap_is/models/error2.rb +106 -0
  113. data/lib/xero_ap_is/models/error3.rb +85 -0
  114. data/lib/xero_ap_is/models/expense_claim.rb +209 -0
  115. data/lib/xero_ap_is/models/expense_claims.rb +85 -0
  116. data/lib/xero_ap_is/models/external_link.rb +95 -0
  117. data/lib/xero_ap_is/models/federal_tax_classification.rb +56 -0
  118. data/lib/xero_ap_is/models/feed_connection.rb +177 -0
  119. data/lib/xero_ap_is/models/feed_connections.rb +94 -0
  120. data/lib/xero_ap_is/models/field_validation_errors_element.rb +127 -0
  121. data/lib/xero_ap_is/models/history_record.rb +105 -0
  122. data/lib/xero_ap_is/models/history_records.rb +85 -0
  123. data/lib/xero_ap_is/models/import_summary.rb +87 -0
  124. data/lib/xero_ap_is/models/import_summary_accounts.rb +154 -0
  125. data/lib/xero_ap_is/models/import_summary_object.rb +76 -0
  126. data/lib/xero_ap_is/models/import_summary_organisation.rb +75 -0
  127. data/lib/xero_ap_is/models/invoice.rb +586 -0
  128. data/lib/xero_ap_is/models/invoice_address.rb +158 -0
  129. data/lib/xero_ap_is/models/invoice_address_type.rb +37 -0
  130. data/lib/xero_ap_is/models/invoice_reminder.rb +75 -0
  131. data/lib/xero_ap_is/models/invoice_reminders.rb +85 -0
  132. data/lib/xero_ap_is/models/invoices.rb +113 -0
  133. data/lib/xero_ap_is/models/item.rb +259 -0
  134. data/lib/xero_ap_is/models/items.rb +84 -0
  135. data/lib/xero_ap_is/models/journal.rb +157 -0
  136. data/lib/xero_ap_is/models/journal_line.rb +201 -0
  137. data/lib/xero_ap_is/models/journals.rb +103 -0
  138. data/lib/xero_ap_is/models/line_amount_types.rb +41 -0
  139. data/lib/xero_ap_is/models/line_item.rb +287 -0
  140. data/lib/xero_ap_is/models/line_item_item.rb +95 -0
  141. data/lib/xero_ap_is/models/line_item_tracking.rb +108 -0
  142. data/lib/xero_ap_is/models/link_type.rb +48 -0
  143. data/lib/xero_ap_is/models/linked_transaction.rb +215 -0
  144. data/lib/xero_ap_is/models/linked_transactions.rb +85 -0
  145. data/lib/xero_ap_is/models/manual_journal.rb +255 -0
  146. data/lib/xero_ap_is/models/manual_journal_line.rb +156 -0
  147. data/lib/xero_ap_is/models/manual_journals.rb +114 -0
  148. data/lib/xero_ap_is/models/mclass.rb +48 -0
  149. data/lib/xero_ap_is/models/oauth_provider_error.rb +62 -0
  150. data/lib/xero_ap_is/models/oauth_scope_oauth_2.rb +113 -0
  151. data/lib/xero_ap_is/models/oauth_token.rb +96 -0
  152. data/lib/xero_ap_is/models/online_invoice.rb +77 -0
  153. data/lib/xero_ap_is/models/online_invoices.rb +85 -0
  154. data/lib/xero_ap_is/models/order_by.rb +56 -0
  155. data/lib/xero_ap_is/models/organisation.rb +467 -0
  156. data/lib/xero_ap_is/models/organisation_entity_type.rb +80 -0
  157. data/lib/xero_ap_is/models/organisation_role.rb +61 -0
  158. data/lib/xero_ap_is/models/organisation_type.rb +80 -0
  159. data/lib/xero_ap_is/models/organisations.rb +85 -0
  160. data/lib/xero_ap_is/models/overpayment.rb +309 -0
  161. data/lib/xero_ap_is/models/overpayments.rb +113 -0
  162. data/lib/xero_ap_is/models/pagination.rb +105 -0
  163. data/lib/xero_ap_is/models/payment.rb +381 -0
  164. data/lib/xero_ap_is/models/payment_delete.rb +73 -0
  165. data/lib/xero_ap_is/models/payment_service.rb +143 -0
  166. data/lib/xero_ap_is/models/payment_services.rb +85 -0
  167. data/lib/xero_ap_is/models/payment_term.rb +85 -0
  168. data/lib/xero_ap_is/models/payment_term_type.rb +44 -0
  169. data/lib/xero_ap_is/models/payment_type.rb +60 -0
  170. data/lib/xero_ap_is/models/payments.rb +113 -0
  171. data/lib/xero_ap_is/models/phone.rb +108 -0
  172. data/lib/xero_ap_is/models/phone_type.rb +48 -0
  173. data/lib/xero_ap_is/models/prepayment.rb +309 -0
  174. data/lib/xero_ap_is/models/prepayments.rb +113 -0
  175. data/lib/xero_ap_is/models/project.rb +328 -0
  176. data/lib/xero_ap_is/models/project_create_or_update.rb +115 -0
  177. data/lib/xero_ap_is/models/project_patch.rb +73 -0
  178. data/lib/xero_ap_is/models/project_status.rb +36 -0
  179. data/lib/xero_ap_is/models/project_user.rb +95 -0
  180. data/lib/xero_ap_is/models/project_users.rb +94 -0
  181. data/lib/xero_ap_is/models/projects.rb +94 -0
  182. data/lib/xero_ap_is/models/purchase.rb +112 -0
  183. data/lib/xero_ap_is/models/purchase_order.rb +408 -0
  184. data/lib/xero_ap_is/models/purchase_orders.rb +114 -0
  185. data/lib/xero_ap_is/models/purchases_default_line_amount_type.rb +42 -0
  186. data/lib/xero_ap_is/models/quote.rb +338 -0
  187. data/lib/xero_ap_is/models/quote_line_amount_types.rb +41 -0
  188. data/lib/xero_ap_is/models/quote_status_codes.rb +52 -0
  189. data/lib/xero_ap_is/models/quotes.rb +84 -0
  190. data/lib/xero_ap_is/models/receipt.rb +287 -0
  191. data/lib/xero_ap_is/models/receipts.rb +84 -0
  192. data/lib/xero_ap_is/models/refresh_token.rb +106 -0
  193. data/lib/xero_ap_is/models/repeating_invoice.rb +290 -0
  194. data/lib/xero_ap_is/models/repeating_invoices.rb +85 -0
  195. data/lib/xero_ap_is/models/report.rb +136 -0
  196. data/lib/xero_ap_is/models/report_attribute.rb +85 -0
  197. data/lib/xero_ap_is/models/report_cell.rb +94 -0
  198. data/lib/xero_ap_is/models/report_fields.rb +95 -0
  199. data/lib/xero_ap_is/models/report_row.rb +104 -0
  200. data/lib/xero_ap_is/models/report_rows.rb +123 -0
  201. data/lib/xero_ap_is/models/report_tax_type.rb +424 -0
  202. data/lib/xero_ap_is/models/report_type.rb +26 -0
  203. data/lib/xero_ap_is/models/report_with_row.rb +176 -0
  204. data/lib/xero_ap_is/models/report_with_rows.rb +84 -0
  205. data/lib/xero_ap_is/models/reports.rb +84 -0
  206. data/lib/xero_ap_is/models/request_empty.rb +75 -0
  207. data/lib/xero_ap_is/models/resource_validation_errors_element.rb +116 -0
  208. data/lib/xero_ap_is/models/row_type.rb +44 -0
  209. data/lib/xero_ap_is/models/sales_default_line_amount_type.rb +42 -0
  210. data/lib/xero_ap_is/models/sales_tax_basis.rb +60 -0
  211. data/lib/xero_ap_is/models/sales_tax_period.rb +88 -0
  212. data/lib/xero_ap_is/models/sales_tracking_category.rb +89 -0
  213. data/lib/xero_ap_is/models/schedule.rb +140 -0
  214. data/lib/xero_ap_is/models/setting.rb +175 -0
  215. data/lib/xero_ap_is/models/setup.rb +117 -0
  216. data/lib/xero_ap_is/models/sort_direction.rb +36 -0
  217. data/lib/xero_ap_is/models/source_transaction_type_code.rb +38 -0
  218. data/lib/xero_ap_is/models/source_type.rb +128 -0
  219. data/lib/xero_ap_is/models/start_balance.rb +88 -0
  220. data/lib/xero_ap_is/models/statement.rb +194 -0
  221. data/lib/xero_ap_is/models/statement_line.rb +162 -0
  222. data/lib/xero_ap_is/models/statements.rb +94 -0
  223. data/lib/xero_ap_is/models/status.rb +41 -0
  224. data/lib/xero_ap_is/models/status1.rb +38 -0
  225. data/lib/xero_ap_is/models/status10.rb +40 -0
  226. data/lib/xero_ap_is/models/status11.rb +44 -0
  227. data/lib/xero_ap_is/models/status110.rb +40 -0
  228. data/lib/xero_ap_is/models/status111.rb +43 -0
  229. data/lib/xero_ap_is/models/status12.rb +48 -0
  230. data/lib/xero_ap_is/models/status13.rb +48 -0
  231. data/lib/xero_ap_is/models/status14.rb +52 -0
  232. data/lib/xero_ap_is/models/status15.rb +48 -0
  233. data/lib/xero_ap_is/models/status16.rb +36 -0
  234. data/lib/xero_ap_is/models/status17.rb +48 -0
  235. data/lib/xero_ap_is/models/status18.rb +40 -0
  236. data/lib/xero_ap_is/models/status19.rb +44 -0
  237. data/lib/xero_ap_is/models/status2.rb +40 -0
  238. data/lib/xero_ap_is/models/status20.rb +48 -0
  239. data/lib/xero_ap_is/models/status21.rb +36 -0
  240. data/lib/xero_ap_is/models/status22.rb +44 -0
  241. data/lib/xero_ap_is/models/status3.rb +52 -0
  242. data/lib/xero_ap_is/models/status4.rb +40 -0
  243. data/lib/xero_ap_is/models/status5.rb +40 -0
  244. data/lib/xero_ap_is/models/status6.rb +52 -0
  245. data/lib/xero_ap_is/models/status7.rb +36 -0
  246. data/lib/xero_ap_is/models/status8.rb +37 -0
  247. data/lib/xero_ap_is/models/status9.rb +40 -0
  248. data/lib/xero_ap_is/models/system_account.rb +110 -0
  249. data/lib/xero_ap_is/models/task.rb +234 -0
  250. data/lib/xero_ap_is/models/task_create_or_update.rb +105 -0
  251. data/lib/xero_ap_is/models/tasks.rb +94 -0
  252. data/lib/xero_ap_is/models/tax_breakdown_component.rb +172 -0
  253. data/lib/xero_ap_is/models/tax_component.rb +108 -0
  254. data/lib/xero_ap_is/models/tax_number_type.rb +45 -0
  255. data/lib/xero_ap_is/models/tax_rate.rb +213 -0
  256. data/lib/xero_ap_is/models/tax_rates.rb +85 -0
  257. data/lib/xero_ap_is/models/tax_type.rb +520 -0
  258. data/lib/xero_ap_is/models/taxability.rb +48 -0
  259. data/lib/xero_ap_is/models/ten_ninety_nine_contact.rb +318 -0
  260. data/lib/xero_ap_is/models/time_entries.rb +94 -0
  261. data/lib/xero_ap_is/models/time_entry.rb +179 -0
  262. data/lib/xero_ap_is/models/time_entry_create_or_update.rb +120 -0
  263. data/lib/xero_ap_is/models/time_zone.rb +592 -0
  264. data/lib/xero_ap_is/models/timeframe.rb +40 -0
  265. data/lib/xero_ap_is/models/tracking_categories.rb +85 -0
  266. data/lib/xero_ap_is/models/tracking_category.rb +140 -0
  267. data/lib/xero_ap_is/models/tracking_option.rb +109 -0
  268. data/lib/xero_ap_is/models/tracking_options.rb +84 -0
  269. data/lib/xero_ap_is/models/type.rb +60 -0
  270. data/lib/xero_ap_is/models/type1.rb +26 -0
  271. data/lib/xero_ap_is/models/type10.rb +36 -0
  272. data/lib/xero_ap_is/models/type11.rb +114 -0
  273. data/lib/xero_ap_is/models/type2.rb +48 -0
  274. data/lib/xero_ap_is/models/type3.rb +60 -0
  275. data/lib/xero_ap_is/models/type4.rb +44 -0
  276. data/lib/xero_ap_is/models/type5.rb +40 -0
  277. data/lib/xero_ap_is/models/type6.rb +36 -0
  278. data/lib/xero_ap_is/models/type7.rb +37 -0
  279. data/lib/xero_ap_is/models/type8.rb +36 -0
  280. data/lib/xero_ap_is/models/type9.rb +26 -0
  281. data/lib/xero_ap_is/models/unit.rb +36 -0
  282. data/lib/xero_ap_is/models/user.rb +139 -0
  283. data/lib/xero_ap_is/models/users.rb +84 -0
  284. data/lib/xero_ap_is/models/validation_error.rb +75 -0
  285. data/lib/xero_ap_is/models/version.rb +68 -0
  286. data/lib/xero_ap_is/utilities/date_time_helper.rb +11 -0
  287. data/lib/xero_ap_is/utilities/file_wrapper.rb +28 -0
  288. data/lib/xero_ap_is.rb +309 -0
  289. metadata +372 -0
@@ -0,0 +1,309 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # Prepayment Model.
8
+ class Prepayment < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # See Prepayment Types
13
+ # @return [Type4]
14
+ attr_accessor :type
15
+
16
+ # See Prepayment Types
17
+ # @return [Contact]
18
+ attr_accessor :contact
19
+
20
+ # The date the prepayment is created YYYY-MM-DD
21
+ # @return [String]
22
+ attr_accessor :date
23
+
24
+ # See Prepayment Status Codes
25
+ # @return [Status4]
26
+ attr_accessor :status
27
+
28
+ # Line amounts are exclusive of tax by default if you don’t specify this
29
+ # element. See Line Amount Types
30
+ # @return [LineAmountTypes]
31
+ attr_accessor :line_amount_types
32
+
33
+ # See Prepayment Line Items
34
+ # @return [Array[LineItem]]
35
+ attr_accessor :line_items
36
+
37
+ # The subtotal of the prepayment excluding taxes
38
+ # @return [Float]
39
+ attr_accessor :sub_total
40
+
41
+ # The total tax on the prepayment
42
+ # @return [Float]
43
+ attr_accessor :total_tax
44
+
45
+ # The total of the prepayment(subtotal + total tax)
46
+ # @return [Float]
47
+ attr_accessor :total
48
+
49
+ # Returns Invoice number field. Reference field isn't available.
50
+ # @return [String]
51
+ attr_accessor :reference
52
+
53
+ # UTC timestamp of last update to the prepayment
54
+ # @return [String]
55
+ attr_accessor :updated_date_utc
56
+
57
+ # 3 letter alpha code for the currency – see list of currency codes
58
+ # @return [CurrencyCode]
59
+ attr_accessor :currency_code
60
+
61
+ # Xero generated unique identifier
62
+ # @return [UUID | String]
63
+ attr_accessor :prepayment_id
64
+
65
+ # The currency rate for a multicurrency prepayment. If no rate is specified,
66
+ # the XE.com day rate is used
67
+ # @return [Float]
68
+ attr_accessor :currency_rate
69
+
70
+ # The remaining credit balance on the prepayment
71
+ # @return [Float]
72
+ attr_accessor :remaining_credit
73
+
74
+ # See Allocations
75
+ # @return [Array[Allocation]]
76
+ attr_accessor :allocations
77
+
78
+ # See Payments
79
+ # @return [Array[Payment]]
80
+ attr_accessor :payments
81
+
82
+ # The amount of applied to an invoice
83
+ # @return [Float]
84
+ attr_accessor :applied_amount
85
+
86
+ # boolean to indicate if a prepayment has an attachment
87
+ # @return [TrueClass | FalseClass]
88
+ attr_accessor :has_attachments
89
+
90
+ # See Attachments
91
+ # @return [Array[Attachment]]
92
+ attr_accessor :attachments
93
+
94
+ # A mapping from model property names to API property names.
95
+ def self.names
96
+ @_hash = {} if @_hash.nil?
97
+ @_hash['type'] = 'Type'
98
+ @_hash['contact'] = 'Contact'
99
+ @_hash['date'] = 'Date'
100
+ @_hash['status'] = 'Status'
101
+ @_hash['line_amount_types'] = 'LineAmountTypes'
102
+ @_hash['line_items'] = 'LineItems'
103
+ @_hash['sub_total'] = 'SubTotal'
104
+ @_hash['total_tax'] = 'TotalTax'
105
+ @_hash['total'] = 'Total'
106
+ @_hash['reference'] = 'Reference'
107
+ @_hash['updated_date_utc'] = 'UpdatedDateUTC'
108
+ @_hash['currency_code'] = 'CurrencyCode'
109
+ @_hash['prepayment_id'] = 'PrepaymentID'
110
+ @_hash['currency_rate'] = 'CurrencyRate'
111
+ @_hash['remaining_credit'] = 'RemainingCredit'
112
+ @_hash['allocations'] = 'Allocations'
113
+ @_hash['payments'] = 'Payments'
114
+ @_hash['applied_amount'] = 'AppliedAmount'
115
+ @_hash['has_attachments'] = 'HasAttachments'
116
+ @_hash['attachments'] = 'Attachments'
117
+ @_hash
118
+ end
119
+
120
+ # An array for optional fields
121
+ def self.optionals
122
+ %w[
123
+ type
124
+ contact
125
+ date
126
+ status
127
+ line_amount_types
128
+ line_items
129
+ sub_total
130
+ total_tax
131
+ total
132
+ reference
133
+ updated_date_utc
134
+ currency_code
135
+ prepayment_id
136
+ currency_rate
137
+ remaining_credit
138
+ allocations
139
+ payments
140
+ applied_amount
141
+ has_attachments
142
+ attachments
143
+ ]
144
+ end
145
+
146
+ # An array for nullable fields
147
+ def self.nullables
148
+ []
149
+ end
150
+
151
+ def initialize(type: SKIP, contact: SKIP, date: SKIP, status: SKIP,
152
+ line_amount_types: SKIP, line_items: SKIP, sub_total: SKIP,
153
+ total_tax: SKIP, total: SKIP, reference: SKIP,
154
+ updated_date_utc: SKIP, currency_code: SKIP,
155
+ prepayment_id: SKIP, currency_rate: SKIP,
156
+ remaining_credit: SKIP, allocations: SKIP, payments: SKIP,
157
+ applied_amount: SKIP, has_attachments: false,
158
+ attachments: SKIP, additional_properties: nil)
159
+ # Add additional model properties to the instance
160
+ additional_properties = {} if additional_properties.nil?
161
+
162
+ @type = type unless type == SKIP
163
+ @contact = contact unless contact == SKIP
164
+ @date = date unless date == SKIP
165
+ @status = status unless status == SKIP
166
+ @line_amount_types = line_amount_types unless line_amount_types == SKIP
167
+ @line_items = line_items unless line_items == SKIP
168
+ @sub_total = sub_total unless sub_total == SKIP
169
+ @total_tax = total_tax unless total_tax == SKIP
170
+ @total = total unless total == SKIP
171
+ @reference = reference unless reference == SKIP
172
+ @updated_date_utc = updated_date_utc unless updated_date_utc == SKIP
173
+ @currency_code = currency_code unless currency_code == SKIP
174
+ @prepayment_id = prepayment_id unless prepayment_id == SKIP
175
+ @currency_rate = currency_rate unless currency_rate == SKIP
176
+ @remaining_credit = remaining_credit unless remaining_credit == SKIP
177
+ @allocations = allocations unless allocations == SKIP
178
+ @payments = payments unless payments == SKIP
179
+ @applied_amount = applied_amount unless applied_amount == SKIP
180
+ @has_attachments = has_attachments unless has_attachments == SKIP
181
+ @attachments = attachments unless attachments == SKIP
182
+ @additional_properties = additional_properties
183
+ end
184
+
185
+ # Creates an instance of the object from a hash.
186
+ def self.from_hash(hash)
187
+ return nil unless hash
188
+
189
+ # Extract variables from the hash.
190
+ type = hash.key?('Type') ? hash['Type'] : SKIP
191
+ contact = Contact.from_hash(hash['Contact']) if hash['Contact']
192
+ date = hash.key?('Date') ? hash['Date'] : SKIP
193
+ status = hash.key?('Status') ? hash['Status'] : SKIP
194
+ line_amount_types =
195
+ hash.key?('LineAmountTypes') ? hash['LineAmountTypes'] : SKIP
196
+ # Parameter is an array, so we need to iterate through it
197
+ line_items = nil
198
+ unless hash['LineItems'].nil?
199
+ line_items = []
200
+ hash['LineItems'].each do |structure|
201
+ line_items << (LineItem.from_hash(structure) if structure)
202
+ end
203
+ end
204
+
205
+ line_items = SKIP unless hash.key?('LineItems')
206
+ sub_total = hash.key?('SubTotal') ? hash['SubTotal'] : SKIP
207
+ total_tax = hash.key?('TotalTax') ? hash['TotalTax'] : SKIP
208
+ total = hash.key?('Total') ? hash['Total'] : SKIP
209
+ reference = hash.key?('Reference') ? hash['Reference'] : SKIP
210
+ updated_date_utc =
211
+ hash.key?('UpdatedDateUTC') ? hash['UpdatedDateUTC'] : SKIP
212
+ currency_code = hash.key?('CurrencyCode') ? hash['CurrencyCode'] : SKIP
213
+ prepayment_id = hash.key?('PrepaymentID') ? hash['PrepaymentID'] : SKIP
214
+ currency_rate = hash.key?('CurrencyRate') ? hash['CurrencyRate'] : SKIP
215
+ remaining_credit =
216
+ hash.key?('RemainingCredit') ? hash['RemainingCredit'] : SKIP
217
+ # Parameter is an array, so we need to iterate through it
218
+ allocations = nil
219
+ unless hash['Allocations'].nil?
220
+ allocations = []
221
+ hash['Allocations'].each do |structure|
222
+ allocations << (Allocation.from_hash(structure) if structure)
223
+ end
224
+ end
225
+
226
+ allocations = SKIP unless hash.key?('Allocations')
227
+ # Parameter is an array, so we need to iterate through it
228
+ payments = nil
229
+ unless hash['Payments'].nil?
230
+ payments = []
231
+ hash['Payments'].each do |structure|
232
+ payments << (Payment.from_hash(structure) if structure)
233
+ end
234
+ end
235
+
236
+ payments = SKIP unless hash.key?('Payments')
237
+ applied_amount = hash.key?('AppliedAmount') ? hash['AppliedAmount'] : SKIP
238
+ has_attachments = hash['HasAttachments'] ||= false
239
+ # Parameter is an array, so we need to iterate through it
240
+ attachments = nil
241
+ unless hash['Attachments'].nil?
242
+ attachments = []
243
+ hash['Attachments'].each do |structure|
244
+ attachments << (Attachment.from_hash(structure) if structure)
245
+ end
246
+ end
247
+
248
+ attachments = SKIP unless hash.key?('Attachments')
249
+
250
+ # Create a new hash for additional properties, removing known properties.
251
+ new_hash = hash.reject { |k, _| names.value?(k) }
252
+
253
+ additional_properties = APIHelper.get_additional_properties(
254
+ new_hash, proc { |value| value }
255
+ )
256
+
257
+ # Create object from extracted values.
258
+ Prepayment.new(type: type,
259
+ contact: contact,
260
+ date: date,
261
+ status: status,
262
+ line_amount_types: line_amount_types,
263
+ line_items: line_items,
264
+ sub_total: sub_total,
265
+ total_tax: total_tax,
266
+ total: total,
267
+ reference: reference,
268
+ updated_date_utc: updated_date_utc,
269
+ currency_code: currency_code,
270
+ prepayment_id: prepayment_id,
271
+ currency_rate: currency_rate,
272
+ remaining_credit: remaining_credit,
273
+ allocations: allocations,
274
+ payments: payments,
275
+ applied_amount: applied_amount,
276
+ has_attachments: has_attachments,
277
+ attachments: attachments,
278
+ additional_properties: additional_properties)
279
+ end
280
+
281
+ # Provides a human-readable string representation of the object.
282
+ def to_s
283
+ class_name = self.class.name.split('::').last
284
+ "<#{class_name} type: #{@type}, contact: #{@contact}, date: #{@date}, status: #{@status},"\
285
+ " line_amount_types: #{@line_amount_types}, line_items: #{@line_items}, sub_total:"\
286
+ " #{@sub_total}, total_tax: #{@total_tax}, total: #{@total}, reference: #{@reference},"\
287
+ " updated_date_utc: #{@updated_date_utc}, currency_code: #{@currency_code}, prepayment_id:"\
288
+ " #{@prepayment_id}, currency_rate: #{@currency_rate}, remaining_credit:"\
289
+ " #{@remaining_credit}, allocations: #{@allocations}, payments: #{@payments},"\
290
+ " applied_amount: #{@applied_amount}, has_attachments: #{@has_attachments}, attachments:"\
291
+ " #{@attachments}, additional_properties: #{@additional_properties}>"
292
+ end
293
+
294
+ # Provides a debugging-friendly string with detailed object information.
295
+ def inspect
296
+ class_name = self.class.name.split('::').last
297
+ "<#{class_name} type: #{@type.inspect}, contact: #{@contact.inspect}, date:"\
298
+ " #{@date.inspect}, status: #{@status.inspect}, line_amount_types:"\
299
+ " #{@line_amount_types.inspect}, line_items: #{@line_items.inspect}, sub_total:"\
300
+ " #{@sub_total.inspect}, total_tax: #{@total_tax.inspect}, total: #{@total.inspect},"\
301
+ " reference: #{@reference.inspect}, updated_date_utc: #{@updated_date_utc.inspect},"\
302
+ " currency_code: #{@currency_code.inspect}, prepayment_id: #{@prepayment_id.inspect},"\
303
+ " currency_rate: #{@currency_rate.inspect}, remaining_credit: #{@remaining_credit.inspect},"\
304
+ " allocations: #{@allocations.inspect}, payments: #{@payments.inspect}, applied_amount:"\
305
+ " #{@applied_amount.inspect}, has_attachments: #{@has_attachments.inspect}, attachments:"\
306
+ " #{@attachments.inspect}, additional_properties: #{@additional_properties}>"
307
+ end
308
+ end
309
+ end
@@ -0,0 +1,113 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # Prepayments Model.
8
+ class Prepayments < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Pagination]
14
+ attr_accessor :pagination
15
+
16
+ # Displays array of warning messages from the API
17
+ # @return [Array[ValidationError]]
18
+ attr_accessor :warnings
19
+
20
+ # Displays array of warning messages from the API
21
+ # @return [Array[Prepayment]]
22
+ attr_accessor :prepayments
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['pagination'] = 'pagination'
28
+ @_hash['warnings'] = 'Warnings'
29
+ @_hash['prepayments'] = 'Prepayments'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ pagination
37
+ warnings
38
+ prepayments
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(pagination: SKIP, warnings: SKIP, prepayments: SKIP,
48
+ additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @pagination = pagination unless pagination == SKIP
53
+ @warnings = warnings unless warnings == SKIP
54
+ @prepayments = prepayments unless prepayments == SKIP
55
+ @additional_properties = additional_properties
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ pagination = Pagination.from_hash(hash['pagination']) if hash['pagination']
64
+ # Parameter is an array, so we need to iterate through it
65
+ warnings = nil
66
+ unless hash['Warnings'].nil?
67
+ warnings = []
68
+ hash['Warnings'].each do |structure|
69
+ warnings << (ValidationError.from_hash(structure) if structure)
70
+ end
71
+ end
72
+
73
+ warnings = SKIP unless hash.key?('Warnings')
74
+ # Parameter is an array, so we need to iterate through it
75
+ prepayments = nil
76
+ unless hash['Prepayments'].nil?
77
+ prepayments = []
78
+ hash['Prepayments'].each do |structure|
79
+ prepayments << (Prepayment.from_hash(structure) if structure)
80
+ end
81
+ end
82
+
83
+ prepayments = SKIP unless hash.key?('Prepayments')
84
+
85
+ # Create a new hash for additional properties, removing known properties.
86
+ new_hash = hash.reject { |k, _| names.value?(k) }
87
+
88
+ additional_properties = APIHelper.get_additional_properties(
89
+ new_hash, proc { |value| value }
90
+ )
91
+
92
+ # Create object from extracted values.
93
+ Prepayments.new(pagination: pagination,
94
+ warnings: warnings,
95
+ prepayments: prepayments,
96
+ additional_properties: additional_properties)
97
+ end
98
+
99
+ # Provides a human-readable string representation of the object.
100
+ def to_s
101
+ class_name = self.class.name.split('::').last
102
+ "<#{class_name} pagination: #{@pagination}, warnings: #{@warnings}, prepayments:"\
103
+ " #{@prepayments}, additional_properties: #{@additional_properties}>"
104
+ end
105
+
106
+ # Provides a debugging-friendly string with detailed object information.
107
+ def inspect
108
+ class_name = self.class.name.split('::').last
109
+ "<#{class_name} pagination: #{@pagination.inspect}, warnings: #{@warnings.inspect},"\
110
+ " prepayments: #{@prepayments.inspect}, additional_properties: #{@additional_properties}>"
111
+ end
112
+ end
113
+ end