xpay✦ Commerce
Directory
WooCommerce plugins
Gellum Delivery Calculator for WooCommerce
Gellum Delivery Calculator for WooCommerce
Calculates shipping costs for WooCommerce based on GPS distance with GeoJSON limited areas. Shortcode [gellumdcw_map]
Will this break my store?
What the WordPress.org registry says about keeping Gellum Delivery Calculator for WooCommerce running.
Tested to 6.9.5 — 1 branch behind 7.0
Tested against the WordPress branch in use today.6 months ago
At least 5.9 releases a year since launch. WordPress.org only lists versions still available for download, so the real number may be higher.7.4
Your host must be running at least this version.6.9
2
Maintenance & trust
Scored on how Gellum Delivery Calculator for WooCommerce is looked after — not on how many stores run it.
Maintenance
35 / 35WordPress compatibility
14 / 20Support responsiveness
Not enough dataMerchant satisfaction
Not enough dataListing transparency
10 / 10Ratings
No one has rated this plugin on WordPress.org yet. That is a statement about the ratings page, not about the plugin — plenty of well-kept plugins never collect them.
Calculate Shipping Costs by GPS Distance in WooCommerce with Interactive Map
Gellum Delivery Calculator transform your WooCommerce store’s local delivery experience. This plugin offers a robust and user-friendly way to calculate shipping costs based on the precise GPS distance from your store to the customer’s location. It goes beyond simple calculations by integrating an interactive Google Map directly into your cart or checkout process. Customers can easily pinpoint their exact delivery location on the map, or allow their browser to attempt automatic GPS detection for an even quicker start. You define your operational reach by drawing or uploading a GeoJSON boundary, ensuring that rates are only offered within your designated service area. The plugin visually displays this area on the map, providing clear feedback to the customer. The standout feature is the integration of Google Maps Reverse Geocoding. When a customer selects or moves their pin on the map:
- The plugin instantly fetches detailed address information via the Google Geocoding API.
- It identifies the Google Plus Code, City, State/Province, Postal Code, and Country.
This streamlines the checkout process, reduces typing errors, and enhances the overall user experience by leveraging WooCommerce’s native checkout update mechanisms. It’s particularly useful for areas where traditional street addresses might be less precise or for customers who prefer the simplicity of dropping a pin.
Key Features:
- Interactive Google Map: Customers visually select their delivery location.
- GPS Distance Calculation: Uses the Haversine formula for accurate distance measurement.
- GeoJSON Delivery Area: Define precise service zones using GeoJSON (Polygon/MultiPolygon support) and visually display them.
- Reverse Geocoding: Fetches Plus Codes, City, State, Postcode, and Country from a map point.
- Automatic Address Field Updates: Populates WooCommerce Billing/Shipping fields (Address 1, City, State, Postcode, Country) in real-time.
- Initial GPS Auto-Detection: Attempts to find the customer’s current location via browser Geolocation API.
- Configurable Rate Structure: Set a base fee, define a maximum distance for that base fee, and add a per-kilometer cost for distances beyond that.
- Free Shipping Threshold: Offer free delivery for orders above a certain subtotal.
- Order Details Storage: Saves the customer’s selected GPS coordinates (Latitude & Longitude) with each order for your records.
- Admin Order View: Displays the customer’s GPS coordinates and a link to Google Maps directly on the order details page in the WordPress admin.
- HPOS Compatible: Works seamlessly with WooCommerce’s High-Performance Order Storage.
- Shortcode Support: Easily place the map anywhere using the
[gellumdcw_map]shortcode. - Server-Side Validation: Includes checks during checkout to ensure the final delivery location is still within the valid GeoJSON area.
- Independent Configuration: Each subsite within your Multisite network can have its own unique Gellum Delivery Calculator settings. This includes distinct Google Maps API Keys, store locations (latitude and longitude), GeoJSON delivery areas, and pricing structures.
- Separate Data Handling: Customer sessions, cart data, and order details (including GPS coordinates saved with each order) are managed independently for each subsite, ensuring no data conflicts across your network.
- Seamless Integration: The plugin integrates smoothly with WooCommerce’s standard shipping methods and checkout processes across individual subsites.
✨ NEW Features
- Configurable Distance Unit: Choose to calculate distances and set rates in either Kilometers (km) or Miles (mi).
- Selectable Calculation Method: Added a new setting in the shipping method configuration allowing administrators to choose between ‘Driving Route (Directions API)’ for high accuracy and ‘Straight Line (Bird’s-eye view)’ for a fast, free approximation.
- Dynamic Map Visualization: The interactive map now dynamically displays the selected calculation method. It will show the precise turn-by-turn driving route or a new, stylized curved line instead of a simple straight line.
- Email Map Snapshot: A static map image is now automatically added to the WooCommerce order confirmation emails sent to the customer. This map clearly shows the store location (A) and the customer’s delivery location (B).
Gellum Delivery Calculator is ideal for restaurants, local shops, and any business offering delivery services within a defined geographic area, providing both operational control and customer convenience.
External Services
This plugin utilizes services from Google Maps Platform to provide accurate delivery cost calculation and location selection.
- Service: Google Maps JavaScript API, Google Geocoding API, Static Maps API, Directions API.
- Purpose: The Maps JavaScript API is used to display an interactive map, allow customers to select their delivery location, and visualize the defined delivery area. The Geocoding API is used to translate the selected map coordinates into human-readable address components (e.g., Plus Code, City, State, Postal Code, Country) and to update WooCommerce checkout fields automatically. Maps Static API is used for display the delivery map on customer email. Directions API is used to retrieve, display, and calculate the distance between the merchant and the customer following the correct route.
- Data Sent:
- Customer’s Location (Latitude and Longitude): Sent from the user’s browser to Google Maps API when the map is initialized (if geolocation is allowed by the user) or when the user clicks/drags the marker on the map. This data is used to geocode the location and calculate the distance from the store.
- Google Maps API Key: Sent with every request to Google Maps Platform services for authentication and billing.
- When Data is Sent:
- Upon loading a page containing the
[gellumdcw_map]shortcode (for map initialization and optional auto-detection). - Whenever a user manually selects or drags the delivery location marker on the map.
- During the checkout process when the Gellum Delivery method is selected and validated.
- Upon loading a page containing the
- Terms of Service: https://policies.google.com/terms
- Privacy Policy: https://policies.google.com/privacy
You need to create a project in the Google Cloud Console, generate an API key, and enable the “Maps JavaScript API” and “Geocoding API” for that key. Remember to restrict your key for security (e.g., by HTTP referrers).
Use a free online tool like geojson.io. Use the drawing tools (Polygon) to outline your delivery area on the map. Copy the generated GeoJSON code from the right-hand panel and paste it into the plugin settings. Ensure it’s a valid GeoJSON FeatureCollection or Polygon/MultiPolygon.
The plugin uses standard WooCommerce hooks and AJAX calls. It’s designed to be compatible with most themes. The [gellumdcw_map] shortcode allows you to place the map flexibly. Some highly customized checkouts might require minor CSS adjustments.
Currently, the JavaScript focuses on updating the billing address fields. If your checkout uses separate shipping fields, you might need to adjust the gellumdcw-frontend.js or implement a filter if you need both updated automatically.
Yes, there are a couple of ways to customize the map’s appearance:
- CSS Styling: The included
gellumdcw-frontend.cssprovides basic styling for the map container and related elements. You can override these CSS styles in your theme’sstyle.cssfile or via the WordPress Customizer’s “Additional CSS” section for a more integrated look with your site. This primarily affects the elements around the map (like the info text, error messages). - Google Cloud Map Styling (via Map ID): For advanced customization of the map itself (colors of roads, water, points of interest, density of features, etc.), the plugin now supports Google Maps Cloud-based map styling.
- You need to create a Map Style in the Google Cloud Console under “Maps Platform” > “Map Styles”.
- Then, create a Map ID under “Maps Platform” > “Map IDs”, ensuring it’s configured for “JavaScript” and “Vector” maps.
- Associate your custom Map Style with this Map ID within the Map ID’s settings in the Google Cloud Console.
- Finally, enter this Map ID into the “Google Maps Map ID” field in the Gellum Delivery Calculator settings in WooCommerce (WooCommerce > Settings > Shipping > [Your Zone] > Gellum Delivery).
- When a valid Map ID is provided, the plugin will instruct Google Maps to use the associated cloud-based style, giving you rich visual control over the map’s look and feel directly from the Google Cloud Console.
- GeoJSON Delivery Area Styling: The appearance of the delivery area (the polygon drawn on the map) can also be customized.
- Currently, the plugin styles it as an outline (no fill).
- If you need to change the color, stroke weight, or opacity of this delivery area outline, you would need to modify the
self.map.data.setStyle({…})section within thedrawDeliveryAreafunction in theassets/js/gellumdcw-frontend.jsfile.
Gellum Delivery Calculator is designed to be fully compatible with WordPress Multisite installations. To configure: Simply activate the plugin on each subsite where you intend to offer Gellum Delivery, and then set up its specific settings within the WooCommerce Shipping Zone configuration for that particular subsite.
Categories
Plugin details
Tags on WordPress.org
