Shipping & Delivery
Tell Joomni where you deliver and what it costs, and checkout shows customers the right options and charges. On Business you can also book Pathao and Upaya pickups straight from an order.
How it fits together
| Level | What it is |
|---|---|
| Profile | A group of products that ship the same way. Most stores need only the Default profile. Example: “Default”, “Heavy Items”, “Fragile”. |
| Zone | An area you deliver to: one or more of Nepal's seven provinces, optionally narrowed to certain cities. Example: “Kathmandu Valley”, “Lalitpur only”, “All Nepal”. |
| Rate | A delivery price within a zone. Example: “Standard” at Rs 100, or free over Rs 3,000. |
Every new store starts with a Default profile containing an All Nepal zone at Rs 100, so checkout works from day one. Change that rate or add more specific zones next to it.
Set up delivery
Pick a shipping profile
Use the Default profile, or click Create Profile for products that ship differently (heavy or fragile items).Add a zone
Click Add Shipping Zone, name it, and tick the provinces covered. To charge a different price in particular cities, add them under Only these cities. For example, tick Bagmati Province and add “Lalitpur”. Leave the cities empty to cover the whole province.Add rates to the zone
Click Add Rate and choose a type:- Flat Rate: the same price for every order, for example Standard at Rs 100.
- Price Based: applies only when the order reaches a minimum order price. Use it for “Free delivery over Rs 3,000” (price 0, minimum 3000).
Assign products to other profiles (optional)
Products use the Default profile unless you choose another one. Open the product and pick a profile in the Shipping card. See Products.
How checkout picks a zone
As the customer fills in their address, checkout picks the most specific zone in the product's profile that covers it:
| Order | Zone that wins |
|---|---|
| 1. City zone | Its province and one of its cities match the address. Example: Bagmati Province + Lalitpur. |
| 2. Province zone | Lists the customer's province. If several do, the one with the fewest provinces wins, so a Bagmati-only zone beats All Nepal. |
| 3. All Nepal | A zone named exactly All Nepal covers any address no other zone matched. |
| 4. Country zone | A zone with no provinces ticked, matched by country. For stores that deliver abroad. |
- City zones only cover their cities. A Bagmati + Lalitpur zone doesn't apply to Kathmandu; Kathmandu falls through to your next zone, such as All Nepal.
- Cities are matched loosely. Capital letters, extra spaces and endings such as “Metropolitan City” or “Sub-Metropolitan City” are ignored, so “lalitpur” and “Lalitpur Metropolitan City” both match Lalitpur. Other names for a city, such as Patan, have to be added as extra cities.
- No price before a province. Checkout shows “Calculated at next step” until the customer chooses a province, then updates the delivery price as they type the city.
- The order charges what checkout showed. Joomni works out the delivery price again when the order is placed, using the same rules. The price can't be changed from the customer's browser.
No zone, no checkout
Example setup for a Kathmandu store
| Zone | Rates |
|---|---|
| Kathmandu Valley (Bagmati · cities: Kathmandu, Lalitpur, Bhaktapur) | Standard, flat Rs 100 · Free, price-based Rs 0 over Rs 3,000 |
| All Nepal (default zone) | Standard, flat Rs 200 |
A customer in Lalitpur pays Rs 100, or nothing over Rs 3,000. A customer in Chitwan (also Bagmati) or Pokhara pays Rs 200.
Cash on delivery fee is separate
Works with every checkout design
Show delivery rates to customers
Turn on Show delivery rates to customers at the top of Shipping & Delivery and checkout lists your zones and prices under the address. Once the customer picks a province, their zone is marked Your area and the line above the table shows the delivery price for their cart. It's off until you turn it on.
| Option | What it does |
|---|---|
| Which rates to show | Profiles of the items in the cart (recommended), the Default profile only, or Every profile. With several profiles, each gets its own heading. |
| Delivery time | Shows the delivery days you set on each rate (Delivery from / up to in the rate form), such as “1–2 days”. |
| Order-total conditions | Shows the order total a price-based rate needs, such as “Orders Rs 3,000+”. |
| Also show it on | Cart (“From Rs 100” plus the table in the cart drawer and cart page), Product page (“Delivery from Rs 100” under the buy buttons, for that product's profile) and a Delivery rates page at /shipping-rates you can link from your footer. A page of your own at /shipping-rates always wins. |
| Note under the table | Plain text, up to 300 characters. Example: “Orders before 2 pm ship the same day inside the Valley.” |
- The table only shows prices checkout charges. It uses the same zone rules as the delivery price, so it can never disagree with the order total. Weight-based rates aren't charged yet and are left out.
- All Nepal reads as “Rest of Nepal” when you have other zones, and lists only the provinces those zones don't cover.
- Hide a zone with its Hide button to keep it out of the table, for example a staff pickup zone. A hidden zone still prices orders.
- Reorder zones with the arrows. Order is only how the table reads; checkout still uses the most specific zone.
- Check before turning it on. The card warns you about provinces no zone covers and zones with no rates, and Preview what customers see shows the exact table.
In your checkout design and Liquid themes
data-joomni-checkout-slot="shipping-rates" on the checkout page, or build their own from the shipping_rates drop on any page ({% if shipping_rates.enabled %}).Courier integrations: Pathao and Upaya
Connect your courier account once, then book pickups from each order instead of copying details into the courier's app.
Get API credentials from the courier
Pathao: API Client ID and API Secret. Upaya: Merchant Key and API Token. Ask your courier account manager if you can't find them.Enter them under Courier Integrations
Choose the Pathao or Upaya tab and save.Book from an order
Open an order, choose the carrier and book the shipment. The tracking number and link are added to the order automatically. See Orders.
Delivering yourself or using another courier? Choose Self Delivery / Custom on the order.
Related guides