#239

Admin panel section: Settings → Delivery (URL: /admin/delivery_firm.php).

What it is

List of delivery methods clients see when placing an order in the calculator. Each method is an option with its own name, price, and parameters.

Typical methods

  • Pickup from production
  • Pickup from a sales point
  • Courier within city
  • Nova Poshta / CDEK / Ukrposhta
  • Intercity by own transport

Fields

Client-facing name
Required. What the client sees in the calculator (e.g., "Courier delivery in Kyiv").
Machine name (slug)
Required. Used in API/integrations. Latin without spaces (`courier`, `pickup`, `nova_post`).
Price calculation type
Select: fixed, per_km, per_kg, formula (custom formula).
Price value
Number. Depends on type: for fixed — final price, for per_km — rate per kilometer, etc.
Region filter
Optional list of regions/cities where the method is available. Empty — available everywhere.
Minimum order amount
Optional. Method shows only if order is from X currency units.
Active
Checkbox. Uncheck — method is temporarily hidden from the client.
Sort
Number. Lower — higher in the client's select.

Actions

  • Add method — fill fields, save.
  • Edit — changes visible to the client at next calculation.
  • Delete — orders with this method keep it in history, but the method can't be picked for new orders.
  • Temporarily disable — uncheck "Active", no deletion.

What's important

  • If an order already has an old delivery method — it's stored in `orders.delivery_method`. Edits/deletions here don't affect existing orders.
  • Per-order delivery addresses are stored on the order itself.
  • For courier service integration (Nova Poshta, CDEK), the machine name must match their API slug.