maxio-advanced-billing-sdk 5.2.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (555) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +48 -50
  4. data/lib/advanced_billing/client.rb +3 -4
  5. data/lib/advanced_billing/configuration.rb +21 -24
  6. data/lib/advanced_billing/controllers/advance_invoice_controller.rb +3 -3
  7. data/lib/advanced_billing/controllers/api_exports_controller.rb +9 -9
  8. data/lib/advanced_billing/controllers/base_controller.rb +1 -1
  9. data/lib/advanced_billing/controllers/billing_portal_controller.rb +4 -4
  10. data/lib/advanced_billing/controllers/component_price_points_controller.rb +34 -20
  11. data/lib/advanced_billing/controllers/components_controller.rb +12 -12
  12. data/lib/advanced_billing/controllers/coupons_controller.rb +45 -27
  13. data/lib/advanced_billing/controllers/custom_fields_controller.rb +9 -9
  14. data/lib/advanced_billing/controllers/customers_controller.rb +7 -7
  15. data/lib/advanced_billing/controllers/events_based_billing_segments_controller.rb +6 -6
  16. data/lib/advanced_billing/controllers/events_controller.rb +26 -9
  17. data/lib/advanced_billing/controllers/insights_controller.rb +4 -4
  18. data/lib/advanced_billing/controllers/invoices_controller.rb +17 -17
  19. data/lib/advanced_billing/controllers/offers_controller.rb +10 -6
  20. data/lib/advanced_billing/controllers/payment_profiles_controller.rb +12 -12
  21. data/lib/advanced_billing/controllers/product_families_controller.rb +22 -20
  22. data/lib/advanced_billing/controllers/product_price_points_controller.rb +14 -11
  23. data/lib/advanced_billing/controllers/products_controller.rb +6 -6
  24. data/lib/advanced_billing/controllers/proforma_invoices_controller.rb +9 -9
  25. data/lib/advanced_billing/controllers/reason_codes_controller.rb +17 -9
  26. data/lib/advanced_billing/controllers/referral_codes_controller.rb +1 -1
  27. data/lib/advanced_billing/controllers/sales_commissions_controller.rb +3 -3
  28. data/lib/advanced_billing/controllers/sites_controller.rb +3 -3
  29. data/lib/advanced_billing/controllers/subscription_components_controller.rb +21 -31
  30. data/lib/advanced_billing/controllers/subscription_group_invoice_account_controller.rb +4 -4
  31. data/lib/advanced_billing/controllers/subscription_group_status_controller.rb +4 -4
  32. data/lib/advanced_billing/controllers/subscription_groups_controller.rb +9 -9
  33. data/lib/advanced_billing/controllers/subscription_invoice_account_controller.rb +6 -6
  34. data/lib/advanced_billing/controllers/subscription_notes_controller.rb +20 -8
  35. data/lib/advanced_billing/controllers/subscription_products_controller.rb +2 -2
  36. data/lib/advanced_billing/controllers/subscription_status_controller.rb +20 -12
  37. data/lib/advanced_billing/controllers/subscriptions_controller.rb +40 -17
  38. data/lib/advanced_billing/controllers/webhooks_controller.rb +6 -6
  39. data/lib/advanced_billing/exceptions/api_exception.rb +11 -0
  40. data/lib/advanced_billing/exceptions/component_allocation_error_exception.rb +12 -0
  41. data/lib/advanced_billing/exceptions/component_price_point_error_exception.rb +12 -0
  42. data/lib/advanced_billing/exceptions/customer_error_response_exception.rb +12 -0
  43. data/lib/advanced_billing/exceptions/error_array_map_response_exception.rb +12 -0
  44. data/lib/advanced_billing/exceptions/error_list_response_exception.rb +12 -0
  45. data/lib/advanced_billing/exceptions/error_string_map_response_exception.rb +12 -0
  46. data/lib/advanced_billing/exceptions/event_based_billing_list_segments_errors_exception.rb +12 -0
  47. data/lib/advanced_billing/exceptions/event_based_billing_segment_errors_exception.rb +12 -0
  48. data/lib/advanced_billing/exceptions/event_based_billing_segment_exception.rb +12 -0
  49. data/lib/advanced_billing/exceptions/product_price_point_error_response_exception.rb +12 -0
  50. data/lib/advanced_billing/exceptions/proforma_bad_request_error_response_exception.rb +12 -0
  51. data/lib/advanced_billing/exceptions/refund_prepayment_base_errors_response_exception.rb +12 -0
  52. data/lib/advanced_billing/exceptions/single_error_response_exception.rb +12 -0
  53. data/lib/advanced_billing/exceptions/single_string_error_response_exception.rb +12 -0
  54. data/lib/advanced_billing/exceptions/subscription_add_coupon_error_exception.rb +14 -0
  55. data/lib/advanced_billing/exceptions/subscription_component_allocation_error_exception.rb +12 -0
  56. data/lib/advanced_billing/exceptions/subscription_group_create_error_response_exception.rb +12 -0
  57. data/lib/advanced_billing/exceptions/subscription_group_signup_error_response_exception.rb +12 -0
  58. data/lib/advanced_billing/exceptions/subscription_group_update_error_response_exception.rb +12 -0
  59. data/lib/advanced_billing/exceptions/subscription_remove_coupon_errors_exception.rb +12 -0
  60. data/lib/advanced_billing/exceptions/subscription_response_error_exception.rb +44 -0
  61. data/lib/advanced_billing/exceptions/subscriptions_mrr_error_response_exception.rb +12 -0
  62. data/lib/advanced_billing/exceptions/too_many_management_link_requests_error_exception.rb +12 -0
  63. data/lib/advanced_billing/models/account_balance.rb +24 -7
  64. data/lib/advanced_billing/models/account_balances.rb +24 -7
  65. data/lib/advanced_billing/models/ach_agreement.rb +23 -7
  66. data/lib/advanced_billing/models/activate_event_based_component.rb +21 -6
  67. data/lib/advanced_billing/models/activate_subscription_request.rb +18 -4
  68. data/lib/advanced_billing/models/add_coupons_request.rb +17 -4
  69. data/lib/advanced_billing/models/add_subscription_to_a_group.rb +16 -15
  70. data/lib/advanced_billing/models/address_change.rb +19 -5
  71. data/lib/advanced_billing/models/agreement_acceptance.rb +27 -7
  72. data/lib/advanced_billing/models/allocate_components.rb +29 -7
  73. data/lib/advanced_billing/models/allocation.rb +44 -7
  74. data/lib/advanced_billing/models/allocation_expiration_date.rb +18 -4
  75. data/lib/advanced_billing/models/allocation_preview.rb +33 -7
  76. data/lib/advanced_billing/models/allocation_preview_item.rb +38 -7
  77. data/lib/advanced_billing/models/allocation_preview_line_item.rb +28 -7
  78. data/lib/advanced_billing/models/allocation_preview_response.rb +18 -4
  79. data/lib/advanced_billing/models/allocation_response.rb +18 -4
  80. data/lib/advanced_billing/models/allocation_settings.rb +21 -6
  81. data/lib/advanced_billing/models/apple_pay_payment_profile.rb +34 -7
  82. data/lib/advanced_billing/models/applied_credit_note_data.rb +19 -5
  83. data/lib/advanced_billing/models/apply_credit_note_event.rb +23 -7
  84. data/lib/advanced_billing/models/apply_credit_note_event_data.rb +28 -7
  85. data/lib/advanced_billing/models/apply_debit_note_event.rb +23 -7
  86. data/lib/advanced_billing/models/apply_debit_note_event_data.rb +25 -7
  87. data/lib/advanced_billing/models/apply_payment_event.rb +23 -7
  88. data/lib/advanced_billing/models/apply_payment_event_data.rb +30 -7
  89. data/lib/advanced_billing/models/attribute_error.rb +18 -4
  90. data/lib/advanced_billing/models/auto_resume.rb +18 -4
  91. data/lib/advanced_billing/models/backport_invoice_event.rb +23 -7
  92. data/lib/advanced_billing/models/bank_account_attributes.rb +32 -7
  93. data/lib/advanced_billing/models/bank_account_payment_profile.rb +42 -7
  94. data/lib/advanced_billing/models/bank_account_response.rb +18 -4
  95. data/lib/advanced_billing/models/bank_account_verification.rb +19 -5
  96. data/lib/advanced_billing/models/bank_account_verification_request.rb +18 -4
  97. data/lib/advanced_billing/models/base_model.rb +88 -28
  98. data/lib/advanced_billing/models/base_refund_error.rb +17 -4
  99. data/lib/advanced_billing/models/base_string_error.rb +17 -4
  100. data/lib/advanced_billing/models/batch_job.rb +23 -7
  101. data/lib/advanced_billing/models/batch_job_response.rb +18 -4
  102. data/lib/advanced_billing/models/billing_manifest.rb +30 -7
  103. data/lib/advanced_billing/models/billing_manifest_item.rb +34 -7
  104. data/lib/advanced_billing/models/billing_schedule.rb +18 -4
  105. data/lib/advanced_billing/models/breakouts.rb +25 -7
  106. data/lib/advanced_billing/models/bulk_components_price_point_assignment.rb +18 -4
  107. data/lib/advanced_billing/models/bulk_create_product_price_points_request.rb +18 -4
  108. data/lib/advanced_billing/models/bulk_create_product_price_points_response.rb +18 -4
  109. data/lib/advanced_billing/models/bulk_create_segments.rb +18 -4
  110. data/lib/advanced_billing/models/bulk_update_segments.rb +18 -4
  111. data/lib/advanced_billing/models/bulk_update_segments_item.rb +20 -6
  112. data/lib/advanced_billing/models/calendar_billing.rb +22 -7
  113. data/lib/advanced_billing/models/cancel_grouped_subscriptions_request.rb +18 -4
  114. data/lib/advanced_billing/models/cancellation_options.rb +19 -5
  115. data/lib/advanced_billing/models/cancellation_request.rb +18 -4
  116. data/lib/advanced_billing/models/change_chargeback_status_event.rb +23 -7
  117. data/lib/advanced_billing/models/change_chargeback_status_event_data.rb +18 -4
  118. data/lib/advanced_billing/models/change_invoice_collection_method_event.rb +23 -7
  119. data/lib/advanced_billing/models/change_invoice_collection_method_event_data.rb +20 -5
  120. data/lib/advanced_billing/models/change_invoice_status_event.rb +23 -7
  121. data/lib/advanced_billing/models/change_invoice_status_event_data.rb +24 -7
  122. data/lib/advanced_billing/models/chargify_ebb.rb +25 -7
  123. data/lib/advanced_billing/models/component.rb +54 -9
  124. data/lib/advanced_billing/models/component_allocation_change.rb +27 -7
  125. data/lib/advanced_billing/models/component_allocation_error_item.rb +22 -7
  126. data/lib/advanced_billing/models/component_cost_data.rb +26 -7
  127. data/lib/advanced_billing/models/component_cost_data_rate_tier.rb +24 -7
  128. data/lib/advanced_billing/models/component_currency_price.rb +24 -7
  129. data/lib/advanced_billing/models/component_currency_prices_response.rb +18 -4
  130. data/lib/advanced_billing/models/component_custom_price.rb +24 -7
  131. data/lib/advanced_billing/models/component_price.rb +26 -7
  132. data/lib/advanced_billing/models/component_price_point.rb +127 -7
  133. data/lib/advanced_billing/models/component_price_point_assignment.rb +19 -5
  134. data/lib/advanced_billing/models/component_price_point_error_item.rb +21 -6
  135. data/lib/advanced_billing/models/component_price_point_item.rb +24 -7
  136. data/lib/advanced_billing/models/component_price_point_response.rb +18 -4
  137. data/lib/advanced_billing/models/component_price_points_response.rb +19 -5
  138. data/lib/advanced_billing/models/component_response.rb +18 -4
  139. data/lib/advanced_billing/models/compounding_strategy.rb +5 -1
  140. data/lib/advanced_billing/models/consolidated_invoice.rb +18 -4
  141. data/lib/advanced_billing/models/count_response.rb +17 -4
  142. data/lib/advanced_billing/models/coupon.rb +150 -29
  143. data/lib/advanced_billing/models/coupon_currency.rb +27 -9
  144. data/lib/advanced_billing/models/coupon_currency_request.rb +18 -4
  145. data/lib/advanced_billing/models/coupon_currency_response.rb +18 -4
  146. data/lib/advanced_billing/models/coupon_payload.rb +273 -0
  147. data/lib/advanced_billing/models/{create_or_update_coupon.rb → coupon_request.rb} +26 -22
  148. data/lib/advanced_billing/models/coupon_response.rb +17 -4
  149. data/lib/advanced_billing/models/coupon_restriction.rb +22 -7
  150. data/lib/advanced_billing/models/coupon_subcodes.rb +17 -4
  151. data/lib/advanced_billing/models/coupon_subcodes_response.rb +21 -6
  152. data/lib/advanced_billing/models/coupon_usage.rb +24 -7
  153. data/lib/advanced_billing/models/create_allocation.rb +31 -7
  154. data/lib/advanced_billing/models/create_allocation_request.rb +18 -4
  155. data/lib/advanced_billing/models/create_component_price_point.rb +30 -9
  156. data/lib/advanced_billing/models/create_component_price_point_request.rb +18 -4
  157. data/lib/advanced_billing/models/create_component_price_points_request.rb +18 -4
  158. data/lib/advanced_billing/models/create_credit_note_event.rb +23 -7
  159. data/lib/advanced_billing/models/create_currency_price.rb +20 -6
  160. data/lib/advanced_billing/models/create_currency_prices_request.rb +18 -4
  161. data/lib/advanced_billing/models/create_customer.rb +33 -7
  162. data/lib/advanced_billing/models/create_customer_request.rb +18 -4
  163. data/lib/advanced_billing/models/create_debit_note_event.rb +23 -7
  164. data/lib/advanced_billing/models/create_ebb_component.rb +18 -4
  165. data/lib/advanced_billing/models/create_invoice.rb +28 -7
  166. data/lib/advanced_billing/models/create_invoice_address.rb +24 -7
  167. data/lib/advanced_billing/models/create_invoice_coupon.rb +30 -8
  168. data/lib/advanced_billing/models/create_invoice_item.rb +30 -7
  169. data/lib/advanced_billing/models/create_invoice_payment.rb +24 -7
  170. data/lib/advanced_billing/models/create_invoice_payment_application.rb +19 -5
  171. data/lib/advanced_billing/models/create_invoice_payment_request.rb +19 -5
  172. data/lib/advanced_billing/models/create_invoice_request.rb +17 -4
  173. data/lib/advanced_billing/models/create_metadata.rb +19 -5
  174. data/lib/advanced_billing/models/create_metadata_request.rb +18 -4
  175. data/lib/advanced_billing/models/create_metafield.rb +22 -7
  176. data/lib/advanced_billing/models/create_metafields_request.rb +18 -4
  177. data/lib/advanced_billing/models/create_metered_component.rb +18 -4
  178. data/lib/advanced_billing/models/create_multi_invoice_payment.rb +24 -7
  179. data/lib/advanced_billing/models/create_multi_invoice_payment_request.rb +17 -4
  180. data/lib/advanced_billing/models/create_offer.rb +25 -7
  181. data/lib/advanced_billing/models/create_offer_component.rb +22 -6
  182. data/lib/advanced_billing/models/create_offer_request.rb +17 -4
  183. data/lib/advanced_billing/models/create_on_off_component.rb +18 -4
  184. data/lib/advanced_billing/models/create_or_update_endpoint.rb +19 -5
  185. data/lib/advanced_billing/models/create_or_update_endpoint_request.rb +18 -4
  186. data/lib/advanced_billing/models/create_or_update_product.rb +36 -7
  187. data/lib/advanced_billing/models/create_or_update_product_request.rb +17 -4
  188. data/lib/advanced_billing/models/create_or_update_segment_price.rb +22 -6
  189. data/lib/advanced_billing/models/create_payment.rb +22 -7
  190. data/lib/advanced_billing/models/create_payment_profile.rb +50 -7
  191. data/lib/advanced_billing/models/create_payment_profile_request.rb +18 -4
  192. data/lib/advanced_billing/models/create_prepaid_component.rb +18 -4
  193. data/lib/advanced_billing/models/create_prepaid_usage_component_price_point.rb +38 -13
  194. data/lib/advanced_billing/models/create_prepayment.rb +23 -7
  195. data/lib/advanced_billing/models/create_prepayment_request.rb +18 -4
  196. data/lib/advanced_billing/models/create_prepayment_response.rb +18 -4
  197. data/lib/advanced_billing/models/create_product_currency_price.rb +20 -6
  198. data/lib/advanced_billing/models/create_product_currency_prices_request.rb +18 -4
  199. data/lib/advanced_billing/models/create_product_family.rb +20 -6
  200. data/lib/advanced_billing/models/create_product_family_request.rb +18 -4
  201. data/lib/advanced_billing/models/create_product_price_point.rb +35 -7
  202. data/lib/advanced_billing/models/create_product_price_point_request.rb +18 -4
  203. data/lib/advanced_billing/models/create_quantity_based_component.rb +18 -4
  204. data/lib/advanced_billing/models/create_reason_code.rb +20 -6
  205. data/lib/advanced_billing/models/create_reason_code_request.rb +18 -4
  206. data/lib/advanced_billing/models/create_segment.rb +27 -7
  207. data/lib/advanced_billing/models/create_segment_request.rb +17 -4
  208. data/lib/advanced_billing/models/create_subscription.rb +79 -8
  209. data/lib/advanced_billing/models/create_subscription_component.rb +26 -7
  210. data/lib/advanced_billing/models/create_subscription_group.rb +19 -5
  211. data/lib/advanced_billing/models/create_subscription_group_request.rb +18 -4
  212. data/lib/advanced_billing/models/create_subscription_request.rb +18 -4
  213. data/lib/advanced_billing/models/create_usage.rb +23 -7
  214. data/lib/advanced_billing/models/create_usage_request.rb +17 -4
  215. data/lib/advanced_billing/models/created_prepayment.rb +26 -7
  216. data/lib/advanced_billing/models/credit_account_balance_changed.rb +27 -7
  217. data/lib/advanced_billing/models/credit_card_attributes.rb +22 -6
  218. data/lib/advanced_billing/models/credit_card_payment_profile.rb +39 -7
  219. data/lib/advanced_billing/models/credit_note.rb +42 -7
  220. data/lib/advanced_billing/models/credit_note_application.rb +23 -7
  221. data/lib/advanced_billing/models/credit_note_line_item.rb +37 -7
  222. data/lib/advanced_billing/models/credit_scheme_request.rb +18 -4
  223. data/lib/advanced_billing/models/currency_price.rb +46 -7
  224. data/lib/advanced_billing/models/currency_prices_response.rb +18 -4
  225. data/lib/advanced_billing/models/custom_field_value_change.rb +26 -7
  226. data/lib/advanced_billing/models/customer.rb +47 -7
  227. data/lib/advanced_billing/models/customer_attributes.rb +34 -7
  228. data/lib/advanced_billing/models/customer_change.rb +23 -7
  229. data/lib/advanced_billing/models/customer_changes_preview_response.rb +17 -4
  230. data/lib/advanced_billing/models/customer_custom_fields_change.rb +19 -5
  231. data/lib/advanced_billing/models/customer_error.rb +18 -4
  232. data/lib/advanced_billing/models/customer_payer_change.rb +19 -5
  233. data/lib/advanced_billing/models/customer_response.rb +18 -4
  234. data/lib/advanced_billing/models/debit_note.rb +37 -7
  235. data/lib/advanced_billing/models/deduct_service_credit.rb +19 -5
  236. data/lib/advanced_billing/models/deduct_service_credit_request.rb +18 -4
  237. data/lib/advanced_billing/models/delayed_cancellation_response.rb +17 -4
  238. data/lib/advanced_billing/models/delete_subscription_group_response.rb +19 -5
  239. data/lib/advanced_billing/models/dunner_data.rb +25 -7
  240. data/lib/advanced_billing/models/dunning_step_data.rb +26 -7
  241. data/lib/advanced_billing/models/dunning_step_reached.rb +20 -6
  242. data/lib/advanced_billing/models/ebb_component.rb +41 -53
  243. data/lib/advanced_billing/models/ebb_event.rb +18 -4
  244. data/lib/advanced_billing/models/enable_webhooks_request.rb +18 -4
  245. data/lib/advanced_billing/models/enable_webhooks_response.rb +18 -4
  246. data/lib/advanced_billing/models/endpoint.rb +23 -7
  247. data/lib/advanced_billing/models/endpoint_response.rb +18 -4
  248. data/lib/advanced_billing/models/errors.rb +19 -5
  249. data/lib/advanced_billing/models/event.rb +89 -11
  250. data/lib/advanced_billing/models/event_based_billing_segment_error.rb +18 -4
  251. data/lib/advanced_billing/models/event_key.rb +264 -0
  252. data/lib/advanced_billing/models/event_response.rb +17 -4
  253. data/lib/advanced_billing/models/failed_payment_event.rb +23 -7
  254. data/lib/advanced_billing/models/failed_payment_event_data.rb +24 -7
  255. data/lib/advanced_billing/models/full_subscription_group_response.rb +32 -7
  256. data/lib/advanced_billing/models/get_one_time_token_payment_profile.rb +39 -7
  257. data/lib/advanced_billing/models/get_one_time_token_request.rb +18 -4
  258. data/lib/advanced_billing/models/group_billing.rb +20 -6
  259. data/lib/advanced_billing/models/group_settings.rb +19 -5
  260. data/lib/advanced_billing/models/group_target.rb +19 -5
  261. data/lib/advanced_billing/models/historic_usage.rb +22 -6
  262. data/lib/advanced_billing/models/invoice.rb +114 -13
  263. data/lib/advanced_billing/models/invoice_address.rb +22 -7
  264. data/lib/advanced_billing/models/invoice_avatax_details.rb +146 -0
  265. data/lib/advanced_billing/models/invoice_balance_item.rb +20 -6
  266. data/lib/advanced_billing/models/invoice_credit.rb +26 -7
  267. data/lib/advanced_billing/models/invoice_custom_field.rb +23 -7
  268. data/lib/advanced_billing/models/invoice_customer.rb +25 -7
  269. data/lib/advanced_billing/models/invoice_debit.rb +167 -0
  270. data/lib/advanced_billing/models/invoice_discount.rb +30 -7
  271. data/lib/advanced_billing/models/invoice_discount_breakout.rb +21 -6
  272. data/lib/advanced_billing/models/invoice_display_settings.rb +23 -7
  273. data/lib/advanced_billing/models/invoice_issued.rb +31 -7
  274. data/lib/advanced_billing/models/invoice_line_item.rb +55 -8
  275. data/lib/advanced_billing/models/invoice_line_item_component_cost_data.rb +17 -4
  276. data/lib/advanced_billing/models/invoice_line_item_event_data.rb +37 -7
  277. data/lib/advanced_billing/models/invoice_line_item_pricing_detail.rb +19 -5
  278. data/lib/advanced_billing/models/invoice_payer.rb +24 -7
  279. data/lib/advanced_billing/models/invoice_payer_change.rb +22 -7
  280. data/lib/advanced_billing/models/invoice_payment.rb +30 -7
  281. data/lib/advanced_billing/models/invoice_payment_application.rb +21 -6
  282. data/lib/advanced_billing/models/invoice_payment_method.rb +26 -7
  283. data/lib/advanced_billing/models/invoice_pre_payment.rb +22 -6
  284. data/lib/advanced_billing/models/invoice_previous_balance.rb +19 -5
  285. data/lib/advanced_billing/models/invoice_refund.rb +28 -7
  286. data/lib/advanced_billing/models/invoice_response.rb +17 -4
  287. data/lib/advanced_billing/models/invoice_seller.rb +22 -7
  288. data/lib/advanced_billing/models/invoice_status.rb +4 -1
  289. data/lib/advanced_billing/models/invoice_tax.rb +31 -7
  290. data/lib/advanced_billing/models/invoice_tax_breakout.rb +23 -7
  291. data/lib/advanced_billing/models/invoice_tax_component_breakout.rb +33 -7
  292. data/lib/advanced_billing/models/issue_advance_invoice_request.rb +17 -4
  293. data/lib/advanced_billing/models/issue_invoice_event.rb +23 -7
  294. data/lib/advanced_billing/models/issue_invoice_event_data.rb +24 -7
  295. data/lib/advanced_billing/models/issue_invoice_request.rb +18 -4
  296. data/lib/advanced_billing/models/issue_service_credit.rb +19 -5
  297. data/lib/advanced_billing/models/issue_service_credit_request.rb +18 -4
  298. data/lib/advanced_billing/models/item_price_point_changed.rb +25 -7
  299. data/lib/advanced_billing/models/item_price_point_data.rb +20 -6
  300. data/lib/advanced_billing/models/list_components_filter.rb +19 -5
  301. data/lib/advanced_billing/models/list_components_price_points_response.rb +18 -4
  302. data/lib/advanced_billing/models/list_coupons_filter.rb +26 -7
  303. data/lib/advanced_billing/models/list_credit_notes_response.rb +18 -4
  304. data/lib/advanced_billing/models/list_invoice_events_response.rb +22 -7
  305. data/lib/advanced_billing/models/list_invoices_response.rb +18 -4
  306. data/lib/advanced_billing/models/list_metafields_response.rb +24 -7
  307. data/lib/advanced_billing/models/list_mrr_filter.rb +18 -4
  308. data/lib/advanced_billing/models/list_mrr_response.rb +16 -4
  309. data/lib/advanced_billing/models/list_mrr_response_result.rb +25 -7
  310. data/lib/advanced_billing/models/list_offers_response.rb +17 -4
  311. data/lib/advanced_billing/models/list_prepayments_filter.rb +20 -6
  312. data/lib/advanced_billing/models/list_price_points_filter.rb +25 -7
  313. data/lib/advanced_billing/models/list_product_price_points_response.rb +18 -4
  314. data/lib/advanced_billing/models/list_products_filter.rb +23 -7
  315. data/lib/advanced_billing/models/list_proforma_invoices_meta.rb +23 -7
  316. data/lib/advanced_billing/models/list_proforma_invoices_response.rb +19 -5
  317. data/lib/advanced_billing/models/list_public_keys_meta.rb +23 -7
  318. data/lib/advanced_billing/models/list_public_keys_response.rb +19 -5
  319. data/lib/advanced_billing/models/list_sale_rep_item.rb +23 -7
  320. data/lib/advanced_billing/models/list_segments_filter.rb +26 -7
  321. data/lib/advanced_billing/models/list_segments_response.rb +18 -4
  322. data/lib/advanced_billing/models/list_subcription_group_prepayment_item.rb +28 -7
  323. data/lib/advanced_billing/models/list_subscription_components_filter.rb +19 -5
  324. data/lib/advanced_billing/models/list_subscription_components_for_site_filter.rb +22 -6
  325. data/lib/advanced_billing/models/list_subscription_components_response.rb +18 -4
  326. data/lib/advanced_billing/models/list_subscription_group_prepayment.rb +18 -4
  327. data/lib/advanced_billing/models/list_subscription_group_prepayment_response.rb +18 -4
  328. data/lib/advanced_billing/models/list_subscription_groups_item.rb +30 -7
  329. data/lib/advanced_billing/models/list_subscription_groups_meta.rb +19 -5
  330. data/lib/advanced_billing/models/list_subscription_groups_response.rb +19 -5
  331. data/lib/advanced_billing/models/metadata.rb +24 -7
  332. data/lib/advanced_billing/models/metafield.rb +23 -7
  333. data/lib/advanced_billing/models/metafield_scope.rb +24 -7
  334. data/lib/advanced_billing/models/metered_component.rb +49 -51
  335. data/lib/advanced_billing/models/metered_usage.rb +25 -7
  336. data/lib/advanced_billing/models/movement.rb +28 -7
  337. data/lib/advanced_billing/models/movement_line_item.rb +26 -7
  338. data/lib/advanced_billing/models/mrr.rb +25 -7
  339. data/lib/advanced_billing/models/mrr_movement.rb +23 -7
  340. data/lib/advanced_billing/models/mrr_response.rb +16 -4
  341. data/lib/advanced_billing/models/multi_invoice_payment.rb +23 -7
  342. data/lib/advanced_billing/models/multi_invoice_payment_response.rb +17 -4
  343. data/lib/advanced_billing/models/nested_subscription_group.rb +23 -7
  344. data/lib/advanced_billing/models/net_terms.rb +28 -7
  345. data/lib/advanced_billing/models/offer.rb +37 -7
  346. data/lib/advanced_billing/models/offer_discount.rb +21 -6
  347. data/lib/advanced_billing/models/offer_item.rb +29 -7
  348. data/lib/advanced_billing/models/offer_response.rb +17 -4
  349. data/lib/advanced_billing/models/offer_signup_page.rb +24 -7
  350. data/lib/advanced_billing/models/{reason_codes_json_response.rb → ok_response.rb} +19 -7
  351. data/lib/advanced_billing/models/on_off_component.rb +66 -61
  352. data/lib/advanced_billing/models/organization_address.rb +24 -7
  353. data/lib/advanced_billing/models/origin_invoice.rb +19 -5
  354. data/lib/advanced_billing/models/overage_pricing.rb +19 -5
  355. data/lib/advanced_billing/models/override_subscription.rb +26 -7
  356. data/lib/advanced_billing/models/override_subscription_request.rb +18 -4
  357. data/lib/advanced_billing/models/paginated_metadata.rb +24 -7
  358. data/lib/advanced_billing/models/paid_invoice.rb +22 -7
  359. data/lib/advanced_billing/models/pause_request.rb +17 -4
  360. data/lib/advanced_billing/models/payer_attributes.rb +31 -7
  361. data/lib/advanced_billing/models/payer_error.rb +20 -6
  362. data/lib/advanced_billing/models/payment_collection_method_changed.rb +19 -5
  363. data/lib/advanced_billing/models/payment_for_allocation.rb +22 -7
  364. data/lib/advanced_billing/models/payment_method_apple_pay.rb +17 -4
  365. data/lib/advanced_billing/models/payment_method_bank_account.rb +22 -6
  366. data/lib/advanced_billing/models/payment_method_credit_card.rb +24 -7
  367. data/lib/advanced_billing/models/payment_method_external.rb +22 -7
  368. data/lib/advanced_billing/models/payment_method_paypal.rb +19 -5
  369. data/lib/advanced_billing/models/payment_profile_attributes.rb +42 -7
  370. data/lib/advanced_billing/models/payment_profile_response.rb +18 -4
  371. data/lib/advanced_billing/models/payment_related_events.rb +19 -5
  372. data/lib/advanced_billing/models/paypal_payment_profile.rb +35 -7
  373. data/lib/advanced_billing/models/pending_cancellation_change.rb +19 -5
  374. data/lib/advanced_billing/models/portal_management_link.rb +25 -7
  375. data/lib/advanced_billing/models/prepaid_configuration.rb +27 -7
  376. data/lib/advanced_billing/models/prepaid_configuration_response.rb +18 -4
  377. data/lib/advanced_billing/models/prepaid_product_price_point_filter.rb +18 -4
  378. data/lib/advanced_billing/models/prepaid_subscription_balance_changed.rb +26 -7
  379. data/lib/advanced_billing/models/prepaid_usage.rb +32 -7
  380. data/lib/advanced_billing/models/prepaid_usage_allocation_detail.rb +21 -6
  381. data/lib/advanced_billing/models/prepaid_usage_component.rb +83 -41
  382. data/lib/advanced_billing/models/prepayment.rb +28 -7
  383. data/lib/advanced_billing/models/prepayment_account_balance_changed.rb +25 -7
  384. data/lib/advanced_billing/models/prepayment_response.rb +18 -4
  385. data/lib/advanced_billing/models/prepayments_response.rb +18 -4
  386. data/lib/advanced_billing/models/preview_allocations_request.rb +24 -7
  387. data/lib/advanced_billing/models/price.rb +22 -6
  388. data/lib/advanced_billing/models/product.rb +62 -7
  389. data/lib/advanced_billing/models/product_family.rb +24 -7
  390. data/lib/advanced_billing/models/product_family_response.rb +18 -4
  391. data/lib/advanced_billing/models/product_price_point.rb +44 -7
  392. data/lib/advanced_billing/models/product_price_point_errors.rb +24 -7
  393. data/lib/advanced_billing/models/product_price_point_response.rb +18 -4
  394. data/lib/advanced_billing/models/product_response.rb +17 -4
  395. data/lib/advanced_billing/models/proforma_error.rb +18 -4
  396. data/lib/advanced_billing/models/proforma_invoice.rb +49 -7
  397. data/lib/advanced_billing/models/proforma_invoice_credit.rb +22 -7
  398. data/lib/advanced_billing/models/proforma_invoice_discount.rb +26 -7
  399. data/lib/advanced_billing/models/proforma_invoice_issued.rb +28 -7
  400. data/lib/advanced_billing/models/proforma_invoice_payment.rb +23 -7
  401. data/lib/advanced_billing/models/proforma_invoice_tax.rb +25 -7
  402. data/lib/advanced_billing/models/proration.rb +18 -4
  403. data/lib/advanced_billing/models/public_key.rb +22 -6
  404. data/lib/advanced_billing/models/public_signup_page.rb +22 -7
  405. data/lib/advanced_billing/models/quantity_based_component.rb +51 -23
  406. data/lib/advanced_billing/models/reactivate_subscription_group_request.rb +19 -5
  407. data/lib/advanced_billing/models/reactivate_subscription_group_response.rb +28 -7
  408. data/lib/advanced_billing/models/reactivate_subscription_request.rb +26 -7
  409. data/lib/advanced_billing/models/reactivation_billing.rb +18 -4
  410. data/lib/advanced_billing/models/reason_code.rb +24 -7
  411. data/lib/advanced_billing/models/reason_code_response.rb +18 -4
  412. data/lib/advanced_billing/models/record_payment_request.rb +17 -4
  413. data/lib/advanced_billing/models/record_payment_response.rb +19 -5
  414. data/lib/advanced_billing/models/referral_code.rb +22 -7
  415. data/lib/advanced_billing/models/referral_validation_response.rb +18 -4
  416. data/lib/advanced_billing/models/refund_consolidated_invoice.rb +24 -7
  417. data/lib/advanced_billing/models/refund_invoice.rb +24 -7
  418. data/lib/advanced_billing/models/refund_invoice_event.rb +23 -7
  419. data/lib/advanced_billing/models/refund_invoice_event_data.rb +28 -7
  420. data/lib/advanced_billing/models/refund_invoice_request.rb +17 -4
  421. data/lib/advanced_billing/models/refund_prepayment.rb +22 -7
  422. data/lib/advanced_billing/models/refund_prepayment_base_refund_error.rb +17 -4
  423. data/lib/advanced_billing/models/refund_prepayment_request.rb +17 -4
  424. data/lib/advanced_billing/models/refund_success.rb +22 -6
  425. data/lib/advanced_billing/models/remove_payment_event.rb +23 -7
  426. data/lib/advanced_billing/models/remove_payment_event_data.rb +26 -7
  427. data/lib/advanced_billing/models/renewal_preview.rb +30 -7
  428. data/lib/advanced_billing/models/renewal_preview_component.rb +21 -6
  429. data/lib/advanced_billing/models/renewal_preview_line_item.rb +34 -7
  430. data/lib/advanced_billing/models/renewal_preview_request.rb +18 -4
  431. data/lib/advanced_billing/models/renewal_preview_response.rb +18 -4
  432. data/lib/advanced_billing/models/replay_webhooks_request.rb +16 -4
  433. data/lib/advanced_billing/models/replay_webhooks_response.rb +17 -4
  434. data/lib/advanced_billing/models/resent_invitation.rb +26 -7
  435. data/lib/advanced_billing/models/resume_options.rb +19 -5
  436. data/lib/advanced_billing/models/revoked_invitation.rb +22 -6
  437. data/lib/advanced_billing/models/sale_rep.rb +23 -7
  438. data/lib/advanced_billing/models/sale_rep_item_mrr.rb +20 -6
  439. data/lib/advanced_billing/models/sale_rep_settings.rb +26 -7
  440. data/lib/advanced_billing/models/sale_rep_subscription.rb +26 -7
  441. data/lib/advanced_billing/models/segment.rb +33 -7
  442. data/lib/advanced_billing/models/segment_price.rb +26 -7
  443. data/lib/advanced_billing/models/segment_response.rb +17 -4
  444. data/lib/advanced_billing/models/send_invoice_request.rb +22 -6
  445. data/lib/advanced_billing/models/service_credit.rb +24 -7
  446. data/lib/advanced_billing/models/service_credit_response.rb +18 -4
  447. data/lib/advanced_billing/models/signup_proforma_preview.rb +21 -5
  448. data/lib/advanced_billing/models/signup_proforma_preview_response.rb +18 -4
  449. data/lib/advanced_billing/models/site.rb +56 -7
  450. data/lib/advanced_billing/models/site_response.rb +17 -4
  451. data/lib/advanced_billing/models/site_statistics.rb +35 -7
  452. data/lib/advanced_billing/models/site_summary.rb +23 -7
  453. data/lib/advanced_billing/models/subscription.rb +91 -7
  454. data/lib/advanced_billing/models/subscription_component.rb +50 -7
  455. data/lib/advanced_billing/models/subscription_component_allocation_error_item.rb +19 -5
  456. data/lib/advanced_billing/models/subscription_component_response.rb +18 -4
  457. data/lib/advanced_billing/models/subscription_component_subscription.rb +19 -5
  458. data/lib/advanced_billing/models/subscription_custom_price.rb +34 -7
  459. data/lib/advanced_billing/models/subscription_filter.rb +24 -7
  460. data/lib/advanced_billing/models/subscription_group.rb +25 -7
  461. data/lib/advanced_billing/models/subscription_group_balances.rb +23 -7
  462. data/lib/advanced_billing/models/subscription_group_bank_account.rb +35 -7
  463. data/lib/advanced_billing/models/subscription_group_component_custom_price.rb +21 -6
  464. data/lib/advanced_billing/models/subscription_group_credit_card.rb +37 -7
  465. data/lib/advanced_billing/models/subscription_group_customer.rb +23 -7
  466. data/lib/advanced_billing/models/subscription_group_item.rb +30 -7
  467. data/lib/advanced_billing/models/subscription_group_members_array_error.rb +17 -4
  468. data/lib/advanced_billing/models/subscription_group_payment_profile.rb +23 -7
  469. data/lib/advanced_billing/models/subscription_group_prepayment.rb +22 -7
  470. data/lib/advanced_billing/models/subscription_group_prepayment_request.rb +18 -4
  471. data/lib/advanced_billing/models/subscription_group_prepayment_response.rb +24 -7
  472. data/lib/advanced_billing/models/subscription_group_response.rb +18 -4
  473. data/lib/advanced_billing/models/subscription_group_signup.rb +29 -7
  474. data/lib/advanced_billing/models/subscription_group_signup_component.rb +24 -7
  475. data/lib/advanced_billing/models/subscription_group_signup_error.rb +25 -7
  476. data/lib/advanced_billing/models/{subscription_group_signup_success.rb → subscription_group_signup_event_data.rb} +31 -15
  477. data/lib/advanced_billing/models/subscription_group_signup_failure_data.rb +29 -7
  478. data/lib/advanced_billing/models/subscription_group_signup_item.rb +31 -7
  479. data/lib/advanced_billing/models/subscription_group_signup_request.rb +18 -4
  480. data/lib/advanced_billing/models/subscription_group_signup_response.rb +31 -7
  481. data/lib/advanced_billing/models/subscription_group_single_error.rb +18 -4
  482. data/lib/advanced_billing/models/subscription_group_subscription_error.rb +31 -7
  483. data/lib/advanced_billing/models/subscription_group_update_error.rb +19 -15
  484. data/lib/advanced_billing/models/subscription_included_coupon.rb +25 -7
  485. data/lib/advanced_billing/models/subscription_migration_preview.rb +25 -7
  486. data/lib/advanced_billing/models/subscription_migration_preview_options.rb +30 -7
  487. data/lib/advanced_billing/models/subscription_migration_preview_request.rb +18 -4
  488. data/lib/advanced_billing/models/subscription_migration_preview_response.rb +18 -4
  489. data/lib/advanced_billing/models/subscription_mrr.rb +22 -6
  490. data/lib/advanced_billing/models/subscription_mrr_breakout.rb +20 -5
  491. data/lib/advanced_billing/models/subscription_mrr_response.rb +18 -4
  492. data/lib/advanced_billing/models/subscription_note.rb +24 -7
  493. data/lib/advanced_billing/models/subscription_note_response.rb +17 -4
  494. data/lib/advanced_billing/models/subscription_preview.rb +21 -5
  495. data/lib/advanced_billing/models/subscription_preview_response.rb +18 -4
  496. data/lib/advanced_billing/models/subscription_product_change.rb +19 -5
  497. data/lib/advanced_billing/models/subscription_product_migration.rb +30 -7
  498. data/lib/advanced_billing/models/subscription_product_migration_request.rb +18 -4
  499. data/lib/advanced_billing/models/subscription_response.rb +18 -4
  500. data/lib/advanced_billing/models/subscription_state_change.rb +21 -5
  501. data/lib/advanced_billing/models/tax_configuration.rb +22 -6
  502. data/lib/advanced_billing/models/too_many_management_link_requests.rb +19 -5
  503. data/lib/advanced_billing/models/update_allocation_expiration_date.rb +18 -4
  504. data/lib/advanced_billing/models/update_component.rb +27 -7
  505. data/lib/advanced_billing/models/update_component_price_point.rb +26 -7
  506. data/lib/advanced_billing/models/update_component_price_point_request.rb +18 -4
  507. data/lib/advanced_billing/models/update_component_request.rb +18 -4
  508. data/lib/advanced_billing/models/update_coupon_currency.rb +19 -5
  509. data/lib/advanced_billing/models/update_currency_price.rb +20 -6
  510. data/lib/advanced_billing/models/update_currency_prices_request.rb +18 -4
  511. data/lib/advanced_billing/models/update_customer.rb +33 -7
  512. data/lib/advanced_billing/models/update_customer_request.rb +18 -4
  513. data/lib/advanced_billing/models/update_metadata.rb +20 -6
  514. data/lib/advanced_billing/models/update_metadata_request.rb +18 -4
  515. data/lib/advanced_billing/models/update_metafield.rb +23 -7
  516. data/lib/advanced_billing/models/update_metafields_request.rb +18 -4
  517. data/lib/advanced_billing/models/update_payment_profile.rb +30 -7
  518. data/lib/advanced_billing/models/update_payment_profile_request.rb +18 -4
  519. data/lib/advanced_billing/models/update_price.rb +23 -7
  520. data/lib/advanced_billing/models/update_product_price_point.rb +19 -5
  521. data/lib/advanced_billing/models/update_product_price_point_request.rb +18 -4
  522. data/lib/advanced_billing/models/update_reason_code.rb +20 -6
  523. data/lib/advanced_billing/models/update_reason_code_request.rb +18 -4
  524. data/lib/advanced_billing/models/update_segment.rb +19 -5
  525. data/lib/advanced_billing/models/update_segment_request.rb +17 -4
  526. data/lib/advanced_billing/models/update_subscription.rb +45 -8
  527. data/lib/advanced_billing/models/update_subscription_component.rb +19 -5
  528. data/lib/advanced_billing/models/update_subscription_group.rb +18 -4
  529. data/lib/advanced_billing/models/update_subscription_group_request.rb +18 -4
  530. data/lib/advanced_billing/models/update_subscription_note.rb +19 -5
  531. data/lib/advanced_billing/models/update_subscription_note_request.rb +17 -4
  532. data/lib/advanced_billing/models/update_subscription_request.rb +18 -4
  533. data/lib/advanced_billing/models/upsert_prepaid_configuration.rb +27 -7
  534. data/lib/advanced_billing/models/upsert_prepaid_configuration_request.rb +18 -4
  535. data/lib/advanced_billing/models/usage.rb +26 -7
  536. data/lib/advanced_billing/models/usage_response.rb +17 -4
  537. data/lib/advanced_billing/models/void_invoice.rb +17 -4
  538. data/lib/advanced_billing/models/void_invoice_event.rb +23 -7
  539. data/lib/advanced_billing/models/void_invoice_event_data.rb +25 -7
  540. data/lib/advanced_billing/models/void_invoice_request.rb +17 -4
  541. data/lib/advanced_billing/models/void_remainder_event.rb +23 -7
  542. data/lib/advanced_billing/models/void_remainder_event_data.rb +23 -7
  543. data/lib/advanced_billing/models/webhook.rb +29 -7
  544. data/lib/advanced_billing/models/webhook_response.rb +17 -4
  545. data/lib/advanced_billing/utilities/file_wrapper.rb +14 -2
  546. data/lib/advanced_billing/utilities/union_type_lookup.rb +12 -33
  547. data/lib/advanced_billing.rb +9 -11
  548. metadata +12 -14
  549. data/lib/advanced_billing/models/create_or_update_flat_amount_coupon.rb +0 -249
  550. data/lib/advanced_billing/models/create_or_update_percentage_coupon.rb +0 -250
  551. data/lib/advanced_billing/models/event_type.rb +0 -121
  552. data/lib/advanced_billing/models/prepaid_component_price_point.rb +0 -123
  553. data/lib/advanced_billing/models/subscription_group_member_error.rb +0 -78
  554. data/lib/advanced_billing/models/subscription_group_signup_failure.rb +0 -93
  555. data/lib/advanced_billing/models/subscription_group_signup_success_data.rb +0 -185
@@ -0,0 +1,273 @@
1
+ # advanced_billing
2
+ #
3
+ # This file was automatically generated by APIMATIC v2.0
4
+ # ( https://apimatic.io ).
5
+
6
+ module AdvancedBilling
7
+ # CouponPayload Model.
8
+ class CouponPayload < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Required when creating a new coupon. This name is not displayed to
13
+ # customers and is limited to 255 characters.
14
+ # @return [String]
15
+ attr_accessor :name
16
+
17
+ # Required when creating a new coupon. The code is limited to 255
18
+ # characters. May contain uppercase alphanumeric characters and these
19
+ # special characters (which allow for email addresses to be used): “%”, “@”,
20
+ # “+”, “-”, “_”, and “.”
21
+ # @return [String]
22
+ attr_accessor :code
23
+
24
+ # Required when creating a new coupon. A description of the coupon that can
25
+ # be displayed to customers in transactions and on statements. The
26
+ # description is limited to 255 characters.
27
+ # @return [String]
28
+ attr_accessor :description
29
+
30
+ # Required when creating a new percentage coupon. Can't be used together
31
+ # with amount_in_cents. Percentage discount
32
+ # @return [Object]
33
+ attr_accessor :percentage
34
+
35
+ # Required when creating a new flat amount coupon. Can't be used together
36
+ # with percentage. Flat USD discount
37
+ # @return [Integer]
38
+ attr_accessor :amount_in_cents
39
+
40
+ # If set to true, discount is not limited (credits will carry forward to
41
+ # next billing). Can't be used together with restrictions.
42
+ # @return [TrueClass | FalseClass]
43
+ attr_accessor :allow_negative_balance
44
+
45
+ # If set to true, discount is not limited (credits will carry forward to
46
+ # next billing). Can't be used together with restrictions.
47
+ # @return [TrueClass | FalseClass]
48
+ attr_accessor :recurring
49
+
50
+ # After the end of the given day, this coupon code will be invalid for new
51
+ # signups. Recurring discounts started before this date will continue to
52
+ # recur even after this date.
53
+ # @return [Date]
54
+ attr_accessor :end_date
55
+
56
+ # After the end of the given day, this coupon code will be invalid for new
57
+ # signups. Recurring discounts started before this date will continue to
58
+ # recur even after this date.
59
+ # @return [String]
60
+ attr_accessor :product_family_id
61
+
62
+ # A stackable coupon can be combined with other coupons on a Subscription.
63
+ # @return [TrueClass | FalseClass]
64
+ attr_accessor :stackable
65
+
66
+ # Applicable only to stackable coupons. For `compound`, Percentage-based
67
+ # discounts will be calculated against the remaining price, after prior
68
+ # discounts have been calculated. For `full-price`, Percentage-based
69
+ # discounts will always be calculated against the original item price,
70
+ # before other discounts are applied.
71
+ # @return [CompoundingStrategy]
72
+ attr_accessor :compounding_strategy
73
+
74
+ # Applicable only to stackable coupons. For `compound`, Percentage-based
75
+ # discounts will be calculated against the remaining price, after prior
76
+ # discounts have been calculated. For `full-price`, Percentage-based
77
+ # discounts will always be calculated against the original item price,
78
+ # before other discounts are applied.
79
+ # @return [TrueClass | FalseClass]
80
+ attr_accessor :exclude_mid_period_allocations
81
+
82
+ # Applicable only to stackable coupons. For `compound`, Percentage-based
83
+ # discounts will be calculated against the remaining price, after prior
84
+ # discounts have been calculated. For `full-price`, Percentage-based
85
+ # discounts will always be calculated against the original item price,
86
+ # before other discounts are applied.
87
+ # @return [TrueClass | FalseClass]
88
+ attr_accessor :apply_on_cancel_at_end_of_period
89
+
90
+ # Applicable only to stackable coupons. For `compound`, Percentage-based
91
+ # discounts will be calculated against the remaining price, after prior
92
+ # discounts have been calculated. For `full-price`, Percentage-based
93
+ # discounts will always be calculated against the original item price,
94
+ # before other discounts are applied.
95
+ # @return [TrueClass | FalseClass]
96
+ attr_accessor :apply_on_subscription_expiration
97
+
98
+ # A mapping from model property names to API property names.
99
+ def self.names
100
+ @_hash = {} if @_hash.nil?
101
+ @_hash['name'] = 'name'
102
+ @_hash['code'] = 'code'
103
+ @_hash['description'] = 'description'
104
+ @_hash['percentage'] = 'percentage'
105
+ @_hash['amount_in_cents'] = 'amount_in_cents'
106
+ @_hash['allow_negative_balance'] = 'allow_negative_balance'
107
+ @_hash['recurring'] = 'recurring'
108
+ @_hash['end_date'] = 'end_date'
109
+ @_hash['product_family_id'] = 'product_family_id'
110
+ @_hash['stackable'] = 'stackable'
111
+ @_hash['compounding_strategy'] = 'compounding_strategy'
112
+ @_hash['exclude_mid_period_allocations'] =
113
+ 'exclude_mid_period_allocations'
114
+ @_hash['apply_on_cancel_at_end_of_period'] =
115
+ 'apply_on_cancel_at_end_of_period'
116
+ @_hash['apply_on_subscription_expiration'] =
117
+ 'apply_on_subscription_expiration'
118
+ @_hash
119
+ end
120
+
121
+ # An array for optional fields
122
+ def self.optionals
123
+ %w[
124
+ name
125
+ code
126
+ description
127
+ percentage
128
+ amount_in_cents
129
+ allow_negative_balance
130
+ recurring
131
+ end_date
132
+ product_family_id
133
+ stackable
134
+ compounding_strategy
135
+ exclude_mid_period_allocations
136
+ apply_on_cancel_at_end_of_period
137
+ apply_on_subscription_expiration
138
+ ]
139
+ end
140
+
141
+ # An array for nullable fields
142
+ def self.nullables
143
+ []
144
+ end
145
+
146
+ def initialize(name: SKIP, code: SKIP, description: SKIP, percentage: SKIP,
147
+ amount_in_cents: SKIP, allow_negative_balance: SKIP,
148
+ recurring: SKIP, end_date: SKIP, product_family_id: SKIP,
149
+ stackable: SKIP, compounding_strategy: SKIP,
150
+ exclude_mid_period_allocations: SKIP,
151
+ apply_on_cancel_at_end_of_period: SKIP,
152
+ apply_on_subscription_expiration: SKIP,
153
+ additional_properties: {})
154
+ # Add additional model properties to the instance.
155
+ additional_properties.each do |_name, _value|
156
+ instance_variable_set("@#{_name}", _value)
157
+ end
158
+
159
+ @name = name unless name == SKIP
160
+ @code = code unless code == SKIP
161
+ @description = description unless description == SKIP
162
+ @percentage = percentage unless percentage == SKIP
163
+ @amount_in_cents = amount_in_cents unless amount_in_cents == SKIP
164
+ @allow_negative_balance = allow_negative_balance unless allow_negative_balance == SKIP
165
+ @recurring = recurring unless recurring == SKIP
166
+ @end_date = end_date unless end_date == SKIP
167
+ @product_family_id = product_family_id unless product_family_id == SKIP
168
+ @stackable = stackable unless stackable == SKIP
169
+ @compounding_strategy = compounding_strategy unless compounding_strategy == SKIP
170
+ unless exclude_mid_period_allocations == SKIP
171
+ @exclude_mid_period_allocations =
172
+ exclude_mid_period_allocations
173
+ end
174
+ unless apply_on_cancel_at_end_of_period == SKIP
175
+ @apply_on_cancel_at_end_of_period =
176
+ apply_on_cancel_at_end_of_period
177
+ end
178
+ unless apply_on_subscription_expiration == SKIP
179
+ @apply_on_subscription_expiration =
180
+ apply_on_subscription_expiration
181
+ end
182
+ end
183
+
184
+ # Creates an instance of the object from a hash.
185
+ def self.from_hash(hash)
186
+ return nil unless hash
187
+
188
+ # Extract variables from the hash.
189
+ name = hash.key?('name') ? hash['name'] : SKIP
190
+ code = hash.key?('code') ? hash['code'] : SKIP
191
+ description = hash.key?('description') ? hash['description'] : SKIP
192
+ percentage = hash.key?('percentage') ? APIHelper.deserialize_union_type(
193
+ UnionTypeLookUp.get(:CouponPayloadPercentage), hash['percentage']
194
+ ) : SKIP
195
+ amount_in_cents =
196
+ hash.key?('amount_in_cents') ? hash['amount_in_cents'] : SKIP
197
+ allow_negative_balance =
198
+ hash.key?('allow_negative_balance') ? hash['allow_negative_balance'] : SKIP
199
+ recurring = hash.key?('recurring') ? hash['recurring'] : SKIP
200
+ end_date = hash.key?('end_date') ? hash['end_date'] : SKIP
201
+ product_family_id =
202
+ hash.key?('product_family_id') ? hash['product_family_id'] : SKIP
203
+ stackable = hash.key?('stackable') ? hash['stackable'] : SKIP
204
+ compounding_strategy =
205
+ hash.key?('compounding_strategy') ? hash['compounding_strategy'] : SKIP
206
+ exclude_mid_period_allocations =
207
+ hash.key?('exclude_mid_period_allocations') ? hash['exclude_mid_period_allocations'] : SKIP
208
+ apply_on_cancel_at_end_of_period =
209
+ hash.key?('apply_on_cancel_at_end_of_period') ? hash['apply_on_cancel_at_end_of_period'] : SKIP
210
+ apply_on_subscription_expiration =
211
+ hash.key?('apply_on_subscription_expiration') ? hash['apply_on_subscription_expiration'] : SKIP
212
+
213
+ # Clean out expected properties from Hash.
214
+ additional_properties = hash.reject { |k, _| names.value?(k) }
215
+
216
+ # Create object from extracted values.
217
+ CouponPayload.new(name: name,
218
+ code: code,
219
+ description: description,
220
+ percentage: percentage,
221
+ amount_in_cents: amount_in_cents,
222
+ allow_negative_balance: allow_negative_balance,
223
+ recurring: recurring,
224
+ end_date: end_date,
225
+ product_family_id: product_family_id,
226
+ stackable: stackable,
227
+ compounding_strategy: compounding_strategy,
228
+ exclude_mid_period_allocations: exclude_mid_period_allocations,
229
+ apply_on_cancel_at_end_of_period: apply_on_cancel_at_end_of_period,
230
+ apply_on_subscription_expiration: apply_on_subscription_expiration,
231
+ additional_properties: additional_properties)
232
+ end
233
+
234
+ # Validates an instance of the object from a given value.
235
+ # @param [CouponPayload | Hash] The value against the validation is performed.
236
+ def self.validate(value)
237
+ return true if value.instance_of? self
238
+
239
+ return false unless value.instance_of? Hash
240
+
241
+ true
242
+ end
243
+
244
+ # Provides a human-readable string representation of the object.
245
+ def to_s
246
+ class_name = self.class.name.split('::').last
247
+ "<#{class_name} name: #{@name}, code: #{@code}, description: #{@description}, percentage:"\
248
+ " #{@percentage}, amount_in_cents: #{@amount_in_cents}, allow_negative_balance:"\
249
+ " #{@allow_negative_balance}, recurring: #{@recurring}, end_date: #{@end_date},"\
250
+ " product_family_id: #{@product_family_id}, stackable: #{@stackable}, compounding_strategy:"\
251
+ " #{@compounding_strategy}, exclude_mid_period_allocations:"\
252
+ " #{@exclude_mid_period_allocations}, apply_on_cancel_at_end_of_period:"\
253
+ " #{@apply_on_cancel_at_end_of_period}, apply_on_subscription_expiration:"\
254
+ " #{@apply_on_subscription_expiration}, additional_properties:"\
255
+ " #{get_additional_properties}>"
256
+ end
257
+
258
+ # Provides a debugging-friendly string with detailed object information.
259
+ def inspect
260
+ class_name = self.class.name.split('::').last
261
+ "<#{class_name} name: #{@name.inspect}, code: #{@code.inspect}, description:"\
262
+ " #{@description.inspect}, percentage: #{@percentage.inspect}, amount_in_cents:"\
263
+ " #{@amount_in_cents.inspect}, allow_negative_balance: #{@allow_negative_balance.inspect},"\
264
+ " recurring: #{@recurring.inspect}, end_date: #{@end_date.inspect}, product_family_id:"\
265
+ " #{@product_family_id.inspect}, stackable: #{@stackable.inspect}, compounding_strategy:"\
266
+ " #{@compounding_strategy.inspect}, exclude_mid_period_allocations:"\
267
+ " #{@exclude_mid_period_allocations.inspect}, apply_on_cancel_at_end_of_period:"\
268
+ " #{@apply_on_cancel_at_end_of_period.inspect}, apply_on_subscription_expiration:"\
269
+ " #{@apply_on_subscription_expiration.inspect}, additional_properties:"\
270
+ " #{get_additional_properties}>"
271
+ end
272
+ end
273
+ end
@@ -4,13 +4,13 @@
4
4
  # ( https://apimatic.io ).
5
5
 
6
6
  module AdvancedBilling
7
- # CreateOrUpdateCoupon Model.
8
- class CreateOrUpdateCoupon < BaseModel
7
+ # CouponRequest Model.
8
+ class CouponRequest < BaseModel
9
9
  SKIP = Object.new
10
10
  private_constant :SKIP
11
11
 
12
12
  # TODO: Write general description for this method
13
- # @return [Object]
13
+ # @return [CouponPayload]
14
14
  attr_accessor :coupon
15
15
 
16
16
  # An object where the keys are product_ids and the values are booleans
@@ -48,14 +48,14 @@ module AdvancedBilling
48
48
 
49
49
  def initialize(coupon: SKIP, restricted_products: SKIP,
50
50
  restricted_components: SKIP, additional_properties: {})
51
- @coupon = coupon unless coupon == SKIP
52
- @restricted_products = restricted_products unless restricted_products == SKIP
53
- @restricted_components = restricted_components unless restricted_components == SKIP
54
-
55
51
  # Add additional model properties to the instance.
56
52
  additional_properties.each do |_name, _value|
57
53
  instance_variable_set("@#{_name}", _value)
58
54
  end
55
+
56
+ @coupon = coupon unless coupon == SKIP
57
+ @restricted_products = restricted_products unless restricted_products == SKIP
58
+ @restricted_components = restricted_components unless restricted_components == SKIP
59
59
  end
60
60
 
61
61
  # Creates an instance of the object from a hash.
@@ -63,32 +63,36 @@ module AdvancedBilling
63
63
  return nil unless hash
64
64
 
65
65
  # Extract variables from the hash.
66
- coupon = hash.key?('coupon') ? APIHelper.deserialize_union_type(
67
- UnionTypeLookUp.get(:CreateOrUpdateCouponCoupon), hash['coupon']
68
- ) : SKIP
66
+ coupon = CouponPayload.from_hash(hash['coupon']) if hash['coupon']
69
67
  restricted_products =
70
68
  hash.key?('restricted_products') ? hash['restricted_products'] : SKIP
71
69
  restricted_components =
72
70
  hash.key?('restricted_components') ? hash['restricted_components'] : SKIP
73
71
 
74
72
  # Clean out expected properties from Hash.
75
- names.each_value { |k| hash.delete(k) }
73
+ additional_properties = hash.reject { |k, _| names.value?(k) }
76
74
 
77
75
  # Create object from extracted values.
78
- CreateOrUpdateCoupon.new(coupon: coupon,
79
- restricted_products: restricted_products,
80
- restricted_components: restricted_components,
81
- additional_properties: hash)
76
+ CouponRequest.new(coupon: coupon,
77
+ restricted_products: restricted_products,
78
+ restricted_components: restricted_components,
79
+ additional_properties: additional_properties)
82
80
  end
83
81
 
84
- # Validates an instance of the object from a given value.
85
- # @param [CreateOrUpdateCoupon | Hash] The value against the validation is performed.
86
- def self.validate(value)
87
- return true if value.instance_of? self
88
-
89
- return false unless value.instance_of? Hash
82
+ # Provides a human-readable string representation of the object.
83
+ def to_s
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} coupon: #{@coupon}, restricted_products: #{@restricted_products},"\
86
+ " restricted_components: #{@restricted_components}, additional_properties:"\
87
+ " #{get_additional_properties}>"
88
+ end
90
89
 
91
- true
90
+ # Provides a debugging-friendly string with detailed object information.
91
+ def inspect
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} coupon: #{@coupon.inspect}, restricted_products:"\
94
+ " #{@restricted_products.inspect}, restricted_components: #{@restricted_components.inspect},"\
95
+ " additional_properties: #{get_additional_properties}>"
92
96
  end
93
97
  end
94
98
  end
@@ -33,12 +33,12 @@ module AdvancedBilling
33
33
  end
34
34
 
35
35
  def initialize(coupon: SKIP, additional_properties: {})
36
- @coupon = coupon unless coupon == SKIP
37
-
38
36
  # Add additional model properties to the instance.
39
37
  additional_properties.each do |_name, _value|
40
38
  instance_variable_set("@#{_name}", _value)
41
39
  end
40
+
41
+ @coupon = coupon unless coupon == SKIP
42
42
  end
43
43
 
44
44
  # Creates an instance of the object from a hash.
@@ -49,11 +49,24 @@ module AdvancedBilling
49
49
  coupon = Coupon.from_hash(hash['coupon']) if hash['coupon']
50
50
 
51
51
  # Clean out expected properties from Hash.
52
- names.each_value { |k| hash.delete(k) }
52
+ additional_properties = hash.reject { |k, _| names.value?(k) }
53
53
 
54
54
  # Create object from extracted values.
55
55
  CouponResponse.new(coupon: coupon,
56
- additional_properties: hash)
56
+ additional_properties: additional_properties)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} coupon: #{@coupon}, additional_properties: #{get_additional_properties}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} coupon: #{@coupon.inspect}, additional_properties:"\
69
+ " #{get_additional_properties}>"
57
70
  end
58
71
  end
59
72
  end
@@ -60,16 +60,16 @@ module AdvancedBilling
60
60
 
61
61
  def initialize(id: SKIP, item_type: SKIP, item_id: SKIP, name: SKIP,
62
62
  handle: SKIP, additional_properties: {})
63
+ # Add additional model properties to the instance.
64
+ additional_properties.each do |_name, _value|
65
+ instance_variable_set("@#{_name}", _value)
66
+ end
67
+
63
68
  @id = id unless id == SKIP
64
69
  @item_type = item_type unless item_type == SKIP
65
70
  @item_id = item_id unless item_id == SKIP
66
71
  @name = name unless name == SKIP
67
72
  @handle = handle unless handle == SKIP
68
-
69
- # Add additional model properties to the instance.
70
- additional_properties.each do |_name, _value|
71
- instance_variable_set("@#{_name}", _value)
72
- end
73
73
  end
74
74
 
75
75
  # Creates an instance of the object from a hash.
@@ -84,7 +84,7 @@ module AdvancedBilling
84
84
  handle = hash.key?('handle') ? hash['handle'] : SKIP
85
85
 
86
86
  # Clean out expected properties from Hash.
87
- names.each_value { |k| hash.delete(k) }
87
+ additional_properties = hash.reject { |k, _| names.value?(k) }
88
88
 
89
89
  # Create object from extracted values.
90
90
  CouponRestriction.new(id: id,
@@ -92,7 +92,22 @@ module AdvancedBilling
92
92
  item_id: item_id,
93
93
  name: name,
94
94
  handle: handle,
95
- additional_properties: hash)
95
+ additional_properties: additional_properties)
96
+ end
97
+
98
+ # Provides a human-readable string representation of the object.
99
+ def to_s
100
+ class_name = self.class.name.split('::').last
101
+ "<#{class_name} id: #{@id}, item_type: #{@item_type}, item_id: #{@item_id}, name: #{@name},"\
102
+ " handle: #{@handle}, additional_properties: #{get_additional_properties}>"
103
+ end
104
+
105
+ # Provides a debugging-friendly string with detailed object information.
106
+ def inspect
107
+ class_name = self.class.name.split('::').last
108
+ "<#{class_name} id: #{@id.inspect}, item_type: #{@item_type.inspect}, item_id:"\
109
+ " #{@item_id.inspect}, name: #{@name.inspect}, handle: #{@handle.inspect},"\
110
+ " additional_properties: #{get_additional_properties}>"
96
111
  end
97
112
  end
98
113
  end
@@ -33,12 +33,12 @@ module AdvancedBilling
33
33
  end
34
34
 
35
35
  def initialize(codes: SKIP, additional_properties: {})
36
- @codes = codes unless codes == SKIP
37
-
38
36
  # Add additional model properties to the instance.
39
37
  additional_properties.each do |_name, _value|
40
38
  instance_variable_set("@#{_name}", _value)
41
39
  end
40
+
41
+ @codes = codes unless codes == SKIP
42
42
  end
43
43
 
44
44
  # Creates an instance of the object from a hash.
@@ -49,11 +49,24 @@ module AdvancedBilling
49
49
  codes = hash.key?('codes') ? hash['codes'] : SKIP
50
50
 
51
51
  # Clean out expected properties from Hash.
52
- names.each_value { |k| hash.delete(k) }
52
+ additional_properties = hash.reject { |k, _| names.value?(k) }
53
53
 
54
54
  # Create object from extracted values.
55
55
  CouponSubcodes.new(codes: codes,
56
- additional_properties: hash)
56
+ additional_properties: additional_properties)
57
+ end
58
+
59
+ # Provides a human-readable string representation of the object.
60
+ def to_s
61
+ class_name = self.class.name.split('::').last
62
+ "<#{class_name} codes: #{@codes}, additional_properties: #{get_additional_properties}>"
63
+ end
64
+
65
+ # Provides a debugging-friendly string with detailed object information.
66
+ def inspect
67
+ class_name = self.class.name.split('::').last
68
+ "<#{class_name} codes: #{@codes.inspect}, additional_properties:"\
69
+ " #{get_additional_properties}>"
57
70
  end
58
71
  end
59
72
  end
@@ -46,14 +46,14 @@ module AdvancedBilling
46
46
 
47
47
  def initialize(created_codes: SKIP, duplicate_codes: SKIP,
48
48
  invalid_codes: SKIP, additional_properties: {})
49
- @created_codes = created_codes unless created_codes == SKIP
50
- @duplicate_codes = duplicate_codes unless duplicate_codes == SKIP
51
- @invalid_codes = invalid_codes unless invalid_codes == SKIP
52
-
53
49
  # Add additional model properties to the instance.
54
50
  additional_properties.each do |_name, _value|
55
51
  instance_variable_set("@#{_name}", _value)
56
52
  end
53
+
54
+ @created_codes = created_codes unless created_codes == SKIP
55
+ @duplicate_codes = duplicate_codes unless duplicate_codes == SKIP
56
+ @invalid_codes = invalid_codes unless invalid_codes == SKIP
57
57
  end
58
58
 
59
59
  # Creates an instance of the object from a hash.
@@ -67,13 +67,28 @@ module AdvancedBilling
67
67
  invalid_codes = hash.key?('invalid_codes') ? hash['invalid_codes'] : SKIP
68
68
 
69
69
  # Clean out expected properties from Hash.
70
- names.each_value { |k| hash.delete(k) }
70
+ additional_properties = hash.reject { |k, _| names.value?(k) }
71
71
 
72
72
  # Create object from extracted values.
73
73
  CouponSubcodesResponse.new(created_codes: created_codes,
74
74
  duplicate_codes: duplicate_codes,
75
75
  invalid_codes: invalid_codes,
76
- additional_properties: hash)
76
+ additional_properties: additional_properties)
77
+ end
78
+
79
+ # Provides a human-readable string representation of the object.
80
+ def to_s
81
+ class_name = self.class.name.split('::').last
82
+ "<#{class_name} created_codes: #{@created_codes}, duplicate_codes: #{@duplicate_codes},"\
83
+ " invalid_codes: #{@invalid_codes}, additional_properties: #{get_additional_properties}>"
84
+ end
85
+
86
+ # Provides a debugging-friendly string with detailed object information.
87
+ def inspect
88
+ class_name = self.class.name.split('::').last
89
+ "<#{class_name} created_codes: #{@created_codes.inspect}, duplicate_codes:"\
90
+ " #{@duplicate_codes.inspect}, invalid_codes: #{@invalid_codes.inspect},"\
91
+ " additional_properties: #{get_additional_properties}>"
77
92
  end
78
93
  end
79
94
  end
@@ -77,6 +77,11 @@ module AdvancedBilling
77
77
  def initialize(id: SKIP, name: SKIP, signups: SKIP, savings: SKIP,
78
78
  savings_in_cents: SKIP, revenue: SKIP,
79
79
  revenue_in_cents: SKIP, additional_properties: {})
80
+ # Add additional model properties to the instance.
81
+ additional_properties.each do |_name, _value|
82
+ instance_variable_set("@#{_name}", _value)
83
+ end
84
+
80
85
  @id = id unless id == SKIP
81
86
  @name = name unless name == SKIP
82
87
  @signups = signups unless signups == SKIP
@@ -84,11 +89,6 @@ module AdvancedBilling
84
89
  @savings_in_cents = savings_in_cents unless savings_in_cents == SKIP
85
90
  @revenue = revenue unless revenue == SKIP
86
91
  @revenue_in_cents = revenue_in_cents unless revenue_in_cents == SKIP
87
-
88
- # Add additional model properties to the instance.
89
- additional_properties.each do |_name, _value|
90
- instance_variable_set("@#{_name}", _value)
91
- end
92
92
  end
93
93
 
94
94
  # Creates an instance of the object from a hash.
@@ -107,7 +107,7 @@ module AdvancedBilling
107
107
  hash.key?('revenue_in_cents') ? hash['revenue_in_cents'] : SKIP
108
108
 
109
109
  # Clean out expected properties from Hash.
110
- names.each_value { |k| hash.delete(k) }
110
+ additional_properties = hash.reject { |k, _| names.value?(k) }
111
111
 
112
112
  # Create object from extracted values.
113
113
  CouponUsage.new(id: id,
@@ -117,7 +117,24 @@ module AdvancedBilling
117
117
  savings_in_cents: savings_in_cents,
118
118
  revenue: revenue,
119
119
  revenue_in_cents: revenue_in_cents,
120
- additional_properties: hash)
120
+ additional_properties: additional_properties)
121
+ end
122
+
123
+ # Provides a human-readable string representation of the object.
124
+ def to_s
125
+ class_name = self.class.name.split('::').last
126
+ "<#{class_name} id: #{@id}, name: #{@name}, signups: #{@signups}, savings: #{@savings},"\
127
+ " savings_in_cents: #{@savings_in_cents}, revenue: #{@revenue}, revenue_in_cents:"\
128
+ " #{@revenue_in_cents}, additional_properties: #{get_additional_properties}>"
129
+ end
130
+
131
+ # Provides a debugging-friendly string with detailed object information.
132
+ def inspect
133
+ class_name = self.class.name.split('::').last
134
+ "<#{class_name} id: #{@id.inspect}, name: #{@name.inspect}, signups: #{@signups.inspect},"\
135
+ " savings: #{@savings.inspect}, savings_in_cents: #{@savings_in_cents.inspect}, revenue:"\
136
+ " #{@revenue.inspect}, revenue_in_cents: #{@revenue_in_cents.inspect},"\
137
+ " additional_properties: #{get_additional_properties}>"
121
138
  end
122
139
  end
123
140
  end