> ## 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 Setup Delivery Rates and Zones

Want to charge different delivery rates based on where your customers live, what they order, or when they order? 📦

That’s exactly what the **Rates** page in Hoppy Delivery Dates is designed for.

With Delivery Zones and rate rules, you can:

* 📍 Create zones for specific zip codes or countries  
* 💰 Set rates based on order value, weight, products, time, or day  
* 🧩 Combine multiple conditions into one advanced rate  
* 🛟 Add a fallback zone so customers always see a delivery option

This guide walks you through the full setup — from the general settings to creating your first zone.

---

# **📋 Before You Begin**

Make sure you have:

* ✅ The **Hoppy Delivery Dates** app installed on your store  
* ✅ A list of the zip codes (or countries) you deliver to  
* ✅ An idea of what you want to charge for each area

ℹ️ Delivery rates set here are shown to customers at checkout as shipping options.

---

# **⚙️ Step 1 — Open the Rates Page**

Open the **Hoppy Delivery Dates** app from your Shopify admin.

Then:

→ Click **Rates** in the app navigation menu.

You’ll land on the **Delivery Rates** page, which has two main sections:

* **General** → store-wide rate settings  
* **Delivery Zones** → your zones and their rate rules

---

# **🌐 Step 2 — Configure the General Settings**

The **General** card controls how rates behave across all zones.

## **📮 Zip Code Matching**

Choose how customer zip codes are matched against the zip codes in your zones:

* **Partial match** → the customer’s zip code only needs to *start with* one of your zone entries (great for covering a whole area with one prefix, e.g. `400` matches `400001`)  
* **Exact match** → the customer’s zip code must match a zone entry exactly

## **⚖️ Weight Format**

Choose the weight unit used for weight-based rate rules:

* **Grams (g)**  
* **Kilograms (kg)**  
* **Pounds (lb)**  
* **Ounces (oz)**

💡 Pick the same unit your store uses for product weights, so your weight rules line up with real order totals.

## **🧾 Multiple Rates at Checkout**

When more than one rate matches a customer’s order, decide what they see:

* **Show all rates** → the customer picks from every matching rate  
* **Show highest rate** → only the most expensive matching rate is shown  
* **Show lowest rate** → only the cheapest matching rate is shown

⚠️ Remember to click **Save** after changing any of these settings.

---

# **🗺️ Step 3 — Add a Delivery Zone**

→ Click **Add delivery zone** inside the **Delivery Zones** card.

The **Add Delivery Zone** form opens. Here you define *where* the zone applies and *what rates* it offers.

## **🏷️ Local Delivery Zone Name**

Give your zone a recognizable name — for example, `Delivery rates for Mumbai`.

⚠️ The zone name is **required** — you can’t save the zone without it.

## **🛟 Fallback CheckboxMark this zone as fallback when zip codes in other zones don't match** — turn this on if this zone should catch orders that don’t match any other zone.

💡 Fallback zones are explained in detail in **Setting a Fallback Delivery Zone**.

## **📍 Select Based on Zip Codes**

Tick **Select based on zip codes** to target specific zip codes. This reveals the **Zip Codes** field:

* Enter zip codes separated by commas → `10001, 10002, 10003`  
* Use `*` for a partial match → `100*` covers all zips starting with 100  
* Use `-` for a range → `10001-10010`

⚠️ If **Select based on zip codes** is ticked, the **Zip Codes** field is required.

If the checkbox is left **unticked**, a **Select country** dropdown appears instead — the zone will then apply to every order shipped to that country.

## **🚫 Zip Codes to Exclude (Optional)**

Use this field to carve out exceptions inside the zone — for example, deliver to `100*` *except* `10005`.

Full examples are covered in **How to Exclude Specific Zip Codes from a Zone**.

---

# **💲 Step 4 — Add Rate Rules to the Zone**

A zone without rate rules won’t show anything at checkout — so let’s add at least one rule.

The zone form offers several rule types:

* **Delivery Rates By Price** → rate depends on the order total  
* **Delivery Rates By Weight** → rate depends on the total order weight  
* **Delivery Rates By Product** *(Advanced Rates section)* → rate depends on SKUs in the cart  
* **Delivery Rates By Time** *(Advanced Rates section)* → rate depends on the time of day  
* **Delivery Rates By Days** *(Advanced Rates section)* → rate depends on the delivery speed/day  
* **Multi Condition Rates** → combine several conditions into one rule

To add a rule:

→ Click the **Add Rate By …** button under the rule type you want (for example, **Add Rate By Price**).

A popup window opens where you configure the rule.

Every rule asks for:

* **Delivery Rate Name** → shown on the checkout page along with the charges  
* **Delivery Rate Description** → shown on the checkout page along with the name  
* **Delivery Rate** → the amount to charge (set **0** for free delivery)

→ Click **Add** to save the rule to the zone.

Each rule type has its own extra conditions — see the dedicated guides:

* **How to Set Delivery Rates by Price**  
* **How to Set Delivery Rates by Weight**  
* **How to Set Delivery Rates by Product**  
* **How to Set Delivery Rates by Time**  
* **How to Set Delivery Rates by Day**  
* **How to Set Up Multi-Condition Delivery Rates**

ℹ️ You can add several rules to one zone. Rules are checked in order (price → weight → product → time → days → multi condition), and the first matching rule is used.

---

# **💾 Step 5 — Save the Zone**

→ Click **Add Zone** at the bottom of the form (or **Update Zone** if you’re editing an existing zone).

You’ll return to the **Delivery Rates** page, where the zone now appears in the list.

→ Click **Save** in the save bar at the top to publish your changes. ✅

---

# **🗂️ Managing Existing Zones**

Each zone in the **Delivery Zones** card shows its name, zip codes, the number of configured rules, and a **• Fallback zone** label if it’s a fallback.

For every zone you can:

* ✏️ **Edit** → reopen the zone form and change anything  
* 📄 **Duplicate** → create a copy named `[Zone name] (Copy)` — handy when two areas share most settings  
* 🗑️ **Delete** → removes the zone after a confirmation popup (this can’t be undone)

---

# **🕘 Bonus — Check Your Rate History**

Curious which rates customers were actually offered?

→ Open the **History** page from the app navigation.

It logs every checkout rate request, including the destination, matched zones, and the rates returned — perfect for troubleshooting “why did this customer see this rate?” questions 🔍

---

# **🎉 Final Result**

Once everything is set up:

✅ Your zones target the exact zip codes or countries you deliver to  
✅ Customers see the right delivery rate at checkout based on your rules  
✅ Multiple matches are handled the way you chose (all, highest, or lowest)  
✅ A fallback zone can catch any order that doesn’t match other zones  
✅ You can track every rate request on the History page

Your delivery rates are now live and working automatically 🚀