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

# Add-ons

> Create upsells and extras to boost booking revenue

export const PlusBadge = () => <span style={{
  backgroundColor: '#EFF6FF',
  color: '#2563EB',
  padding: '2px 8px',
  borderRadius: '4px',
  fontSize: '12px',
  fontWeight: '600',
  marginLeft: '6px',
  display: 'inline-block',
  verticalAlign: 'middle',
  border: '1px solid #BFDBFE'
}}>
    Plus
  </span>;

## Overview

Add-ons are extras and upsells that customers can add to their bookings. Go to **Services & items** in the sidebar, then open the **Add-ons** tab to create and manage them. Each add-on can be configured with specific pricing models and quantity limits.

<Tip>
  **Not sure if something should be a service or an add-on?** See [Structuring Your Services](/services/structuring-services) for guidance. In general, if a customer wouldn't book it on its own, it's an add-on.
</Tip>

**Common add-ons:**

* Extra hours of service
* Additional staff members
* Custom cups, sleeves, or branding
* Premium upgrades (syrups, milk options)
* Travel fees or special setup charges

## Add-on Configuration

<AccordionGroup>
  <Accordion icon="plus" title="Creating Add-ons">
    Set up new add-ons with:

    * Display name
    * Description
    * **Line Item Description** — how it appears on the quote and invoice. Supports rich text and [shortcodes](/workflows/shortcodes/overview) (e.g. `{{quote.guest_count}}`, `{{lead.first_name}}`) that resolve when the quote is created.
    * Pricing structure
    * Quantity limits (for Per unit, Per unit per hour, and Per unit per guest)
    * Minimum price (optional, for variable-rate add-ons)
    * Add-on image

    ### Quantity Limits

    For **Per unit**, **Per unit per hour**, **Per unit per guest**, and **Per guest per hour** add-ons, set minimum and maximum quantity controls:

    * **Min Quantity**: Enforce minimum order requirements
    * **Max Quantity**: Prevent over-ordering or resource conflicts
    * **Default Quantity**: Uses minimum if set, otherwise defaults to 1

    **Examples**:

    * Cocktail tables: Min 2, Max 10 (event space limitations)
    * Bartenders: Min 1, Max 4 (staffing availability)
    * Photo booth props: Min 5, Max 25 (package deals)

    <Note>
      Quantity limits only apply to Per unit, Per unit per hour, Per unit per guest, and Per guest per hour. Flat rate and other pricing models don't use these controls. Flat and Per unit do not use minimum price.
    </Note>
  </Accordion>

  <Accordion icon="money-bill" title="Pricing Options">
    Configure pricing models:

    * **Flat rate**: Fixed price regardless of quantity
    * **Per unit**: Price multiplied by quantity ordered
    * **Per guest**: Price based on guest count
    * **Per hour**: Price based on service duration
    * **Per resource**: Price based on resources used
    * **Per unit per hour**: Combined unit and hourly pricing
    * **Per unit per guest**: Price per unit scaled by guest count (and number of days); quantity is applied at line level (e.g. per-guest cocktail pricing with multiple options)
    * **Per guest per hour**: Price based on guest count multiplied by service duration in hours (and number of days); ideal for consumption-based add-ons that scale with both attendance and time
    * **Per resource per hour**: Per-resource hourly rate, with an optional per-resource setup base and an optional per-resource-per-day minimum hours floor. Use for add-ons that scale by both resource count and time (e.g. additional bartenders billed by the hour with a setup fee per bartender). Customer-facing copy reads "\$X per hour" (with the base shown as a leading term when set) — "resource" is hidden from the lead form.
    * **Tiered per guest**: Offer volume discounts on **Per guest** add-ons by setting rate bands (e.g. \$5/guest for 1–49, \$4/guest for 50–99, \$3/guest for 100+). The applicable tier is chosen based on the guest count on the quote.

    ### Minimum Price (Optional)

    For variable-rate add-ons (**Per guest**, **Per hour**, **Per resource**, **Per unit per hour**, **Per unit per guest**, **Per resource per hour**), you can set an optional minimum price. If the calculated price is below this amount, the minimum is used. Leave blank for no minimum. Flat rate and Per unit do not use minimum price.

    <Tip>
      Choose pricing models that align with your operational costs and market positioning.
    </Tip>
  </Accordion>
</AccordionGroup>

## Add-on Management

<AccordionGroup>
  <Accordion icon="gear" title="Settings Control">
    Manage add-on details:

    * Availability status
    * Display order
    * Category assignment
    * Required resources
  </Accordion>

  <Accordion icon="image" title="Visual Presentation">
    Customize appearance:

    * Add-on images
    * Description formatting
    * Feature highlights
    * Upsell messaging
  </Accordion>
</AccordionGroup>

## Pricing Details

<AccordionGroup>
  <Accordion icon="calculator" title="How Pricing Works">
    **Per unit per guest**: Unit price × guests × days, then × quantity (e.g. \$1 per guest per cocktail × 100 guests × 1 day = \$100 per unit; quantity 3 = \$300 total).

    **Per guest per hour**: Unit price × guests × days × hours (e.g. \$2/guest/hr × 50 guests × 1 day × 4 hours = \$400).

    **Per resource per hour**: (base + rate × effectiveHours × days) × resources. The optional per-resource-per-day minimum-hours floor applies to `effectiveHours` *before* the resource and day multipliers — e.g. a 2-hour floor at \$100/hr produces a \$200/resource/day minimum on the variable portion, then scales by resources and days. The per-resource setup base is added on top and is never floored by the minimum price.

    **Minimum price**: If you set a minimum price, the line total will never be less than that amount for variable-rate add-ons.

    ### How Quantity Limits Work

    **Minimum Quantity**:

    * Prevents customers from ordering below your business requirements
    * Automatically sets as default quantity when customers add the item
    * Useful for items that require minimum orders to be profitable

    **Maximum Quantity**:

    * Prevents over-ordering beyond your capacity
    * Helps manage resource allocation and logistics
    * Protects against inventory shortages

    **Common Use Cases**:

    * Audio equipment: Min 1 speaker, Max 8 speakers (venue size limits)
    * Linens: Min 10 napkins, Max 200 napkins (bulk order efficiency)
    * Staff: Min 1 server, Max 6 servers (team size management)
  </Accordion>
</AccordionGroup>

## Service-Specific Add-ons

<PlusBadge />

Add-ons are automatically linked to all existing services when created. To restrict an add-on to specific services, configure the links from the service detail page. Go to **Services & items**, click a service, and use the **Linked Add-ons** section to select which add-ons apply.

When a customer selects a service on a quote request form, only linked add-ons are shown. If no add-ons are linked to a service, none will appear for that service.

* **Multiple services** — the customer sees every add-on linked to any of the selected services
* **Add-on options update instantly** as customers change their service selection on forms

<Note>
  Add-ons that an admin has already added as line items on a quote are always shown, regardless of service links.
</Note>

[Configure service links →](/services/core-services#service-specific-add-ons)

## Best Practices

1. Use clear, descriptive names
2. Set appropriate pricing models
3. Maintain accurate descriptions
4. Update availability regularly
5. Test automation workflows

## Next Steps

After configuring add-ons:

* [Review quote settings](/settings/quotes)
* [Set up integrations](/settings/integrations/overview)
* Test add-on functionality
* Monitor sales performance
