Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions html5/_main_toc.html.slim
Original file line number Diff line number Diff line change
Expand Up @@ -354,8 +354,11 @@ nav.sidebar-nav
a.nav-link href="/latest/aviate-changelog.html"
| Aviate Changelog
li.bd-sidenav-active
a.nav-link href="/latest/aviate-pricing-hub.html"
| Aviate Pricing Hub Guide
a.nav-link href="/latest/aviate-getting-started.html"
| Getting Started With Aviate
li.bd-sidenav-active
a.nav-link href="/latest/aviate-catalog-guide.html"
| Aviate Catalog Guide
li.bd-sidenav-active
a.nav-link href="/latest/how-to-install-the-aviate-plugin.html"
| Plugin Installation
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
185 changes: 185 additions & 0 deletions userguide/aviate/aviate-catalog-guide.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
= Aviate Catalog Guide

== Introduction

The https://aviate.killbill.io[Aviate Catalog UI] allows you to create individual catalog entries such as products, plans, and pricelists.
This provides much finer granularity than the Kill Bill open-source model, which requires creating a new catalog version for any change. As a result, this approach is more dynamic and scales significantly better when managing a large number of catalog entries.
Internally, the UI uses the https://apidocs.killbill.io/aviate-catalog[Aviate Catalog APIs].

== Create Product,Plan, Pricelist

To create a product, plan, and pricelist:

. Open the *Create Product, Plan, Pricelist* screen.
. Enter the product name (e.g., `netflix`).
. Define a plan (e.g., `netflix-basic-monthly`).
. Set the price (e.g., `$10` per month).
. Save your entries.


Demo:

++++
<div>
<script async src="https://js.storylane.io/js/v2/storylane.js"></script>
<div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)">
<iframe loading="lazy" class="sl-demo" src="https://killbill.storylane.io/demo/elbar7il3dvs?embed=popup" name="sl-embed" allow="fullscreen" allowfullscreen style="position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:1px solid rgba(63,95,172,0.35);box-shadow: 0px 0px 18px rgba(26, 19, 72, 0.15);border-radius:10px;box-sizing:border-box;"></iframe>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding storylane:
• I think it would be best to not use Netflix as a product
• Also, could we make it a video instead of having users to click through each steps?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be best to not use Netflix as a product

This would require redoing the entire demo. I'll do this in a separate commit.

Copy link
Contributor Author

@reshmabidikar reshmabidikar Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, could we make it a video instead of having users to click through each steps

I've now changed the demo settings so that it is auto-played (users don't need to click through steps). LMK if this is okay. If not, we can generate a video and embed it.

</div>
</div>
++++

API Used: https://apidocs.killbill.io/aviate-catalog#create-plan-product-pricelist[Create Plan, Product, Pricelist API].

== Add New Plan

Once a product exists, you can add additional plans:

. Select the product (e.g., `netflix`).
. Create a new plan (e.g., `netflix-premium-monthly`).
. Configure phases such as `DISCOUNT` or `EVERGREEN`.
. Save the plan.


Demo:

++++
<div>
<script async src="https://js.storylane.io/js/v2/storylane.js"></script>
<div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)">
<iframe loading="lazy" class="sl-demo" src="https://killbill.storylane.io/demo/h0mwfwocymqr?embed=popup" name="sl-embed" allow="fullscreen" allowfullscreen style="position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:1px solid rgba(63,95,172,0.35);box-shadow: 0px 0px 18px rgba(26, 19, 72, 0.15);border-radius:10px;box-sizing:border-box;"></iframe>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same remark on the storylane. I think a video would be better, it's a lot of clicks.

Also, call to action redirects to https://killbill.io/ \cc @pierre to be discussed.

</div>
</div>
++++

API used: https://apidocs.killbill.io/aviate-catalog#create-plan[Create Plan API].

[[edit_plan]]
== Edit Plan

The edit plan feature allows you to update plan prices after a plan is created. Note that Other attributes (like *phase duration*) cannot be changed.

[NOTE]
Editing a plan creates a new version of the plan. Existing subscriptions continue to use the old plan. See https://docs.killbill.io/latest/userguide_subscription#_catalog_versions[docs].

. Select the plan (e.g., `netflix-basic-monthly`).
. Adjust the price.
. Save changes.


Demo:

++++
<div>
<script async src="https://js.storylane.io/js/v2/storylane.js"></script>
<div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)">
<iframe loading="lazy" class="sl-demo" src="https://killbill.storylane.io/demo/4unxvpnzucbe?embed=popup" name="sl-embed" allow="fullscreen" allowfullscreen style="position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:1px solid rgba(63,95,172,0.35);box-shadow: 0px 0px 18px rgba(26, 19, 72, 0.15);border-radius:10px;box-sizing:border-box;"></iframe>
</div>
</div>
++++

API used: https://apidocs.killbill.io/aviate-catalog#modify-plan[Modify Plan API].

== Archive Plan

You can archive an existing plan. Archiving prevents creating new subscriptions corresponding to the plan.
The plan remains active for existing subscriptions.

. Select the plan (e.g., `Netflix Usage Monthly`).
. Choose *Archive*.
. Confirm the action.


Demo:

++++
<div>
<script async src="https://js.storylane.io/js/v2/storylane.js"></script>
<div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)">
<iframe loading="lazy" class="sl-demo" src="https://killbill.storylane.io/demo/p10rv35qaed9?embed=inline" name="sl-embed" allow="fullscreen" allowfullscreen style="position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:1px solid rgba(63,95,172,0.35);box-shadow: 0px 0px 18px rgba(26, 19, 72, 0.15);border-radius:10px;box-sizing:border-box;"></iframe>
</div>
</div>
++++

API used: https://apidocs.killbill.io/aviate-catalog#retire-plan[Retire Plan API].

== Delete Plan

You can delete an existing plan permanently. Deleting permanently removes a plan from the database.

WARNING: Deleting a plan could break the system if there are active subscriptions. Use this only for plans created erroneously that do not have active subscriptions.

. Select the plan.
. Choose *Delete*.
. Confirm deletion.


//Demo:

API used: https://apidocs.killbill.io/aviate-catalog#delete-plan[Delete Plan API].

== Duplicate Plan

You can create a new plan based on an existing plan.

[NOTE]
The *Duplicate Plan* feature is a time-saving convenience that lets you quickly create a new plan. When duplicating, all plan attributes can be edited and on saving,a new plan is created.
By contrast, the <<edit_plan, Edit Plan>> feature is limited to updating prices only, and each change automatically generates a new version of the plan.

. Select the plan
. Choose *Duplicate*
. Make changes to the plan as desired
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explain this is purely for convenience and everything can be edited changed - as opposed to the edit functionality that only allows to update prices.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 91fec46

. Save the new plan.

Demo:

++++
<div>
<script async src="https://js.storylane.io/js/v2/storylane.js"></script>
<div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)">
<iframe loading="lazy" class="sl-demo" src="https://killbill.storylane.io/demo/vbzqz7fq9y5q?embed=inline" name="sl-embed" allow="fullscreen" allowfullscreen style="position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:1px solid rgba(63,95,172,0.35);box-shadow: 0px 0px 18px rgba(26, 19, 72, 0.15);border-radius:10px;box-sizing:border-box;"></iframe>
</div>
</div>
++++



== Creating Usage Plans

Usage plans allow billing based on consumption. See https://docs.killbill.io/latest/userguide_subscription#components-catalog-usage[docs].

. Define a https://apidocs.killbill.io/aviate-metering#billingmeter[billing meter] (how usage is tracked).
. Configure *blocks/tiers*.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Point to the doc that defines billing meter and the kill bill doc that talks about usage: https://docs.killbill.io/latest/userguide_subscription#components-catalog-usage

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 91fec46

. Assign usage-based prices to each block.
. Save the plan.


Demo:

++++
<div>
<script async src="https://js.storylane.io/js/v2/storylane.js"></script>
<div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)">
<iframe loading="lazy" class="sl-demo" src="https://killbill.storylane.io/demo/wst70zfovkue?embed=popup" name="sl-embed" allow="fullscreen" allowfullscreen style="position:absolute;top:0;left:0;width:100%!important;height:100%!important;border:1px solid rgba(63,95,172,0.35);box-shadow: 0px 0px 18px rgba(26, 19, 72, 0.15);border-radius:10px;box-sizing:border-box;"></iframe>
</div>
</div>
++++

API used: https://apidocs.killbill.io/aviate-catalog#create-plan[Create Plan API].

//TODO Delete Plan/Product

//TODO Duplicate Plan/Product

== Conclusion

You now know how to:

* Create products, plans, and pricelists
* Add new plans
* Edit plan prices
* Archive or delete plans
* Duplicate plans
* Build usage-based plans



6 changes: 3 additions & 3 deletions userguide/aviate/aviate-pricing-hub.adoc
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
= Aviate Pricing Hub
= Aviate Catalog Guide

== Introduction

The Aviate Pricing Hub allows creating individual catalog entries such as plans, products, and pricelists. Thus, you can create such entries without the need to manage entire catalog versions.
The Pricing Hub UI internally uses the https://apidocs.killbill.io/aviate-catalog[Aviate Catalog APIs].
The Aviate Catalog UI allows creating individual catalog entries such as plans, products, and pricelists. Thus, you can create such entries without the need to manage entire catalog versions.
The Aviate Catalog UI internally uses the https://apidocs.killbill.io/aviate-catalog[Aviate Catalog APIs].

== Products

Expand Down
Loading
Loading