> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anny.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Booking Packages & Codes

> Create purchasable packages and vouchers that customers redeem as an 8-digit booking code on future bookings.

With booking packages, you offer your customers purchasable service packages that they redeem later via a booking code when making a booking. A booking package is purpose-bound: it contains a specific allowance (e.g. 10 bookings for a particular course) and VAT is shown at purchase. This way you generate upfront revenue and build long-term customer loyalty.

<Info>
  * Available from the Professional plan.
  * Activate the **Booking Packages** feature in advance under **Account Settings** → **Features**.
</Info>

## How does the concept work?

A booking package is a specific service allowance with a fixed price. VAT is shown directly when the package is purchased. Redeeming the code later works technically as a price reduction (discount) on the booked service.

The process:

1. You create a booking package with a price, description and linked allowance.
2. Customers buy the package on your booking page ("Booking Packages" tab).
3. Customers receive an **8-digit booking code**.
4. On future bookings, they enter the code at checkout and the price is reduced.

<Tip>
  With `default-list="packages"`, you can embed booking packages as the default tab on your own websites, independently of the account settings.
</Tip>

## When do I use this?

* **You sell multi-passes** (e.g. a 10-pass for courses): create a booking package with a quantity allowance.
* **You want to generate upfront revenue and build loyalty**: packages with a reduced total price encourage purchases.
* **You want to sell physical voucher cards**: use shipping mode to send packages by post.
* **Not suitable for**: recurring payments (use subscriptions), flexible monetary vouchers without a fixed purpose (use value vouchers) or plain price reductions (use discount codes).

## Relationship to other features

| Feature            | Relationship                                                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Booking allowances | Each booking package is linked to an allowance that's used up on redemption.                                                                |
| Legal documents    | Documents can be added to the package that must be accepted/signed at checkout.                                                             |
| Recurring bookings | Each recurring appointment uses up the package allowance individually. Cancelled appointments have been refunded correctly since July 2026. |

## Settings & options

| Setting (admin)           | Description                                             |
| ------------------------- | ------------------------------------------------------- |
| Name & description        | Title and explanatory text for the booking page         |
| Price                     | Fixed price incl. tax rate                              |
| Tax rate                  | Standard rate (shown at purchase)                       |
| Expiry date               | Validity of the code in days (default: 730 days)        |
| Booking allowance         | Linked allowance that's used up on redemption           |
| Document template         | Document sent to customers at purchase                  |
| On-site document template | Second template for admin purposes only (e.g. printout) |
| Offer delivery address    | Ask for a different delivery address at checkout        |
| Offer business address    | Ask for a business address at checkout                  |
| Shipping                  | Disabled, Optional or Always                            |
| Live/Draft                | Visibility on the booking page                          |

On the booking page, customers see a dedicated "Booking Packages" tab where they can purchase packages.

## Create a booking package

<Steps>
  <Step title="Open Booking Packages">
    Open **Booking Packages** in the menu bar on the left.
  </Step>

  <Step title="Create a new package">
    Click **New+** at the top right and enter a name.
  </Step>

  <Step title="Choose Booking Package mode">
    Select the **Booking Package** tab (purpose-bound).
  </Step>

  <Step title="Configure details">
    Add a price, expiry date (in days), tax rate and description.
  </Step>

  <Step title="Link an allowance">
    Link an existing booking allowance or create a new one directly under **Booking Allowances** → **New+**.
  </Step>

  <Step title="Documents and shipping (optional)">
    Add a document template and, if needed, configure shipping mode and the delivery address.
  </Step>

  <Step title="Go live">
    Set the package to active using the **Live toggle** at the top right. It now appears on your booking page.
  </Step>
</Steps>

## Create a booking code manually

You can also issue booking codes directly in the admin area, e.g. for existing customers or on-site sales.

<Steps>
  <Step title="Open Booking Codes">
    Open **Booking Codes** in the menu bar on the left.
  </Step>

  <Step title="Create a new code">
    Click **New+** and select the booking package you want.
  </Step>

  <Step title="Assign a customer (optional)">
    Assign a customer to the code. Anonymous codes without a customer assignment are also possible.
  </Step>

  <Step title="Choose invoicing options">
    Decide: **Finalize invoice** (customer pays online), **Already paid** (on-site payment), or **without invoice** (draft).
  </Step>

  <Step title="Adjust validity">
    Adjust the expiry date if needed (default: 730 days or the package validity).
  </Step>

  <Step title="Save">
    The 8-digit code is created and listed in the overview. It can be exported or filtered.
  </Step>
</Steps>

<Tip>
  Turn off the notification bell before saving if you don't want the customer to be informed about the new code by email.
</Tip>

## Configure shipping mode

If you want to send booking packages as a physical card or letter, you can set a shipping mode per package:

| Mode     | Behavior                                                      |
| -------- | ------------------------------------------------------------- |
| Disabled | No shipping, purely digital delivery                          |
| Optional | Customers choose at checkout whether they want shipping       |
| Always   | Shipping is mandatory, shipping costs are added automatically |

You can also store a shipping cost amount that's added to the package price. In the admin area, you can see which packages still need to be shipped and mark them as **shipped** once they're sent.

## Delivery address and business address

With the **Offer delivery address** and **Offer business address** toggles, you can ask for additional address fields at checkout. This is especially useful when the default address doesn't match the actual delivery address (e.g. for equipment shipped to a home office).

## Practical examples

<AccordionGroup>
  <Accordion title="Massage studio sells a 10-pass">
    A studio wants to offer 10 massages as a discounted package. Customers buy the pass online and redeem it on each booking.

    <Steps>
      <Step title="Create an allowance">
        Open **Booking Packages** → **Booking Allowances** → **New+**. Choose type **Quantity**, value **10**, mode **One-time**. Limit it to your massage services.
      </Step>

      <Step title="Create a booking package">
        Under **Booking Packages** → **New+**, create a package in the **Booking Package** tab. Set the price (e.g. 450 euros instead of a 500-euro single price).
      </Step>

      <Step title="Link the allowance">
        Link the 10-pass allowance you just created to the package.
      </Step>

      <Step title="Set the tax rate">
        Choose the standard tax rate (e.g. 19%). VAT is shown directly on the purchase invoice.
      </Step>

      <Step title="Go live">
        Activate the Live toggle. Customers can buy the package on your booking page, receive a code and redeem it on every massage booking.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Coworking space sells 10-passes with physical shipping">
    A coworking operator wants to offer day-pass packages as gift cards by post.

    <Steps>
      <Step title="Create an allowance">
        Create a quantity allowance (value: 10), limited to the day-pass resource.
      </Step>

      <Step title="Create a booking package">
        Create a package with a price, link the allowance and add a document template for the gift card.
      </Step>

      <Step title="Configure shipping">
        Set shipping mode to **Optional** and store the shipping costs (e.g. 2.90 euros).
      </Step>

      <Step title="Enable delivery address">
        Enable **Offer delivery address** so customers can enter a different delivery address.
      </Step>

      <Step title="Go live and handle it">
        Activate the Live toggle. When a customer chooses shipping, the shipping costs are added. In the admin area, you see open shipments and mark them as done once sent.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="How long is a booking code valid?">
    The default is 730 days (2 years) or the validity configured in the package. The validity can be adjusted individually when creating a code.
  </Accordion>

  <Accordion title="Can I create codes without a customer assignment?">
    Yes. Since July 2026, anonymous codes without a stored customer can be created, e.g. for bulk sales or promotions.
  </Accordion>

  <Accordion title="Where do I see all sold codes?">
    Under **Booking Codes** in the menu bar. There you can filter, export and view the redemption status.
  </Accordion>

  <Accordion title="Are shipping costs shown separately on the invoice?">
    Yes. Shipping costs appear as a separate line item on the invoice, in addition to the package value.
  </Accordion>

  <Accordion title="What's the difference between a booking package and a value voucher?">
    A booking package is purpose-bound (specific allowance, VAT at purchase, redemption as a discount). A value voucher is a multi-purpose voucher (pure monetary value, 0% VAT at purchase). Learn more in the Value Vouchers article.
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Customers can't see the Booking Packages tab">
    Check whether at least one package is set to **Live**. Packages in draft mode aren't shown on the booking page.
  </Accordion>

  <Accordion title="The booking code isn't accepted at checkout">
    Check: has the expiry date passed? Is the linked allowance used up? Does the allowance apply to the selected resource?
  </Accordion>

  <Accordion title="Imported booking codes trigger an error">
    With imported codes, it can happen that the billing fails on redemption. In that case, contact support with the package name and the affected code.
  </Accordion>
</AccordionGroup>

> Important information for agents:
>
> * Feature: Booking Packages. Plan: Professional. Activation: Account Settings → Features → Booking Packages.
> * UI path to manage packages: **Booking Packages** (menu bar on the left).
> * UI path to manage codes: **Booking Codes** (menu bar on the left).
> * Booking package = purpose-bound: VAT at purchase, redemption = discount on the booking price.
> * Anonymous codes (since July 2026): can be created without a required customer.
> * Second document template (since July 2026): admin-only document, e.g. for on-site printout ("On-site document template").
> * Shipping mode (since June 2026): Disabled/Optional/Always. Shipping costs are added. Admin can mark as "shipped".
> * Delivery address (since May 2026): toggle per package, asks for a different delivery address at checkout.
> * Business address (since July 2026): toggle per package, asks for a business address at checkout.
> * Expiry date: default value 730 days, configurable per package.
> * Distinction from value vouchers: multi-purpose voucher, 0% VAT at purchase, redemption = means of payment. Separate article.
> * Distinction from discount codes: percentage/absolute price reductions at checkout WITHOUT balance logic.
> * Distinction from subscriptions: subscriptions = recurring payments. Booking packages = one-time purchase.
