{"id":2185,"date":"2026-04-28T10:07:02","date_gmt":"2026-04-28T10:07:02","guid":{"rendered":"https:\/\/documentation.iqonic.design\/handyman\/?p=2185"},"modified":"2026-05-11T06:04:35","modified_gmt":"2026-05-11T06:04:35","slug":"manage-nearby-providers","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/handyman\/manage-nearby-providers\/","title":{"rendered":"Manage Nearby Providers"},"content":{"rendered":"<div class=\"nolwrap\">\n<h2 class=\"wp-block-heading\"><strong>1. Overview<\/strong><\/h2>\n\n\n\n<p><strong>Nearby Providers<\/strong> helps visitors discover <strong>active providers<\/strong> around a selected location using a <strong>distance-based map search<\/strong>. It is available in the <strong>Handyman Service Platform<\/strong> and is controlled by an <strong>admin toggle<\/strong>.<\/p>\n\n\n\n<p>This feature enables:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Map-based provider discovery<\/strong> using <strong>latitude<\/strong> and <strong>longitude<\/strong><\/li>\n\n\n\n<li><strong>Radius<\/strong> and <strong>category filtering<\/strong><\/li>\n\n\n\n<li><strong>Admin-level control<\/strong> to enable or disable the feature globally<\/li>\n\n\n\n<li><strong>Consistent API output<\/strong> for <strong>web<\/strong> and <strong>mobile<\/strong> consumers<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2. How It Works<\/strong><\/h2>\n\n\n\n<p>The feature starts from a <strong>public web map screen<\/strong> where users search for providers around their <strong>current<\/strong> or <strong>selected location<\/strong>. The system uses <strong>location coordinates<\/strong>, <strong>distance<\/strong>, and <strong>category filters<\/strong> to return the <strong>nearest active providers first<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Feature Toggle and Availability<\/strong><\/h3>\n\n\n\n<p>The feature can be <strong>enabled<\/strong> or <strong>disabled<\/strong> from <strong>Admin settings<\/strong>.<\/p>\n\n\n\n<p>When disabled:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>Browse Nearby<\/strong> action is hidden in the <strong>landing page header<\/strong><\/li>\n\n\n\n<li>Direct access to the nearby page is <strong>redirected to the home page<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Provider Matching Logic<\/strong><\/h3>\n\n\n\n<p>Provider matching is based on these rules:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Item<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>Provider role<\/strong><\/td><td>Only <strong>provider accounts<\/strong> are considered<\/td><\/tr><tr><td><strong>Active status<\/strong><\/td><td>Provider status must be <strong>active<\/strong><\/td><\/tr><tr><td><strong>Valid coordinates<\/strong><\/td><td>Profile must include valid <strong>latitude<\/strong> and <strong>longitude<\/strong><\/td><\/tr><tr><td><strong>Distance check<\/strong><\/td><td>Distance must be <strong>\u2264 requested radius<\/strong><\/td><\/tr><tr><td><strong>Service availability<\/strong><\/td><td>Provider must have <strong>at least one active service<\/strong><\/td><\/tr><tr><td><strong>Subscription mode<\/strong><\/td><td>Provider must be <strong>subscribed<\/strong> when subscription earning type is enabled<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3. User Roles &amp; Access<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.1 Visitor \/ Customer<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Can open the <strong>Nearby Providers page<\/strong><\/li>\n\n\n\n<li>Can filter by <strong>category<\/strong> and <strong>search radius<\/strong><\/li>\n\n\n\n<li>Can view <strong>provider cards<\/strong><\/li>\n\n\n\n<li>Cannot manage <strong>feature settings<\/strong><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> Public <strong>read-only discovery flow<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.2 Admin<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Can <strong>enable\/disable<\/strong> the feature in <strong>Other Settings<\/strong><\/li>\n\n\n\n<li>Can configure <strong>map defaults<\/strong> via <strong>Site Setup<\/strong><\/li>\n\n\n\n<li>Controls <strong>provider data quality<\/strong><\/li>\n\n\n\n<li>Must configure <strong>Google Maps API key<\/strong> with <strong>Billing enabled<\/strong><\/li>\n\n\n\n<li><strong>Authorization:<\/strong> <strong>Admin panel access<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.3 Provider<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Appears in results only when <strong>eligibility rules<\/strong> are met<\/li>\n\n\n\n<li>Automatically excluded when <strong>service status<\/strong> or <strong>coordinates<\/strong> are invalid<\/li>\n\n\n\n<li>Cannot change <strong>global feature toggle<\/strong><\/li>\n\n\n\n<li>Inclusion is <strong>data-driven<\/strong><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4. Workflows &amp; User Actions<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.1 Discovering Nearby Providers<\/strong><\/h3>\n\n\n\n<p><strong>User Role:<\/strong> <strong>Visitor \/ Customer<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open <strong>website landing page<\/strong><\/li>\n\n\n\n<li>Click <strong>Browse Nearby<\/strong><\/li>\n\n\n\n<li>Allow <strong>location access<\/strong><\/li>\n\n\n\n<li>Adjust <strong>search radius<\/strong> and <strong>category filter<\/strong><\/li>\n\n\n\n<li>View <strong>map pins<\/strong> and open <strong>provider cards<\/strong><\/li>\n<\/ol>\n\n\n\n<p><strong>Result:<\/strong> Users discover <strong>nearby active providers<\/strong> for booking decisions.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Admin Panel Screen<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to <strong>Settings &gt; Other Setting<\/strong>s<\/li>\n\n\n\n<li>Toggle <strong>Nearby Provider<\/strong><\/li>\n\n\n\n<li>Click <strong>Save<\/strong><\/li>\n\n\n\n<li>Update <strong>Site Setup values<\/strong><\/li>\n<\/ol>\n\n\n\n<p><strong>Result:<\/strong> Feature visibility and search behavior update instantly.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Tip:<\/strong> Keep <strong>default latitude<\/strong> and <strong>longitude<\/strong> aligned with your <strong>primary service region<\/strong>.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5. Settings &amp; Configuration<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Setting<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><strong>OTHER_SETTING.nearby_provider<\/strong><\/td><td>Global feature toggle<\/td><\/tr><tr><td><strong>site-setup.radious<\/strong><\/td><td>Maximum selectable radius<\/td><\/tr><tr><td><strong>site-setup.distance_type<\/strong><\/td><td>Distance calculation unit<\/td><\/tr><tr><td><strong>site-setup.latitude<\/strong><\/td><td>Default map center<\/td><\/tr><tr><td><strong>site-setup.longitude<\/strong><\/td><td>Default map center<\/td><\/tr><tr><td><strong>Google Maps API key<\/strong><\/td><td>Required for map services<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Where to Configure<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Admin UI \u2192 Settings &gt; Other Settings<\/strong><\/li>\n\n\n\n<li><strong>Admin UI \u2192 Settings &gt; Site Setup<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Admin Setup Checklist<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Enable <strong>Nearby Provider toggle<\/strong><\/li>\n\n\n\n<li>Configure <strong>distance unit<\/strong> and <strong>default map center<\/strong><\/li>\n\n\n\n<li>Add <strong>Google Maps API key<\/strong> with <strong>Billing enabled<\/strong><\/li>\n\n\n\n<li>Ensure providers have <strong>valid coordinates<\/strong><\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>Note:<\/strong> Billing-enabled <strong>Google Maps API key<\/strong> is required for proper <strong>latitude\/longitude handling<\/strong>.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>6. Important Notes<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>Nearby API endpoint<\/strong> is <strong>public<\/strong> and does <strong>not require authentication<\/strong>.<\/li>\n\n\n\n<li>Providers without valid <strong>latitude<\/strong> and <strong>longitude<\/strong> are <strong>excluded automatically<\/strong>.<\/li>\n\n\n\n<li>In <strong>subscription earning mode<\/strong>, only <strong>subscribed providers<\/strong> are returned.<\/li>\n\n\n\n<li>Feature availability depends on <strong>nearby_provider toggle<\/strong>.<\/li>\n\n\n\n<li>Without <strong>Google Maps Billing<\/strong>, map services may <strong>fail or behave inconsistently<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p><strong>Nearby Providers<\/strong> improves <strong>provider discovery<\/strong> using:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Geospatial filtering<\/strong><\/li>\n\n\n\n<li><strong>Category-based narrowing<\/strong><\/li>\n\n\n\n<li><strong>Configurable radius controls<\/strong><\/li>\n<\/ul>\n\n\n\n<p>It ensures:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nearest-first provider discovery<\/strong><\/li>\n\n\n\n<li><strong>Admin-controlled rollout<\/strong><\/li>\n\n\n\n<li><strong>Structured API output<\/strong> for <strong>frontend<\/strong> and <strong>mobile apps<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Related Features<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nearby Providers \u2013 Client Setup and Operations Guide<\/strong><\/li>\n\n\n\n<li><strong>Nearby Providers \u2013 User Guide<\/strong><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>1. Overview Nearby Providers helps visitors discover active providers around a selected location using a distance-based map search. It is available in the Handyman Service Platform and is controlled by an admin toggle. This feature enables: 2. How It Works The feature starts from a public web map screen where users search for providers around [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"parent":259,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2185","post","type-post","status-publish","format-standard","hentry","category-handyman-services"],"featured_image_src":null,"author_info":{"display_name":"laraveladminiq","author_link":"https:\/\/documentation.iqonic.design\/handyman\/author\/laraveladminiq\/"},"children":[],"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/2185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/comments?post=2185"}],"version-history":[{"count":9,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/2185\/revisions"}],"predecessor-version":[{"id":2201,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/2185\/revisions\/2201"}],"up":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/259"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/media?parent=2185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/categories?post=2185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/tags?post=2185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}