Skip to content

Commit 92d48f2

Browse files
authored
Merge pull request killbill#618 from killbill/aviate-coupons
aviate coupons doc
2 parents 84bb081 + db1bd4f commit 92d48f2

2 files changed

Lines changed: 65 additions & 0 deletions

File tree

html5/_main_toc.html.slim

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,9 @@ nav.sidebar-nav
368368
li.bd-sidenav-active
369369
a.nav-link href="/latest/aviate-wallet.html"
370370
| Wallet
371+
li.bd-sidenav-active
372+
a.nav-link href="/latest/aviate-coupons.html"
373+
| Coupons
371374
li.bd-sidenav-active
372375
a.nav-link href="/latest/aviate-usage-ai-tutorial.html"
373376
| Usage Tutorial (AI use case)
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
= Aviate Coupons
2+
3+
include::{sourcedir}/aviate/includes/aviate-card.adoc[]
4+
5+
== Introduction
6+
7+
The Aviate plugin enables the management of Coupons, i.e. reusable discounts that can be applied to subscriptions using a redemption code. A coupon can be redeemed by customers when creating or updating a subscription (for example, during an upgrade).
8+
9+
Coupons provide flexibility to offer fixed-amount or percentage-based discounts and can be scoped to specific plans. They are designed to improve customer acquisition, incentivize upgrades, or manage targeted promotions.
10+
11+
Each coupon includes configurable attributes to control its behavior, such as reusability, discount type, and optional expiration.
12+
13+
== Coupon Attributes
14+
15+
A coupon in Aviate consists of the following attributes:
16+
17+
* `Redemption code`: A unique code that customers can use to apply the discount.
18+
* `Reusability`: Whether the coupon can be applied multiple times by the same customer.
19+
* `Discount type`: The discount calculation method:
20+
** `Fixed`: Applies a fixed monetary amount.
21+
** `Percentage`: Applies a percentage-based discount.
22+
* `Discount price`: Amount and currency (valid when `Discount type = Fixed`).
23+
* `Discount percentage`: Percentage value (valid when `Discount type = Percentage`).
24+
* `Expiration date`: Optional date after which the coupon can no longer be redeemed.
25+
* `Plan list`: Optional list of plans for which the coupon is applicable.
26+
27+
== Getting Started with Aviate Coupons
28+
29+
This section provides a step-by-step guide to enable and use the Aviate Coupon functionality.
30+
31+
=== Installing the Plugin
32+
33+
Install the Aviate plugin as described in the https://docs.killbill.io/latest/how-to-install-the-aviate-plugin.html[How to Install the Aviate Plugin] guide.
34+
35+
=== Enabling Aviate Coupons
36+
37+
To enable coupon functionality in the Aviate plugin, start Kill Bill with the following system property:
38+
39+
[source,bash]
40+
----
41+
com.killbill.billing.plugin.aviate.enableCouponsApis=true
42+
----
43+
44+
For details on setting configuration properties, refer to the https://docs.killbill.io/latest/userguide_configuration.html[Kill Bill Configuration Guide].
45+
46+
=== Using Coupon APIs
47+
48+
Once the plugin is installed and coupon support is enabled, you can interact with the Aviate Coupons using its API. The API allows you to:
49+
50+
* Create and manage coupons.
51+
* Define attributes such as redemption code, discount type, and expiration.
52+
* Redeem coupons during subscription creation or updates.
53+
54+
Full API documentation is available at:
55+
https://apidocs.killbill.io/aviate-coupons[our API documentation].
56+
57+
== Using the Coupon Functionality
58+
59+
1. Create a coupon specifying its attributes, including the redemption code, discount type (fixed or percentage), amount or percentage, and optional expiration date.
60+
2. Optionally, restrict the coupon to specific plans using the `Plan list` attribute.
61+
3. Provide the redemption code to customers, who can apply it when creating or updating subscriptions.
62+
4. Monitor coupon usage via the API to track redemption patterns and performance.

0 commit comments

Comments
 (0)