Shipping and delivery
On this page
Delivery in Kartlo is built from zones and rates. A zone is a set of places, such as a country, a few regions or a list of postcodes. Each zone has one or more rates: the delivery options shoppers choose from at checkout, with their price and delivery time. You can also offer free local pickup from your branches.
You manage all of this in the Shipping module.
Before you start#
The Get your store ready checklist in Online Store has a Set up delivery step. It opens a short form where you choose Charge a delivery fee or Free delivery, the delivery time, and whether Customers can also pick up. You can refine it later in Shipping.
The cards at the top of Shipping show your setup at a glance:
| Card | What it tells you |
|---|---|
| Active zones | Zones currently offered, out of all you have set up. |
| Live delivery rates | Rates defined across all zones. |
| Everywhere else | Covered when a catch-all zone handles countries you have not listed. Not covered means addresses outside your zones cannot check out. |
Create a delivery zone#
To add a zone:
- Open Shipping from your desk and click New zone.
- Enter a Zone name, for example Dubai, Metro Manila or Rest of world. Only you see it.
- Under Countries, enter one country per line.
- Optionally narrow the zone with Regions or provinces or Postcodes, one per line.
- Leave Active on so the zone is offered at checkout.
- Click Create zone.
Regions and postcodes#
Leave Regions or provinces empty to cover the whole country. Filling it in narrows the zone, so an address outside those regions will not match the zone at all.
Postcodes are the narrowest match. End an entry with * to match every postcode that starts with it: SW1* covers SW1A 1AA. Leave postcodes empty unless you really need postcode-level rates.
Matching ignores capital letters and extra spaces. Postcodes also ignore spaces and hyphens.
Catch everywhere else#
Any address outside your zones is told plainly that you do not deliver there, and cannot place an order. To deliver to every other country, create a zone with * on its own line under Countries. It catches every country you have not named in another zone.
Which zone wins#
An address can fall into more than one zone. The most specific zone that covers it wins, and only that zone's rates are offered:
| Order | Zone type |
|---|---|
| 1 | A zone whose postcodes match the address |
| 2 | A zone whose regions match the address |
| 3 | A zone that names the country |
| 4 | A catch-all zone with * |
Priority is only used when two zones are equally specific. The higher number wins.
Add delivery rates#
To add a rate to a zone:
- On the zone, click Rate.
- Choose a Rate type (see below).
- Enter the Name the shopper sees, for example Standard delivery, and an optional Description.
- Enter the Price and any limits the rate type asks for.
- Optionally set Arrives in, from (days) and to (days). Shoppers see this delivery window at checkout.
- Leave Active on and click Create rate.
| Rate type | How the price works |
|---|---|
| Flat rate | One fixed price for everything in this zone. |
| Free delivery | Costs nothing, optionally only above a cart value. |
| Price based | Offered when the order subtotal after discounts is between Order value from and up to. |
| Weight based | Offered when the total cart weight is between Weight from (grams) and up to (grams). |
Leave an upper limit empty for no limit. Both ends of a range are included. A zone can have several rates, for example Standard and Express, and shoppers pick one at checkout. Drag rates to change their order.
Free delivery over an amount#
Every rate except pickup has Free when the order is over. It is compared against the subtotal after discounts. On a paid rate the price drops to zero once the shopper is over the amount. On a free delivery rate, the option only appears once the shopper is over the amount.
Turn zones and rates on or off#
Use the switch on a zone or rate to stop offering it at checkout without deleting it. Inactive zones and rates show as Hidden from checkout.
Offer local pickup#
Local pickup lets shoppers collect in person, free, from one of your branches. It needs no delivery address, and shoppers can choose it whatever address they type.
- Under a zone's Local pickup, click Add branch.
- Enter the Branch name, for example Dubai Mall, and its Address.
- Add a phone number and the opening hours. A branch must be open on at least one day.
- Optionally paste the branch's Google Maps link to pin it on the map, so shoppers see how far it is.
- Leave Offer at checkout on and save.
Test your rates#
The Rate tester at the bottom of Shipping runs the same calculation the checkout runs, against your live zones. Enter a Country, and optionally a Region / province, Postcode, Subtotal, Discount, number of Items and Total weight (grams). It shows the zone that matched and every option the shopper would see, with prices.
At checkout#
- Shoppers see the options for their address, cheapest first, with the delivery window when you set one.
- Pickup branches are listed whether or not the address matches a zone.
- If the address is outside every zone, the shopper is told you do not deliver there yet and cannot place the order.
- Kartlo checks the delivery price again when the order is placed, so a shopper always pays your current rate.
Couriers and shipping labels#
The Couriers card lets you connect a courier, so you can book pickups from an order and receive delivery updates automatically.
- Quiqup can be connected today. It offers same day, next day and 4-hour delivery across the UAE, with cash on delivery in AED. Bookings are for UAE addresses only.
- Jeebly can be connected with your own Jeebly account: same day and next day delivery across the seven emirates, with cash on delivery in AED.
- iMile and Shipa Delivery can be connected with your own accounts: delivery in the UAE and the Gulf, with cash on delivery in the local currency.Aramex can be connected with your own Aramex account: domestic shipments with cash on delivery, and international shipments as Priority Parcel Express.J&T Express UAE can be connected with your own J&T contract account: next day and same day parcels across the UAE, with cash on delivery in AED when J&T has switched it on for your account.DHL Express can be connected with your own DHL Express account: prepaid next day delivery inside the UAE with a courier pickup. DHL does not collect cash here, so book only paid orders with it.
- swftbox, noon Send, Transcorp, Time Express, ECO Express, First Flight and Zajel Express are UAE couriers in the catalogue. None of them publishes an API sellers can use yet, so ask for the one you use and Kartlo connects it once the courier opens access.
- GetGive and Yango Delivery are in the catalogue. GetGive has not published an API yet, so ask for it there and Kartlo connects it once GetGive shares one.
- Click Find a courier to browse the Courier catalogue: couriers Kartlo plans to add next. Ask for the one you use, and it shows under You asked for. These couriers cannot be connected yet.
To connect Quiqup:
- On the Couriers card, click Connect next to Quiqup.
- Pick the Environment: Staging (test, no real couriers) or Production (real couriers, real charges). Staging and production keys are different.
- Paste the API key from Quiqdash.
- Under Delivery updates, click Copy webhook address. In Quiqdash, open Integrations, then Webhooks, then New subscription, paste the address, select all order events and save. Copy the subscription's secret back into Webhook signing secret.
- Enter the Pickup details: contact name, phone, street and city. Use English letters only, because Quiqup does not read Arabic addresses.
- Pick the Default service and click Connect.
If you print labels yourself, click the label settings button on the same card to set the paper size, your return address, the sender name and what each label shows, such as cash to collect, parcel weight, the item list and a note for the courier.
Booking a courier and printing labels happen from the order. See Fulfil orders.
Connect your Jeebly account#
Jeebly works with your own Jeebly account: Jeebly bills you directly and pays your cash on delivery to you. Ask your Jeebly account manager for API access first. They give you an API key and a client key, one pair for the test (demo) system and one for live.
- On the Couriers card, click Connect next to Jeebly.
- Pick the Environment: Test (Jeebly demo, no real riders) or Live (real riders, real charges).
- Paste the API key and the Client key.
- Check the Pickup details. Kartlo fills them from your store address: contact name, UAE mobile number, villa or office, building, area, landmark and city. Use English letters.
- Pick the Default service and click Connect. Kartlo checks the keys with Jeebly before saving them.
- Click Manage again. Under Delivery updates, copy the Webhook URL and the Webhook X-API-KEY. The Jeebly portal has no webhook page of its own, so email both to your Jeebly account manager and ask them to set the webhook for your account: method POST, content type application/json, with the key sent as the X-API-KEY header.
Jeebly delivers to Abu Dhabi, Ajman, Al-Ain, Dubai, Fujairah, Ras Al Khaimah, Sharjah and Umm Al-Quwain, and needs a UAE mobile number for the buyer. To collect cash on delivery, Jeebly needs your bank details on your Jeebly account.
Connect your iMile account#
iMile works with your own iMile account: iMile bills you directly and pays your cash on delivery to you. Ask your iMile account manager for open API access. They give you a customer ID, a secret key and a logistics product code, one set for the sandbox and one for live.
- On the Couriers card, click Connect next to iMile.
- Pick the Environment: Test (iMile sandbox, no real drivers) or Live (real drivers, real charges).
- Paste the Customer ID, the Secret key and the Logistics product code.
- Check the Pickup details. Kartlo fills them from your store address: contact name, mobile number with country code, street and building, area, city and country. Use English letters.
- Click Connect. Kartlo checks the customer ID and secret key with iMile before saving them.
To book, open the order, check the parcel, then click Book with iMile. Pick the weight (it is filled from your product weights when you leave it empty) and the number of pieces. Cash on delivery is added when the order is unpaid and paid by cash on delivery. Print the label from iMile label. You can cancel a shipment until iMile picks it up.
Connect your Shipa Delivery account#
Shipa Delivery works with your own Shipa account. Sign up at the Shipa developer portal, ask Shipa to activate the account, then create an app with Delivery Service (v2). Shipa gives you an API key, one for the sandbox app and one for the live app.
- On the Couriers card, click Connect next to Shipa Delivery.
- Pick the Environment: Test (Shipa sandbox, no real drivers) or Live (real drivers, real charges).
- Paste the API key.
- Check the Pickup details and pick the Default service: Next day or Same day.
- Click Connect. Kartlo checks the key with Shipa, then subscribes to Shipa status updates for you.
Connect your Aramex account#
Aramex works with your own Aramex account: Aramex bills you directly and pays your cash on delivery to you. You need an Aramex business (credit) account first. Then ask your Aramex account manager, or the Aramex integration team, for API access. They send you six details: user name, password, account number, account PIN, account entity (the three-letter office code, such as DXB) and account country (such as AE). Test and live details are different.
- On the Couriers card, click Connect next to Aramex.
- Pick the Environment: Test (Aramex test system, nothing is shipped) or Live (real shipments, real charges). The Aramex test system only answers once Aramex has opened it for your account, so ask your account manager first.
- Enter the API user name, API password, Account number, Account PIN, Account entity and Account country.
- Check the Pickup details. Kartlo fills them from your store: contact name, mobile with the country code, street and building, area, city and country.
- Pick the Default service (Overnight parcel (next day), Same day parcel or Economy delivery) and click Connect. Kartlo checks the details with Aramex by asking for a price quote, which books nothing.
Connect your J&T Express UAE account#
J&T Express UAE works with your own J&T contract (monthly settlement) account: J&T bills you directly and pays your cash on delivery to you. You need four values. The API account and private key are on the J&T open platform (open.jtjms-sa.com). The customer code and customer password come from your J&T station. Test and live accounts are different.
- On the Couriers card, click Connect next to J&T Express UAE.
- Pick the Environment: Test (J&T demo, no real riders) or Live (real riders, real charges).
- Fill in API account, Private key, Customer code and Customer password.
- Check the Pickup details. Kartlo fills them from your store address: contact name, UAE mobile number, building or street, flat, area and city. Use English letters.
- Pick the Default service (Standard (next day) or Same day) and click Connect. Kartlo checks the values with J&T before saving them.
From the order, Book with J&T Express UAE creates the shipment and returns the waybill number, J&T Express UAE label opens J&T's PDF label, and Cancel J&T Express UAE shipment cancels it before pickup. Cancelling the order also cancels the J&T shipment.
Connect your DHL Express account#
DHL Express works with your own DHL Express account: DHL bills you directly. You need a DHL Express account number (9 digits) and access to the MyDHL API. Open developer.dhl.com, sign in, create an app with the MyDHL API and ask for access with your account number. DHL sends an API key and API secret for the test system first, then live ones.
- On the Couriers card, click Connect next to DHL Express.
- Pick the Environment: Test (DHL test system, nothing is shipped) or Live (real pickups, real charges).
- Fill in API key, API secret and Account number.
- Check the Pickup details: contact name, mobile with the country code, street and building, area and city, in English letters.
- Keep Domestic Express (next day) as the Default service and click Connect. Kartlo checks the key and secret with DHL before saving them.
From the order, Book with DHL Express creates the shipment, books a DHL pickup for the next working day and saves DHL's label, which DHL Express label opens.