Delivery extension

Delivery Zone & Fees

Charge the right delivery fee for every order, automatically. Define zones by radius, postal code, or a shape you draw on the map, each with its own fee and rules.

In the Starter plan v3.1.2

What it does

Delivery Zone & Fees helps restaurants control where they deliver and how much each delivery should cost. Instead of charging one flat fee for every customer, you can create delivery areas that match your real operation.

Use radius rules, zip or postal codes, or custom map areas to define your service zones. Each zone can have its own fee, minimum order amount, and free-delivery threshold.

At checkout, RestroPress matches the customer address to the correct zone and applies the right delivery option automatically, so the customer sees a clean ordering experience and your team avoids manual fee corrections.

Everything in the box

Radius-based zones
Charge by distance from your kitchen in miles or kilometers.
Zip and postal zones
Target exact neighborhoods with postal-code based delivery rules.
Custom map areas
Draw precise delivery boundaries directly on the map.
Per-zone fees
Set a different delivery charge for every zone.
Minimum orders
Require a minimum order value before delivery is available.
Free-delivery thresholds
Reward larger baskets with free delivery per zone.
HOW IT WORKS

From map to checkout in three steps

Build zones

Create the delivery areas you actually serve

Use radius, postal codes, or custom map shapes to define each service area.

Build zones
Set fees and rules

Control the delivery cost for each zone

Add fees, minimum order values, and free-delivery thresholds for each area.

Set fees and rules
Show the right fee at checkout

Calculate delivery cost from the customer address

RestroPress matches the address to a zone and applies the correct fee automatically.

Show the right fee at checkout

See it in action

= Version 3.1.2(03-06-2026) =
* Fixed: Delivery schedule popup address autocomplete now rebinds after modal refresh, service switch, and dynamic popup open events.
* Improved: Frontend Google Maps loading now uses async loading while keeping the Places and Geometry libraries available.

= Version 3.1.1(02-06-2026) =
* Fixed: Fresh add-to-cart delivery prompts now open the delivery details pop-up without showing a premature error toast.
* Fixed: Frontend Google Places autocomplete now loads after the shared Maps API dependency for location-based delivery.
* Improved: Shared Google Maps API loading now supports Multilocation frontend address filtering when Delivery Fee is active.

= Version 3.1(13-05-2026) =
* Updated: Plugin version bump to 3.1
* Fixed: User app compatibility issue
* Fixed: Delivery fee validation now reuses saved zip/address data during core service-slot checks.
* Fixed: Delivery fee row now renders from the Delivery Fee extension only, preventing duplicate core/sidebar fee rows.
* Improved: AJAX cart total updates now target the listing cart summary reliably.
* Fixed: In Old RestroPress UI/UX mode, invalid delivery zip/address now keeps reopening the service modal on add and checkout actions until valid data is saved.
* Fixed: Legacy delivery-fee location field/modal handlers are now gated to Old RestroPress UI/UX mode and do not alter the default UI.
* Improved: Old UI modal close flow now succeeds after a valid zip/address entry instead of repeatedly showing validation toast loops.

= Version 3.0(23-03-2026) =
* Updated: Plugin version bump to 3.0
* Fixed: Delivery address input visibility in service popup now follows active service type, so pickup flow no longer shows delivery address fields.
* Improved: Popup delivery address row positioning now runs only for delivery mode and keeps date/time controls stable after service switch.
* Fixed: Delivery popup address block ordering now anchors before the service date row (when present), keeping date above time in combined addon flows.
* Fixed: Shared Google autocomplete now rebinds to the current popup input after dynamic modal refresh/service switch.
* Improved: Autocomplete instance reuse is now guarded to prevent stale input bindings and delayed suggestion loading.
* Fixed: Guest checkout Google address autofilter binding on dynamically rendered address input
* Added: Checkout required field autofill (street/city/postcode) from selected listing-page Google address
* Improved: Address sync compatibility by writing and reading both `delivery_location` and `delivery_address` cookies
* Improved: AJAX delivery fee response now returns normalized fee/subtotal/total/branch/location for instant cart rendering
* Fixed: Location-based validation now requires valid `delivery_latlng` instead of accepting text-only address input
* Fixed: Branch-aware location fee resolution now falls back to `rpress_chosen_location_id` when branch payload is missing
* Fixed: Zero-distance valid locations are no longer treated as invalid
* Improved: Checkout location validation now tolerates harmless formatted-address differences
* Added: Shared Google Maps API key compatibility with Multilocation (single key works across both extensions)
* Added: Branch-specific location-based delivery fee settings for Multilocation branches
* Improved: Location-based fee matching now supports branch-specific rules with global fallback
* Improved: Store origin resolution now respects selected branch coordinates when Multilocation is active
* Improved: Distance calculation now uses Google Distance Matrix meters for accurate KM/Miles conversion
* Improved: Delivery fee validation now returns explicit error flags for frontend flow control
* Fixed: In delivery-fee-only mode, invalid zip/address now shows an error and reopens the delivery popup to force correction
* Fixed: Duplicate delivery address input is hidden when both Delivery Fee and Multilocation are active
* Improved: Checkout validation now rechecks the posted delivery address/lat-lng before placing order
* Improved: Branch-aware location fee calculation on checkout validation to enforce correct branch fee rules
* Updated: Delivery Fee settings now show branch address/lat-lng details for branch-specific location fee setup
* Updated: Global location-based fee table is hidden automatically when Multilocation is active
* Fixed: Guest checkout Google Places autofilter binding on dynamically rendered address fields with retry-safe initialization
* Added: Checkout autofill hydration for street/city/postcode from selected listing-page Google address (cookie + geocode fallback)
* Improved: Shared address-cookie compatibility by syncing both `delivery_location` and `delivery_address` keys across flows
* Improved: AJAX fee response now includes normalized fee, subtotal, total, selected branch, and delivery location for instant cart sync
* Fixed: Location-based validation now requires valid delivery lat/lng instead of raw address text-only input
* Improved: Branch fallback resolution now uses `rpress_chosen_location_id` when explicit branch payload is missing
* Fixed: Zero-distance valid addresses are no longer rejected in location-based distance validation
* Fixed: Checkout purchase validation no longer fails on harmless address formatting differences between posted and cookie values

= Version 2.5.5.7(07-03-2026) =
* Fixed: Settings save flow compatibility issue causing dependency false detection and extension deactivation
* Improved: RestroPress dependency check logic for better admin stability

= Version 2.5.5.6(13-11-2025) =
* Fixed: Checkout page address validation issue

Version 2.5.5.5(23-09-2025)
* Fixed: RestroPress 3.2 version compatibility issue

Version 2.5.5.4(01-09-2025)

* Fixed: Conflict issue with multilocation extension
* Updated: Remove autofill data for street address

Version 2.5.5.3

  • Fixed: Safari browser conflict issue

Version 2.5.5.2

  • Fixed: Empty error issue.

Version 2.5.5.1

  •  Code optimized

Version 2.5.5

  • Removed: Unrequired files removed
  • Added: Ajax validation for zipcode and Google map address on the checkout page
  • Code cleanup

Version 2.5.4

  •  Added: zip/postal code input field label

Version 2.5.3

  •  Code cleanup
  •  Fixed: Distance calculation
  • Fixed: Food item cart blank fee issue
  • Fixed: Issue fixed for the delivery fee addition when someone is going to change the service type from delivery to pick up and place the order.

Version 2.5.2

  • The minimum order for zip is based on * mark issue fixed.
  • Added option to remove checkout fields
  • Fixed the issue with removing the item on checkout

Version 2.5.1

  • Updated free delivery amount per location.
  • Added option for setting the minimum amount per location.
  • Tested and fixed issues with the latest RestroPress and WordPress 5.6.

Version 2.5

  • Fixed the minimum order with the location issue on the checkout page.
  • The location issue has been resolved for the checkout page.
  • Populate the apartment/flat field from the address autocomplete.

Version 2.4

  • Fixed the invalid address in the checkout page

Version 2.3

  • Added functionality for the minimum delivery amount per location

Version 2.2

  • js fixed for the Ajax complete issue
  • Fixed the delivery address cookie issue
  • Language file updated

Version 2.1

  • Fixed issue with checkout js index error

Version 2.0

  • Google address autocomplete implemented
  • Google map implement in the admin dashboard for setting store location
  • Fee based on the geo-location distance functionality

Version 1.6

  • language file updated

Version 1.5

  • Updated to work with RestroPress 2.5
  • Connected zip/postcode field to the checkout zip code.
  • Fixed issue with error validation on food items page.

Version 1.4

  • Fixed the issue for the page reload delivery fee on the checkout page

Version 1.3

  • Fixed delivery fee display issues.
  • Fixed conflict with other plugins.
  • Optimized JavaScript code.
  • Minor CSS updates.

Version 1.2

  • Added option for wildcard zip option.
  • Added option for zip code placeholder.
  • Fixed jquery issues with RestroPress plugin.
  • Admin text updates.

Version 1.1

  • Fixed delivery fee display issue on checkout page.
  • Minor css updates.

Version 1.0

  • Initial public release.

Frequently asked questions

Do I need Google Maps?

Radius and distance-based zones need a Google Maps API key. Postal-code zones can work without one.

Can I create multiple zones?

Yes. You can create multiple delivery zones with separate fees and minimum order values.

Can I block addresses outside my area?

Yes. Customers outside your delivery coverage can be prevented from placing delivery orders.

Is this included in a plan?

The page reads the plan categories assigned to this extension and shows the included plans automatically.

© 2026 RestroPress. All Rights Reserved.
envelopephone-handset linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram