Reference Delivery companies

Company delivery pricing methods

Reference for the four delivery fare methods (governorate, weight, distance, distance plus weight), the pricing page fields, requirements such as coordinates, a worked example and the common error messages.

Last updated 22 October 2026 · Last verified 22 October 2026

Purpose#

This reference explains how a delivery company's own fare is calculated for each parcel. Every company chooses one of four calculation methods on the Delivery pricing page. The fare is always calculated on the server, in US dollars (the field labels show $).

Who can use it#

  • Company admin: the menu item Delivery pricing edits the company's own pricing. It is shown to admin-type accounts, which includes staff created on the Users page, and it is not controlled by role permissions.
  • Merchant who owns a private delivery company: edits the pricing of that company from the merchant panel.
  • Super admin: opens Delivery pricing for companies, a list of all delivery companies, and edits any of them.
  • Parcels sent through an external shipping carrier use the carrier's fare, not these settings.

The four methods#

Method Name on the page Formula Needs
governorate Fixed amount per governorate base fee + the price of the recipient's governorate A price for that governorate
per_kg By weight (kilogram) base fee + price per kg × weight Price per kg above 0
per_km By distance (kilometer) base fee + price per km × distance Price per km above 0, pickup and recipient coordinates
km_kg By distance and weight combined base fee + price per km × distance + price per kg × weight Both prices above 0, coordinates

If no method was ever saved, the system uses per_km for companies whose owner is of type "delivery" and km_kg otherwise. A company that registered itself through the public sign-up has no type, so it gets km_kg, with default prices of 1.50 per km and 5.00 per kg.

Steps#

  1. Open Delivery pricing

    Open Delivery pricing from the side menu. The page shows the saved method selected.

  2. Choose the calculation method

    Under Calculation method pick one of the four cards. Only the fields that the method uses stay visible: the km price for distance methods, the kg price for weight methods, and the governorate table for the governorate method.

  3. Fill in the values

    Enter Base fee per parcel ($) and Minimum fee ($), then the km or kg price. For the governorate method fill Governorate prices for this company; leave a box empty (placeholder "No delivery") for governorates you do not serve. Under Fee distribution set Company percentage % and Courier percentage %. Company limits holds the maximum parcel weight (empty means no limit) and the accepted currencies.

  4. Save and test

    Press Save. "Delivery pricing saved" confirms it. Create a test parcel from a merchant account and compare the fare.

  1. Base fee, then the minimum fee
  2. The delivery price for each governorate
  3. Courier commission share
  4. Save the pricing
Setting delivery prices (demo data)

How the fare is calculated#

  • Weight is rounded up to a whole kilogram, with a minimum of 1 kg.
  • Distance is the road distance from OpenRouteService when the platform has its key configured; otherwise it is the straight-line distance multiplied by 1.3.
  • Pickup point: the coordinates of the merchant's pickup location, or, if it has none, of the merchant's branch (hub).
  • Governorate (governorate method): read from the city, then the address, then the map pin.
  • Minimum fee: the final fare is never below it, and is rounded to 2 decimals.
  • Split: the company and courier amounts are those percentages of the fare; the net fare is what remains.

Example with illustrative numbers: base fee 1.00, minimum 2.00, 0.50 per km, 0.30 per kg, governorate price 3.00, parcel of 2.3 kg (counted as 3 kg) over 6 km.

Method Calculation Fare
governorate 1.00 + 3.00 4.00
per_kg 1.00 + 3 × 0.30 = 1.90, raised to the minimum 2.00
per_km 1.00 + 6 × 0.50 4.00
km_kg 1.00 + 3.00 + 0.90 4.90

With 10% company and 20% courier percentages, a 4.90 fare gives 0.49 to the company, 0.98 to the courier and a net of 3.43.

Common mistakes#

  • Saving a distance method without a km price: "The distance method requires a price per kilometer." The same applies to the kg price ("The weight method requires a price per kilogram.").
  • Percentages that add up to more than 100: "The company percentage plus the courier percentage cannot exceed 100%." A single value above 100 is rejected earlier by the field's limit (0 to 100) with the standard validation message.
  • Governorate without a price: the parcel is refused with "Delivery company «…» has not set a price for governorate … — set it from the «Delivery pricing» page or choose another company." An empty price means no delivery there.
  • Governorate not recognised: "The delivery company prices by governorate: we could not determine the recipient governorate from the address «…» — choose the governorate from the list."
  • Distance methods without coordinates: "The delivery company prices by distance: set the recipient location on the map." or "… the pickup location «…» has no location on the map. Edit it from the pickup locations page and set its location on the map."
  • Same location: "The recipient location is almost the same as the pickup location or the coordinates are invalid — move the marker to the correct recipient location."
  • Branch left at the default map position: if the pickup point falls back to the branch, check its coordinates (see the branches guide).

Limits and permissions#

  • A company without an owner account (company_owner) cannot store the km price, kg price or percentages; the page warns about it. The method and governorate prices still save.
  • Maximum weight and accepted currencies from Company limits are enforced when parcels are created.
  • The governorate list has the 14 Syrian governorates; if it is empty the page asks you to run the migration.