Skip to main content

Introduction

Service Variants let you create named versions of a single service, each with its own price, duration, and timing settings. Instead of creating separate services for every variation (e.g., “Haircut — Short”, “Haircut — Medium”, “Haircut — Long”), you define one service with multiple variants underneath it. Variants also support client eligibility — you can restrict certain variants to first-time or returning clients. This lets you offer different pricing and durations for initial vs return appointments without any manual workarounds.

Key Features

  • Named variants: Create variations like “Short Hair”, “Medium Hair”, “Long Hair” under a single service
  • Per-variant pricing and duration: Each variant has its own full price and duration
  • Per-variant timing: Optionally override processing time, buffer before, and buffer after per variant
  • Client eligibility: Restrict variants to first-time or returning clients, with automatic filtering
  • Automatic “From” pricing: Service listings show “From $X” based on the lowest variant price
  • Works with pricing tiers: Set tier-specific prices per variant (e.g., senior stylist charges more for the same variant)
  • Works with bundles: Clients select their variant when booking a bundle that includes a variant service
  • Works with add-ons: Add-on groups linked to the parent service apply to all variants

Creating Variants

  1. Navigate to the Service Catalog and open the service you want to add variants to
  2. Click the Variants tab
  3. Click Add variant
  4. Fill in the variant details:
    • Name (required): A descriptive name (e.g., “Short Hair”)
    • Description (optional): Additional context about this variant
    • Price (required): The full price for this variant
    • Duration (required): How long this variant takes
    • Processing Time (optional): Override the service’s default processing time for this variant
    • Buffer Before (optional): Override the service’s default buffer before for this variant
    • Buffer After (optional): Override the service’s default buffer after for this variant
    • Client Eligibility (optional): Restrict who can book this variant — see Client Eligibility below
  5. Click Save to add the variant
Repeat for each variation of the service.
When a service has variants, the base price and duration fields on the Details tab are not used. Price and duration are set per variant instead.

What Changes When You Enable Variants

Once you add at least one variant to a service:
  • The service listing shows “From $X” using the lowest variant price
  • The Price Prefix field is hidden (the “From” prefix is applied automatically)
  • Clients must select a variant when booking — it is not optional
  • The calendar displays appointments as “Service Name — Variant Name”

Editing Variants

  1. Open the service and go to the Variants tab
  2. Click Edit on the variant you want to change
  3. Update any field — name, price, duration, timing, or eligibility
  4. Click Save
Changes apply to future bookings only. Existing appointments retain the variant details captured at booking time.

Reordering Variants

Drag variants using the handle to reorder them. The display order determines how variants appear to clients during booking.

Removing Variants

Click Delete on a variant to remove it. If you remove all variants, the service reverts to standard flat pricing — you will need to re-enter the base price and duration.

Client Eligibility

Client eligibility is the most powerful aspect of service variants. It lets you automatically show or hide variants based on whether the client is booking for the first time or returning.

Eligibility Types

Each variant has a Client Eligibility setting with three options:
EligibilityWho can bookExample
All clients (default)Everyone”Medium Hair” — available to all
First-time clients onlyClients with no prior completed appointments”First Colour Appointment” — longer duration, different pricing for new clients
Returning clients onlyClients with at least one completed appointment”Colour Touch-Up” — shorter, lower-priced for clients who have had the service before

Eligibility Scope

When you set eligibility to “First-time only” or “Returning only”, you also choose the scope — what “first-time” means:
Scope”First-time” meansBest for
This location (default)Client has zero completed appointments at this locationInitial consultations, welcome pricing
This serviceClient has zero completed appointments for this specific serviceService-specific introductory pricing (e.g., first colour appointment)
Example: A client who has had five haircuts at your salon but has never had a colour service would be:
  • Returning at location scope (they’ve visited before)
  • First-time at service scope for “Hair Colour” (they’ve never had this service)

How Eligibility Works in Online Booking

When a client browses your services online:
  • Logged-in clients: Only eligible variants are shown. Ineligible variants are hidden automatically
  • Anonymous clients (not logged in): Treated as first-time — they see “First-time only” and “All clients” variants, but not “Returning only” variants
  • Single eligible variant: If only one variant is eligible, it is auto-selected — the client does not see a variant picker
  • No eligible variants: If no variants pass eligibility for a client, the entire service is hidden from the listing
A banner encourages anonymous clients to verify their phone number for personalised options. When a client logs in or verifies mid-flow, eligibility is re-evaluated and any ineligible selections are cleared with a friendly message.

How Eligibility Works on the Dashboard

When team members book from the scheduler, they see all variants regardless of eligibility:
  • Eligible variants appear normally and are sorted first
  • Ineligible variants appear dimmed with a badge (e.g., “First-time only” or “Returning only”)
  • Selecting an ineligible variant shows a warning banner — but staff can proceed if needed (business discretion)
This gives your team full flexibility while still surfacing the recommended option.

Variants and Pricing Tiers

If you use pricing tiers (e.g., Junior, Senior, Master), you can set tier-specific prices for each variant:
  • Each pricing tier can override the price for each variant
  • If no tier override exists, the variant’s base price is used
  • This works the same way tier pricing works for non-variant services — just applied per variant
Example:
VariantBase priceJunior tierSenior tier
Short Hair$40$35$50
Long Hair$70$60$85

Variants in Bundles

When a bundle includes a service that has variants:
  • The bundle references the parent service — not a specific variant
  • The client selects their variant when booking the bundle
  • If the bundle uses custom pricing per service, the custom price overrides the variant price
  • If the bundle uses service prices, the variant’s price is used
  • The bundle duration range is displayed when included services have variants (e.g., “45–70 min” for a service with 45-min and 70-min variants)

Variants and Add-ons

Add-on groups linked to the parent service apply to all variants. Clients select their variant first, then proceed to add-on selection. Add-on prices and durations are added on top of the variant’s price and duration.

Display and Notifications

Calendar

Appointments booked with a variant display as “Service Name — Variant Name” on the calendar (e.g., “Haircut — Long Hair”). This gives your team full context at a glance.

Service Listing

When a service has variants, the price on the service listing shows “From $X” using the lowest variant price (or the lowest eligible variant price in online booking).

Notifications

Client confirmation emails, reminders, and business notifications all include the variant name. For example, a confirmation email would show “Haircut — Long Hair” rather than just “Haircut”.

Receipts and Checkout

The variant name appears alongside the service name in the appointment details, checkout screen, and sale records.

Common Use Cases

Different Pricing by Hair Length

Create variants for “Short Hair”, “Medium Hair”, and “Long Hair” — each with its own price and duration. Clients self-select during booking.

Initial vs Return Client Pricing

Create two variants: one for first-time clients (longer duration, possibly higher price to cover consultation time) and one for returning clients (shorter, lower price). Use client eligibility to show the right variant automatically. Example: Hair Colour
VariantPriceDurationProcessingEligibility
First Colour Appointment$12090 min30 minFirst-time only (this service)
Colour Touch-Up$8060 min15 minReturning only (this service)

Initial Consultation Service

Create a service visible only to new clients by adding a single variant with “First-time only” eligibility at location scope. Returning clients never see it in online booking.

Experience-Level Variations

Combine variants with pricing tiers for granular control — e.g., “Short Hair” performed by a “Senior Stylist” has a different price than “Short Hair” by a “Junior Stylist”.

FAQs

Q: What happens to existing services when I add variants? A: The service continues to work as before until you add your first variant. Once variants are added, the base price and duration become read-only and all bookings require a variant selection. Existing appointments are not affected. Q: Can I go back to flat pricing after using variants? A: Yes. Delete all variants from the service and it reverts to standard pricing. You will need to re-enter the base price and duration. Q: Are variants required when booking? A: Yes. If a service has variants, a variant must be selected. In online booking, the system enforces this. On the dashboard, team members must pick a variant before saving the appointment. Q: What happens if I rename or delete a variant? A: Past appointments are not affected — the variant name and price are captured at booking time. Renaming or deleting a variant only changes future bookings. Q: Can I use variants and add-ons on the same service? A: Yes. Add-on groups linked to the parent service apply to all variants. Clients select their variant first, then choose add-ons. Q: How does the “From” price work? A: When a service has variants, the listing automatically shows “From $X” using the lowest variant price. In online booking, it uses the lowest eligible variant price for the current client. You do not need to set this manually. Q: Can I override processing time or buffer time per variant? A: Yes. Each variant can optionally override the parent service’s processing time, buffer before, and buffer after. If left blank, the variant inherits the service’s default timing. Q: How do client eligibility and anonymous clients work? A: Clients who are not logged in are treated as first-time clients. They see “First-time only” and “All clients” variants but not “Returning only” variants. A prompt encourages them to verify their phone number for personalised options. Q: Can staff override eligibility when booking from the dashboard? A: Yes. Staff see all variants with visual cues indicating eligibility. They can select an ineligible variant if needed — a warning is shown but the booking can proceed. Q: How do variants work with bundles? A: Bundles reference the parent service. The client selects their variant when booking the bundle. If the bundle has custom per-service pricing, the custom price overrides the variant price. Duration is resolved from the selected variant. Q: Do variants affect deposit calculations? A: Yes. Deposit amounts are calculated based on the variant’s price, not the base service price. Q: What does the calendar show for variant appointments? A: The calendar displays “Service Name — Variant Name” (e.g., “Haircut — Long Hair”) so your team can see the exact variant at a glance. Q: Can I duplicate a variant? A: Yes. Use the duplicate action on any variant to create a copy with the same settings. This is useful when adding a similar variant with minor changes.