Categories & Packages
Build your storefront catalog with categories and packages, control their visibility and stock, and link them to a server.
Your catalog has two levels. Categories group related products on the storefront. Packages are the products themselves. Every package belongs to one category and is provisioned on one server connection.
Categories
Go to Admin → Categories → Create.
| Field | Description |
|---|---|
| Name & Slug | The display name and URL-friendly identifier. |
| Icon | An image shown on the storefront. |
| Description | Shown on the category listing. |
| Status | Who can see the category (see below). |
| Sort order | Lower numbers appear first. |
Visibility statuses
Categories and packages use the same visibility model:
| Status | Listed on the storefront | Reachable by direct link | Can be ordered |
|---|---|---|---|
| Active | Everyone | Everyone | Yes |
| Unlisted | No | Anyone with the link | Yes |
| Restricted | Admins only | Admins only | Admins only |
| Disabled / Inactive | No | No | No |
Use Unlisted for private deals or packages you share with selected customers. Use Restricted to test a new package on the live store before launching it.
Create a package
Create the package. Go to Admin → Packages → Create. Enter a name, choose the category and the server connection that will provision it, and pick a status. You can create a new category from this form if you need one.
A package's server connection decides what gets provisioned, and which configuration fields appear in the next steps. To sell something that needs no provisioning, such as a license, a service or a manual setup, use a connection on the Universal Server Module.
Fill in the general details. On the package's General tab, set the short description, the full description (shown on the package page), an icon, and the stock limits:
- Global Quantity: total units available across all customers. Each purchase lowers it by one. Use
-1for unlimited. - Quantity per Customer: how many active (non-terminated) orders of this package a single customer may have. Use
-1for unlimited.
When a package is out of stock, checkout is blocked and the customer sees an error.
Add prices. On the Prices tab, add one or more billing options, such as monthly and yearly. See Pricing & billing cycles.
Configure the server settings. The Server tab shows the fields the server extension needs to provision this package, for example the Pterodactyl egg, node and resource limits. These values apply to every order of this package. Reset To Default restores the extension's defaults.
Add configurable options (optional). On the Config Options tab, let customers choose values such as RAM, location or game version at checkout, with optional extra cost. See Configurable options.
List the features. On the Features tab, add the selling points shown on the package page, for example "Daily backups" or "DDoS protection".
Publish. Set the status to Active. The package now appears in its category on the storefront at /categories, and has its own page at /packages/{slug}.
Editing packages with live orders
Changes to a package's description, features and server configuration apply to new orders. Existing orders keep the price they were bought at. An order stores its own copy of the price, setup fee and billing cycle when it's created, so changing a package price never reprices existing customers.
To move a customer to a different package or price, upgrade or downgrade the order instead.