|
| 1 | += Aviate Catalog Guide |
| 2 | + |
| 3 | +== Introduction |
| 4 | + |
| 5 | +The https://aviate.killbill.io[Aviate Catalog UI] allows you to create individual catalog entries such as products, plans, and pricelists. |
| 6 | +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. |
| 7 | +Internally, the UI uses the https://apidocs.killbill.io/aviate-catalog[Aviate Catalog APIs]. |
| 8 | + |
| 9 | +== Create Product,Plan, Pricelist |
| 10 | + |
| 11 | +To create a product, plan, and pricelist: |
| 12 | + |
| 13 | +. Open the *Create Product, Plan, Pricelist* screen. |
| 14 | +. Enter the product name (e.g., `netflix`). |
| 15 | +. Define a plan (e.g., `netflix-basic-monthly`). |
| 16 | +. Set the price (e.g., `$10` per month). |
| 17 | +. Save your entries. |
| 18 | + |
| 19 | + |
| 20 | +Demo: |
| 21 | + |
| 22 | +++++ |
| 23 | +<div> |
| 24 | + <script async src="https://js.storylane.io/js/v2/storylane.js"></script> |
| 25 | + <div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)"> |
| 26 | + <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> |
| 27 | + </div> |
| 28 | +</div> |
| 29 | +++++ |
| 30 | + |
| 31 | +API Used: https://apidocs.killbill.io/aviate-catalog#create-plan-product-pricelist[Create Plan, Product, Pricelist API]. |
| 32 | + |
| 33 | +== Add New Plan |
| 34 | + |
| 35 | +Once a product exists, you can add additional plans: |
| 36 | + |
| 37 | +. Select the product (e.g., `netflix`). |
| 38 | +. Create a new plan (e.g., `netflix-premium-monthly`). |
| 39 | +. Configure phases such as `DISCOUNT` or `EVERGREEN`. |
| 40 | +. Save the plan. |
| 41 | + |
| 42 | + |
| 43 | +Demo: |
| 44 | + |
| 45 | +++++ |
| 46 | +<div> |
| 47 | + <script async src="https://js.storylane.io/js/v2/storylane.js"></script> |
| 48 | + <div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)"> |
| 49 | + <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> |
| 50 | + </div> |
| 51 | +</div> |
| 52 | +++++ |
| 53 | + |
| 54 | +API used: https://apidocs.killbill.io/aviate-catalog#create-plan[Create Plan API]. |
| 55 | + |
| 56 | +[[edit_plan]] |
| 57 | +== Edit Plan |
| 58 | + |
| 59 | +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. |
| 60 | + |
| 61 | +[NOTE] |
| 62 | +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]. |
| 63 | + |
| 64 | +. Select the plan (e.g., `netflix-basic-monthly`). |
| 65 | +. Adjust the price. |
| 66 | +. Save changes. |
| 67 | + |
| 68 | + |
| 69 | +Demo: |
| 70 | + |
| 71 | +++++ |
| 72 | +<div> |
| 73 | + <script async src="https://js.storylane.io/js/v2/storylane.js"></script> |
| 74 | + <div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)"> |
| 75 | + <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> |
| 76 | + </div> |
| 77 | +</div> |
| 78 | +++++ |
| 79 | + |
| 80 | +API used: https://apidocs.killbill.io/aviate-catalog#modify-plan[Modify Plan API]. |
| 81 | + |
| 82 | +== Archive Plan |
| 83 | + |
| 84 | +You can archive an existing plan. Archiving prevents creating new subscriptions corresponding to the plan. |
| 85 | +The plan remains active for existing subscriptions. |
| 86 | + |
| 87 | +. Select the plan (e.g., `Netflix Usage Monthly`). |
| 88 | +. Choose *Archive*. |
| 89 | +. Confirm the action. |
| 90 | + |
| 91 | + |
| 92 | +Demo: |
| 93 | + |
| 94 | +++++ |
| 95 | +<div> |
| 96 | + <script async src="https://js.storylane.io/js/v2/storylane.js"></script> |
| 97 | + <div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)"> |
| 98 | + <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> |
| 99 | + </div> |
| 100 | +</div> |
| 101 | +++++ |
| 102 | + |
| 103 | +API used: https://apidocs.killbill.io/aviate-catalog#retire-plan[Retire Plan API]. |
| 104 | + |
| 105 | +== Delete Plan |
| 106 | + |
| 107 | +You can delete an existing plan permanently. Deleting permanently removes a plan from the database. |
| 108 | + |
| 109 | +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. |
| 110 | + |
| 111 | +. Select the plan. |
| 112 | +. Choose *Delete*. |
| 113 | +. Confirm deletion. |
| 114 | + |
| 115 | + |
| 116 | +//Demo: |
| 117 | + |
| 118 | +API used: https://apidocs.killbill.io/aviate-catalog#delete-plan[Delete Plan API]. |
| 119 | + |
| 120 | +== Duplicate Plan |
| 121 | + |
| 122 | +You can create a new plan based on an existing plan. |
| 123 | + |
| 124 | +[NOTE] |
| 125 | +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. |
| 126 | +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. |
| 127 | + |
| 128 | +. Select the plan |
| 129 | +. Choose *Duplicate* |
| 130 | +. Make changes to the plan as desired |
| 131 | +. Save the new plan. |
| 132 | + |
| 133 | +Demo: |
| 134 | + |
| 135 | +++++ |
| 136 | +<div> |
| 137 | + <script async src="https://js.storylane.io/js/v2/storylane.js"></script> |
| 138 | + <div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)"> |
| 139 | + <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> |
| 140 | + </div> |
| 141 | +</div> |
| 142 | +++++ |
| 143 | + |
| 144 | + |
| 145 | + |
| 146 | +== Creating Usage Plans |
| 147 | + |
| 148 | +Usage plans allow billing based on consumption. See https://docs.killbill.io/latest/userguide_subscription#components-catalog-usage[docs]. |
| 149 | + |
| 150 | +. Define a https://apidocs.killbill.io/aviate-metering#billingmeter[billing meter] (how usage is tracked). |
| 151 | +. Configure *blocks/tiers*. |
| 152 | +. Assign usage-based prices to each block. |
| 153 | +. Save the plan. |
| 154 | + |
| 155 | + |
| 156 | +Demo: |
| 157 | + |
| 158 | +++++ |
| 159 | +<div> |
| 160 | + <script async src="https://js.storylane.io/js/v2/storylane.js"></script> |
| 161 | + <div class="sl-embed" style="position:relative;padding-bottom:calc(49.85% + 25px);width:100%;height:0;transform:scale(1)"> |
| 162 | + <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> |
| 163 | + </div> |
| 164 | +</div> |
| 165 | +++++ |
| 166 | + |
| 167 | +API used: https://apidocs.killbill.io/aviate-catalog#create-plan[Create Plan API]. |
| 168 | + |
| 169 | +//TODO Delete Plan/Product |
| 170 | + |
| 171 | +//TODO Duplicate Plan/Product |
| 172 | + |
| 173 | +== Conclusion |
| 174 | + |
| 175 | +You now know how to: |
| 176 | + |
| 177 | +* Create products, plans, and pricelists |
| 178 | +* Add new plans |
| 179 | +* Edit plan prices |
| 180 | +* Archive or delete plans |
| 181 | +* Duplicate plans |
| 182 | +* Build usage-based plans |
| 183 | + |
| 184 | + |
| 185 | + |
0 commit comments