{"id":282260,"date":"2026-07-02T11:45:38","date_gmt":"2026-07-02T11:45:38","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/distance-master\/"},"modified":"2026-07-02T13:25:43","modified_gmt":"2026-07-02T13:25:43","slug":"rabbitmarketinghouse-distance-master","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/rabbitmarketinghouse-distance-master\/","author":23198881,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.0","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"RMH Distance Master for WooCommerce","header_author":"Rabbit Marketing House","header_description":"Ultimate WooCommerce Delivery Gating. Distance-based shipping tiers, 7-day schedule, and local-only product restrictions.","assets_banners_color":"101b36","last_updated":"2026-07-02 13:25:43","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/rabbitmarketinghouse.in\/distance-master","header_author_uri":"https:\/\/rabbitmarketinghouse.in","rating":0,"author_block_rating":0,"active_installs":0,"downloads":31,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"rabbitmarketinghouse","date":"2026-07-02 13:25:43"}},"upgrade_notice":{"1.2.0":"<p>Adds product-level Strict Delivery rules and postcode caching. Upgrade recommended for all users \u2014 improves checkout performance significantly.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3593946,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3593946,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3593946,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3593946,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Main settings \u2014 shop coordinates, distance tiers, and shipping fees","2":"Weekly delivery schedule \u2014 set open\/close hours for each day","3":"Blackout dates calendar \u2014 block specific dates for delivery","4":"Emergency toggle \u2014 pause all deliveries with one click","5":"Postcode overrides \u2014 manually allow or block postcodes","6":"Strict Delivery product setting \u2014 restrict products to delivery-eligible customers","7":"Checkout experience \u2014 customer sees live eligibility and shipping cost"}},"plugin_section":[],"plugin_tags":[13827,5518,192385,3546,286],"plugin_category":[45],"plugin_contributors":[269862],"plugin_business_model":[],"class_list":["post-282260","plugin","type-plugin","status-publish","hentry","plugin_tags-delivery","plugin_tags-distance","plugin_tags-local-delivery","plugin_tags-shipping","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-rabbitmarketinghouse","plugin_committers-rabbitmarketinghouse"],"banners":{"banner":"https:\/\/ps.w.org\/rabbitmarketinghouse-distance-master\/assets\/banner-772x250.png?rev=3593946","banner_2x":"https:\/\/ps.w.org\/rabbitmarketinghouse-distance-master\/assets\/banner-1544x500.png?rev=3593946","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/rabbitmarketinghouse-distance-master\/assets\/icon-128x128.png?rev=3593946","icon_2x":"https:\/\/ps.w.org\/rabbitmarketinghouse-distance-master\/assets\/icon-256x256.png?rev=3593946","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Stop losing sales to imprecise delivery zones. Distance Master uses real driving distances \u2014 not straight-line guesses \u2014 so you deliver exactly where you can, every time.<\/strong><\/p>\n\n<p>Whether you run a restaurant, local shop, or regional delivery service, Distance Master gives you complete control over <strong>who gets delivery, how much they pay, and when you deliver<\/strong> \u2014 all from a single settings panel inside WooCommerce.<\/p>\n\n<h4>Why Distance Master?<\/h4>\n\n<p>Most WooCommerce shipping plugins use postcodes or straight-line radius, which fail in the real world. A postcode 3 km away might take 20 minutes to drive, while one 8 km away takes 12. Distance Master uses <strong>real driving routes via OSRM + OpenStreetMap<\/strong> \u2014 the same open-source technology powering routing apps \u2014 completely free with <strong>no API key, no account, no subscription required<\/strong>.<\/p>\n\n<h4>Core Features<\/h4>\n\n<p><strong>Distance-Based Shipping Tiers<\/strong>\nDefine unlimited distance bands (e.g. 0-5 km, 5-10 km, 10-20 km) with custom shipping fees for each. Customers outside your delivery range are automatically blocked at checkout.<\/p>\n\n<p><strong>7-Day Delivery Schedule<\/strong>\nSet open\/closed hours for each day of the week. Customers see live delivery availability so they only order when you can actually fulfil.<\/p>\n\n<p><strong>Blackout Dates<\/strong>\nBlock public holidays, staff leaves, or any date you need \u2014 delivery is automatically disabled on those days without any manual intervention.<\/p>\n\n<p><strong>Emergency Toggle<\/strong>\nPause all deliveries instantly with one click. Re-enable just as fast. Perfect for unexpected closures or kitchen emergencies.<\/p>\n\n<p><strong>Postcode Overrides<\/strong>\nManually allowlist or blocklist specific postcodes regardless of distance. Handle problem areas or VIP zones with precision.<\/p>\n\n<p><strong>Strict Delivery Products<\/strong>\nMark individual products as \"Strict Delivery\" \u2014 they can only be purchased with a valid delivery method. Great for perishables, same-day items, or temperature-sensitive goods.<\/p>\n\n<p><strong>Smart Postcode Caching<\/strong>\nDistance results are cached per postcode for 30 days, so repeat customers get instant responses with zero additional external API calls.<\/p>\n\n<p><strong>100% Free APIs \u2014 No Keys, No Subscriptions<\/strong>\nPowered by OpenStreetMap's Nominatim (geocoding) and Project OSRM (routing). No accounts to create, no costs to manage.<\/p>\n\n<h4>Perfect For<\/h4>\n\n<ul>\n<li>Restaurants and food delivery businesses<\/li>\n<li>Local grocery and retail stores<\/li>\n<li>Florists and gift shops offering same-day delivery<\/li>\n<li>Beverage and alcohol delivery services<\/li>\n<li>Bakeries and artisan food producers<\/li>\n<li>Any local business running WooCommerce delivery<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Enter your shop's latitude and longitude in the plugin settings<\/li>\n<li>Define your distance tiers and the shipping fee for each<\/li>\n<li>Configure your weekly delivery schedule and any blackout dates<\/li>\n<li>Done \u2014 Distance Master handles eligibility and pricing automatically at checkout<\/li>\n<\/ol>\n\n<p>Customers simply enter their postcode at checkout. Distance Master geocodes it via Nominatim, calculates the real driving distance via OSRM, and applies your rules \u2014 all in real time.<\/p>\n\n<h4>Privacy &amp; Data<\/h4>\n\n<p>Only the customer's postcode is sent to Nominatim to resolve coordinates. No names, emails, or addresses are ever transmitted to any external service. Results are cached locally for 30 days to minimise outbound requests.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to two free, open-source services to calculate delivery eligibility.<\/p>\n\n<p><strong>1. Nominatim (OpenStreetMap)<\/strong>\nConverts a customer's postcode into geographic coordinates (latitude\/longitude).\nData sent: postcode string only. No PII is transmitted.\n- Usage Policy: https:\/\/operations.osmfoundation.org\/policies\/nominatim\/\n- Privacy Policy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy\n- Terms of Use: https:\/\/osmfoundation.org\/wiki\/Terms_of_Use<\/p>\n\n<p><strong>2. OSRM (router.project-osrm.org)<\/strong>\nCalculates the real driving distance between your shop and the customer's coordinates.\nData sent: your shop's coordinates (set by you in settings) and the customer's resolved coordinates.\n- Project Page: https:\/\/project-osrm.org\/\n- Source and Terms: https:\/\/github.com\/Project-OSRM\/osrm-backend<\/p>\n\n<p>No personally identifiable information is ever sent to either service.<\/p>\n\n<h3>How to Find Your Shop Coordinates<\/h3>\n\n<ol>\n<li>Open Google Maps or OpenStreetMap and locate your shop<\/li>\n<li>Right-click and select \"What's here?\" (Google) to see the coordinates<\/li>\n<li>Enter the latitude and longitude into the Distance Master settings page<\/li>\n<\/ol>\n\n<h3>Support<\/h3>\n\n<p>For support and documentation, visit https:\/\/rabbitmarketinghouse.in<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate via <strong>Plugins -&gt; Installed Plugins<\/strong><\/li>\n<li>Go to <strong>WooCommerce -&gt; Distance Master<\/strong> in the admin menu<\/li>\n<li>Enter your shop's latitude and longitude<\/li>\n<li>Set up your distance tiers, schedule, and any postcode or product rules<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20an%20api%20key%20or%20account%3F\"><h3>Does this require an API key or account?<\/h3><\/dt>\n<dd><p>No. Distance Master uses OpenStreetMap Nominatim and Project OSRM \u2014 both completely free and open-source. No registration, no API key, no subscription.<\/p><\/dd>\n<dt id=\"how%20is%20driving%20distance%20calculated%3F\"><h3>How is driving distance calculated?<\/h3><\/dt>\n<dd><p>Driving distance is calculated using the OSRM routing engine with OpenStreetMap road data. This gives real road-network distances, not straight-line (\"as the crow flies\") estimates.<\/p><\/dd>\n<dt id=\"can%20i%20set%20different%20shipping%20rates%20for%20different%20distances%3F\"><h3>Can I set different shipping rates for different distances?<\/h3><\/dt>\n<dd><p>Yes. You can define unlimited distance tiers, each with its own label and shipping cost. For example: 0-5 km = free, 5-10 km = \u00a32.99, 10+ km = blocked.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20customer%20is%20outside%20my%20delivery%20range%3F\"><h3>What happens if a customer is outside my delivery range?<\/h3><\/dt>\n<dd><p>They cannot select a delivery method at checkout. You can customise the message they see so they understand why delivery is unavailable in their area.<\/p><\/dd>\n<dt id=\"can%20i%20block%20deliveries%20on%20public%20holidays%3F\"><h3>Can I block deliveries on public holidays?<\/h3><\/dt>\n<dd><p>Yes. The Blackout Dates feature lets you block any specific dates from a calendar picker. Delivery is automatically disabled on those days.<\/p><\/dd>\n<dt id=\"will%20it%20slow%20down%20my%20checkout%3F\"><h3>Will it slow down my checkout?<\/h3><\/dt>\n<dd><p>No. Distance results are cached per postcode for 30 days. Most returning customers experience zero additional load time. Only the first lookup per postcode makes an external request.<\/p><\/dd>\n<dt id=\"is%20this%20gdpr-compliant%3F\"><h3>Is this GDPR-compliant?<\/h3><\/dt>\n<dd><p>Yes. Only postcode data is transmitted to external services \u2014 never any personally identifiable information. Results are cached locally, not on third-party servers.<\/p><\/dd>\n<dt id=\"can%20i%20restrict%20certain%20products%20to%20delivery-only%20customers%3F\"><h3>Can I restrict certain products to delivery-only customers?<\/h3><\/dt>\n<dd><p>Yes. Enable \"Strict Delivery\" on any product and it becomes unavailable to customers outside your delivery range.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20woocommerce%20blocks%20checkout%3F\"><h3>Does it work with WooCommerce Blocks checkout?<\/h3><\/dt>\n<dd><p>Classic checkout is fully supported. Block-based checkout compatibility is under active development.<\/p><\/dd>\n<dt id=\"what%20woocommerce%20version%20does%20it%20require%3F\"><h3>What WooCommerce version does it require?<\/h3><\/dt>\n<dd><p>Requires WooCommerce 5.0 or later. Tested up to WooCommerce 8.x.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added Strict Delivery product-level rules<\/li>\n<li>Added 30-day postcode result caching for faster checkout<\/li>\n<li>Improved schedule enforcement logic at checkout<\/li>\n<li>UI polish across settings panel<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added blackout dates calendar<\/li>\n<li>Added emergency delivery toggle<\/li>\n<li>Added postcode override controls (allowlist \/ blocklist)<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: real driving distance tiers, 7-day delivery schedule<\/li>\n<\/ul>","raw_excerpt":"Control WooCommerce delivery by real driving distance. Set tiers, hours, blackout dates, and postcode rules. No API key needed.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/282260","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=282260"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rabbitmarketinghouse"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=282260"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=282260"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=282260"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=282260"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=282260"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=282260"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}