Appearance
Service Area Search
Voxel's location search asks "which listings are within X of me?" That's right for a restaurant and wrong for a plumber, a caterer, or anyone who travels to the customer.
Service Area Search adds the other half: each listing defines its own service radius, and a result only shows when the visitor's searched location falls inside that listing's coverage area.
Both conditions apply together — the visitor's radius and the listing's radius must both be satisfied.
Setup
Step 1: Enable the field and the function
- Go to Voxel Toolkit → Post Fields, enable Search Radius (VT)
- Go to Voxel Toolkit → Functions, enable Service Area Search
Step 2: Add the radius field to your post type
- Go to Voxel → Post Types → (your type) → Fields
- Add the Search Radius (VT) field
- Label it whatever makes sense to your listing owners — "Service area", "How far we travel", "Delivery radius"
Nothing else to configure. The field is found by its type, not by a key you have to enter somewhere, so any label and key works.
Units and the location filter are detected automatically
Kilometres or miles, and which filter drives the search, are read from the post type's own settings. There's no second place to keep in sync.
How results are decided
For a listing to appear in a location search:
- The listing must fall inside the visitor's search radius, as before, and
- The visitor's searched location must fall inside the listing's service radius
A listing with no radius set behaves exactly as it always did — only the first condition applies. So you can roll this out gradually without changing existing results.
Showing the coverage area on the map
The Map (VX) widget can draw the listing's service radius as a circle on the single listing page.
- Edit the single post template
- Select the Map (VX) widget
- Set Markers to Show marker of current post
- Open Service area and turn on Show service area radius
| Setting | Description |
|---|---|
| Show service area radius | Draw the circle. Nothing is drawn when the post has no radius |
| Zoom map to fit radius | Fit the map viewport to the circle |
| Show radius label | Show a text label over the map |
| Label text | Supports {radius} and {unit} placeholders, and dynamic tags |
| Label position | Which corner the label sits in |
Circle colour, opacity, border and label styling are all in the Style tab.
The circle is drawn with whichever map provider your site uses — Google Maps, Mapbox, or OpenStreetMap.
Notes
- The radius is stored per listing, so owners set their own coverage without admin involvement.
- Listings without a radius are never excluded by this function.
- The search index is updated when a post is saved, like any other Voxel field.

