StreetKit Radius

Delivery radius checks for NZ forms and checkouts

StreetKit Radius estimates straight-line distance from a configured origin to the selected address coordinates, then returns context your site can use for delivery, service-area, branch, or quote-required rules.

What it does

Radius runs after a user selects a StreetKit address with coordinates. It uses the configured origin and straight-line distance to classify your customer-owned rules.

Feature status: available in the browser widget when radiusRules is configured and the selected address includes latitude and longitude. Missing coordinates return an unavailable status instead of a guessed result.

Display this wording with any result: Estimated straight-line distance from selected address coordinates.

Where it fits

Free-delivery rules

Show a customer-owned message when the selected address is within a configured local radius such as 20 km.

Service availability

Classify standard service areas, installer coverage, booking forms, or quote-required regions from selected address coordinates.

Nearest branch hints

Compare a selected address against configured branch, depot, warehouse, or team origins using straight-line distance.

Quote forms

Write the Radius status, origin, matched rule, and disclaimer into explicit fields that your form or CRM already owns.

Example delivery rules

  • Free delivery within 20 km.
  • Paid local delivery within 50 km.
  • Quote required outside standard area.

These are example business rules. StreetKit returns distance and rule context; your website remains responsible for pricing, shipping methods, checkout decisions, and any manual review.

Demo

Try the homepage Radius demo for the current straight-line workflow, or start from the main address demo and review the selected address output.

Widget config snippet

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: "paid-local-delivery-50km",
        label: "Paid local delivery within 50 km",
        radiusKm: 50,
        fee: 25,
        message: "Paid local delivery is available."
      },
      {
        id: "quote-required",
        label: "Quote required outside standard area",
        radiusKm: 120,
        message: "A delivery quote is required."
      }
    ]
  },
  onSelect(address, context) {
    console.log(address, context.radius);
  }
});

Example result context

{
  "radius": {
    "mode": "straight_line",
    "status": "ok",
    "distance": {
      "km": 18.6,
      "roundedKm": 18.6
    },
    "origin": {
      "id": "akl-warehouse",
      "label": "Auckland warehouse"
    },
    "matchedRules": [
      {
        "id": "free-delivery-20km",
        "label": "Free delivery within 20 km",
        "radiusKm": 20,
        "fee": 0
      }
    ],
    "wording": "Estimated straight-line distance from selected address coordinates."
  }
}

Limitations

  • Radius is straight-line distance only.
  • Radius is not driving distance, road distance, route distance, or travel time.
  • Radius does not use live traffic.
  • Radius is not courier-certified.
  • Radius is not NZ Post delivery-certified.
  • Selected-address coordinates are address points, not entrances, road snap points, parcel boundaries, or delivery points.
  • Boundary cases should use customer-owned quote-required buffers rather than hard delivery promises.

Next steps