# Add-ons and variants

Add-ons and variants help customers tailor the purchase before they pay.

## Use cases

-   add a workbook to a course purchase
-   choose a license or seat variant
-   add priority support to a service package
-   choose event ticket tiers
-   bundle a template pack with a core product

## Checkout behavior

Add-ons should update the visible total before payment. The completed session should carry the selected line items so invoices, integrations, and automations know exactly what the customer bought.

## Code path

The embed code does not change for add-ons:

```js
const result = await plandalf.present("course-offer");
```

Inspect the completed session to read selected items:

```js
if (result.status === "complete") {
  console.log(result.session?.line_items);
}
```

## Related docs

-   [Order bumps](https://plandalf.com/docs/product-guides/checkouts/order-bumps)
-   [Products](https://plandalf.com/docs/product-guides/checkouts/products)
-   [Live events](https://plandalf.com/docs/packages/sdk/interfaces/FlowEvent)

Source: https://plandalf.com/docs/product-guides/checkouts/add-ons
