Skip to main content

Product Add-ons

Product Add-ons is included with WooCommerce Appointments, allowing customers to customize their bookings with additional options, services, or time extensions.

Overview

Product Add-ons let you add customizable fields to appointment booking forms. Customers can select options that modify the appointment cost, duration, or collect additional information.

Common use cases:

  • Add extra services (e.g., "Gift Wrap", "Deep Cleaning")
  • Extend appointment duration (e.g., "Add 30 minutes")
  • Collect customer preferences (e.g., "Oil Type", "Special Instructions")
  • Request additional information (e.g., "Vehicle Details", "Medical History")

Field Types

Product Add-ons supports multiple field types:

Multiple Choice

  • Dropdown — Single selection from a list
  • Radio Buttons — Single selection with visible options
  • Images — Visual selection with images for each option
  • Set a default selection
  • Each option can have its own price and duration

Checkboxes

  • Multiple selections allowed
  • Each checkbox can be pre-selected by default
  • Individual pricing and duration per option

Text Fields

  • Short Text — Single-line text input
  • Long Text — Multi-line textarea
  • Character length restrictions
  • Placeholder text support
  • Input validation (letters only, numbers only, email, etc.)

File Upload

  • Allow customers to upload files
  • Useful for documents, photos, or forms
  • Can be required or optional

Customer Defined Price

  • Let customers enter their own price
  • Set minimum and maximum price limits
  • Useful for tips, donations, or custom pricing

Quantity

  • Quantity input field
  • Pre-filled quantity option
  • Minimum and maximum quantity limits
  • Price can be quantity-based

Date Picker

  • Calendar date selection
  • Useful for scheduling related dates or deadlines

Heading

  • Visual separator for organizing add-ons
  • No customer input required
  • Helps group related options

Setting Up Add-ons

Product-Level Add-ons

  1. Edit an appointable product
  2. Open the Add-ons tab
  3. Click Add field and select a field type
  4. Configure the field:
    • Title — Field label shown to customers
    • Title Format — Display as label, heading, or hide
    • Description — Optional help text
    • Required — Make the field mandatory
    • Options — For multiple choice/checkbox fields, add options with prices

Product add-ons tab

Add-on type selection

Add-ons on frontend

Global Add-ons

Create add-on groups that apply to multiple products:

  1. Go to Products → Add-ons
  2. Click Add Group
  3. Configure the group:
    • Name — Group identifier
    • Priority — Control display order when multiple groups apply
    • Product Categories — Apply to specific categories or all products
  4. Add fields to the group (same field types as product add-ons)

Using Global Add-ons:

  • Each product can enable/disable global add-ons
  • Check "Use Global Add-Ons?" in the product's Add-ons tab
  • Global add-ons appear alongside product-specific add-ons

Pricing Options

Price Types

When "Adjust price" is enabled, choose how pricing is calculated:

  • Flat Fee — Fixed price regardless of quantity
  • Quantity Based — Price multiplied by quantity selected
  • Percentage Based — Percentage of product price (not available for appointable products)

Price Display

  • Prices are shown next to options on the frontend
  • Can be hidden from customers if needed
  • Supports all WooCommerce currency formats

Duration Add-ons

Duration add-ons extend appointment length and are only available for appointable products.

Setting Up Duration

  1. Create an add-on field (typically Multiple Choice or Checkbox)
  2. Enable Adjust duration
  3. Choose duration calculation:
    • Flat Time — Fixed duration regardless of quantity (e.g., always add 15 minutes)
    • Quantity Based — Duration multiplied by quantity (e.g., 10 minutes × quantity)
  4. Enter the duration value in minutes
  5. Optionally hide the duration label from customers

How Duration Works

  • The system checks availability for base appointment duration + selected add-on duration
  • If a 60-minute appointment has a "Add 30 minutes" add-on selected, the system looks for a 90-minute slot
  • Availability is validated in real-time as customers select options
  • Multiple duration add-ons are cumulative

Example:

  • Base appointment: 60 minutes
  • Add-on 1 selected: +15 minutes
  • Add-on 2 selected: +30 minutes
  • Total duration: 105 minutes

Display Options

Title Format

Control how add-on titles appear:

  • Label — Standard field label
  • Heading — Larger heading style
  • Hide — Hide the title completely

Display As (Multiple Choice)

  • Dropdown — Compact select menu
  • Radio Buttons — Visible options with radio buttons
  • Images — Visual selection with option images

Restrictions & Validation

Text Field Restrictions

  • Any Text — No restrictions
  • Only Letters — Alphabetic characters only
  • Only Numbers — Numeric characters only
  • Only Letters and Numbers — Alphanumeric only
  • Only Email Address — Valid email format required

Limits

  • Character Length — Min/max for text fields
  • Quantity Limits — Min/max for quantity fields
  • Price Limits — Min/max for customer-defined price fields

Import & Export

Export Add-ons

  1. In the product Add-ons tab, click Export
  2. Copy the exported JSON data
  3. Save for backup or use in another product

Import Add-ons

  1. Click Import in the Add-ons tab
  2. Paste the exported JSON data
  3. Add-ons are imported with all settings preserved

Use cases:

  • Copy add-ons between products
  • Backup add-on configurations
  • Share add-on setups across sites

Advanced Features

Default Selections

  • Set default options for multiple choice fields
  • Pre-select checkboxes
  • Pre-fill quantity or price values

Placeholders

  • Add placeholder text to text fields
  • Guide customers on expected input format

Descriptions

  • Add help text to any add-on field
  • Explain options or provide additional context

Required Fields

  • Make any field mandatory
  • Customers must complete before booking
  • Different labels: "Require selection", "Require input", "Require upload"

Best Practices

  1. Group Related Options — Use headings to organize related add-ons
  2. Clear Labels — Use descriptive titles that customers understand
  3. Price Transparency — Show prices clearly so customers know the cost
  4. Duration Clarity — For duration add-ons, explain how time is added
  5. Test Availability — Verify duration add-ons work correctly with your availability rules
  6. Use Global Add-ons — Create reusable add-on groups for common options across products
  7. Validate Input — Use restrictions to ensure data quality

Technical Notes

  • Duration add-ons are only available for appointable products
  • Percentage-based pricing is not available for appointable products
  • Availability checking includes add-on duration in real-time
  • Add-on data is stored with the appointment and order
  • Export/import uses JSON format