Radius
Straight-line distance checks
StreetKit Radius evaluates simple service-area rules after a user selects an address.
What the feature does
Radius calculates an estimated straight-line distance from a configured origin to the selected address coordinates. It can classify the result against rules such as free delivery within 20 km, nearest branch messaging, local delivery fee tiers, or a coverage checker.
Display this wording anywhere a Radius result is shown: Estimated straight-line distance from selected address coordinates.
What it does not do
- Radius is not driving distance, road distance, or travel time.
- Radius does not provide live traffic or routing results.
- Radius is not courier or NZ Post certification and does not prove deliverability.
- Radius does not account for water, road access, traffic, road closures, or route restrictions.
Data requirements
Radius needs selected-address latitude and longitude from the StreetKit address detail, plus at least one configured origin and one rule. If coordinates are missing or invalid, the widget returns an unavailable Radius status instead of guessing.
When to use Drive Zones instead
Use Radius when a simple straight-line threshold is enough. Use Drive Zones when your workflow needs road-aware coverage.
For a focused service-area overview, read the delivery radius checker page.
Example widget config
StreetKit.init({
input: "#address",
publicMode: true,
indexBaseUrl: "https://index.streetkit.smp.kiwi/public/v1",
radiusRules: {
mode: "straight_line",
origins: [
{
id: "akl-warehouse",
label: "Auckland warehouse",
lat: -36.9001,
lon: 174.8852
}
],
rules: [
{
id: "free-delivery-20km",
label: "Free delivery within 20 km",
radiusKm: 20,
fee: 0,
message: "Free local delivery is available."
},
{
id: "local-tier-50km",
label: "Local delivery fee tier",
radiusKm: 50,
fee: 25,
message: "Local delivery is available with a fixture fee."
},
{
id: "coverage-checker-80km",
label: "Coverage checker",
radiusKm: 80,
message: "This address is inside the standard coverage checker area."
}
]
},
onSelect(address, context) {
console.log(address, context.radius);
}
});
Example response
{
"radius": {
"mode": "straight_line",
"status": "ok",
"distance": {
"metres": 12400,
"km": 12.4,
"roundedKm": 12.4
},
"origin": {
"id": "akl-warehouse",
"label": "Auckland warehouse",
"lat": -36.9001,
"lon": 174.8852
},
"matchedRules": [
{
"id": "free-delivery-20km",
"label": "Free delivery within 20 km",
"radiusKm": 20,
"fee": 0
}
],
"wording": "Estimated straight-line distance from selected address coordinates."
}
}
Attribution and licensing notes
Radius itself does not use routing data. Normal StreetKit address attribution still applies for the selected address source. If the same flow also displays Drive Zones, show the Drive Zones OpenStreetMap attribution there.
Limitations
- Distances are straight-line estimates from address point coordinates.
- Address coordinates are not entrances, road snap points, property boundaries, or delivery points.
- Boundary decisions should use customer wording and quote-required buffers where disputes are likely.
- Multiple-origin workflows can support nearest branch messaging, but the distance remains straight-line unless Drive Zones are used.
Future live routing path
Future live routing belongs in a separate StreetKit Route path, with its own pricing, privacy, quota, timeout, and fallback rules. It should remain clearly separate from Radius; see the routing distance page for current status and alternatives.