> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.hoppyapps.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 💰 How to set Pricing by duration for Appointment Booking Service

Pricing by duration lets you offer the same appointment service at different lengths — and charge a different price for each length. For example, a 30-minute consultation could cost $50, while a 60-minute consultation costs $90.

Hoppy Appointments links each duration to a Shopify product variant, so customers see the correct price when they choose how long they want to book.

This guide walks you through the full setup.

---

# **⚠️ Before You Begin**

Before setting up duration pricing, make sure:

* The **Hoppy Appointments** app is installed on your Shopify store  
* You have created a **Regular** or **Bundle** service → Multiday services do not use meeting duration, so this pricing model does not apply to them  
* You have a Shopify product with the variants and prices you want to use → For example, one variant for 30 minutes and another for 60 minutes  
* The app embed is enabled so the booking calendar appears on your storefront

💡 Not sure which booking type to use? See **Types of Bookings (Regular, Multiday & Bundle) — Explained**.

---

# **🛠️ Step 1 — Set the Service Durations**

1. Open the **Hoppy Appointments** app  
2. Go to **Services** and click the service you want to configure  
3. Open the **Availability** tab  
4. Find the **Duration** section

By default, the service has one duration — usually 30 minutes.

To offer multiple durations:

1. Toggle **Allow multiple durations**  
2. Select the durations you want from the list, such as 30, 60, and 90 minutes  
3. If you need a duration that is not listed, choose **Custom...** and enter the number of minutes

You must keep at least one duration. If you want only one duration, leave the toggle off and pick a single value.

---

# **🛠️ Step 2 — Connect a Shopify Product with Variants**

1. Open the **General** tab  
2. In the **Booking** card, click **Select product**  
3. Choose the Shopify product that represents this service

The product you select controls the base price. For duration pricing to work, the product should have multiple variants — one for each duration/price combination.

### **Example product setup**

| Variant | Price |
| ----- | ----- |
| 30 Min Session | $50 |
| 60 Min Session | $90 |
| 90 Min Session | $120 |

If your product has only one variant, you can still offer multiple durations, but every duration will share the same price unless you switch to a product with variants.

---

# **🛠️ Step 3 — Map Each Duration to a Variant**

If your product has multiple variants **and** your service has multiple durations, a **Duration to Variant Mapping** card appears below the product card.

For each duration, open the dropdown labelled **Variant for {duration} min** and choose the matching variant.

* 30 minutes → 30 Min Session variant  
* 60 minutes → 60 Min Session variant  
* 90 minutes → 90 Min Session variant

The first option is **None (use default variant)**. Only choose this if you want that duration to fall back to the default product price instead of a mapped variant price.

Once you save, the app remembers which variant belongs to which duration. If you ever want to start over, click **Reset All Mappings**.

---

# **🛠️ Step 4 — Understand the Other Variant and Duration Combinations**

The mapping card only appears when both multiple variants and multiple durations exist. In other cases, the app behaves like this:

## **One variant \+ multiple durations**

All durations use the same variant and price. Customers can still choose how long the appointment lasts, but the price does not change by duration.

## **Multiple variants \+ one duration**

No mapping card appears. Instead, customers see a variant selector during booking. They pick the variant they want, and the price comes from that variant.

## **One variant \+ one duration**

No mapping is needed. The booking always uses the single product price.

---

# **🛠️ Step 5 — Save and Test on Your Storefront**

1. Click **Save** in the service editor  
2. Visit the product page on your storefront  
3. Click the **Book Now** button  
4. Select a date  
5. Check that the duration buttons show the correct prices

Try each duration and confirm the price updates. Then proceed to checkout and verify that Shopify charges the amount shown on the booking widget.

---

# **⚠️ Important Notes & Limitations**

* **Each variant can only be mapped to one duration.** You cannot map the same variant to both a 30-minute and a 60-minute option.  
* **Variants cannot be reused across services for duration mapping.** If a variant is already mapped in another active service, you will need to choose a different variant.  
* **More durations than variants.** If you offer more durations than you have variants, some durations will share the same price. The app will warn you when this happens.  
* **Prices are always corrected at checkout.** Hoppy Appointments fetches the live Shopify variant price before the order is created, so customers are charged the current price even if you change it after setting up the service.  
* **Multiday services do not support duration pricing.** They charge by the number of days or nights, not by appointment length.  
* **Bundle services use duration pricing per slot.** Each selected slot uses the duration and mapped variant price you configured.

---

# **✅ Final Result**

After completing these steps:

* Your service offers multiple durations  
* Each duration is linked to a Shopify variant with its own price  
* Customers see accurate pricing when they choose a duration  
* Shopify checkout charges the correct live variant price

---

# **📚 Related Articles**

* **How to Setup Appointment Booking Services**  
* **How to configure Appointment Booking service for service bookings**  
* **How to create a Bundle Appointment Booking**  
* **How does Payments work with Appointment Bookings**  
* **Appointment Bookings — All Payment Options Explained**  
* **Types of Bookings (Regular, Multiday & Bundle) — Explained**