Coverage Boundaries
Boundaries define the geographic coverage of a zone. They are pure geography — shapes on a map with no business logic. The same boundary can be shared across multiple zones, and a single zone can have multiple boundaries for non-contiguous coverage.
Boundary Types
Otesse supports seven boundary types, each suited to different geographic modeling needs.
Polygon
A single closed polygon shape drawn on a map or imported as GeoJSON. Best for metro areas, neighborhoods, and districts with irregular borders. The polygon is stored as GeoJSON and checked via point-in-polygon algorithms during zone resolution.
Multipolygon
Multiple disjoint polygons grouped as one boundary. Use this for coverage areas split by geographic features — for example, a district with a river running through it creating two separate landmasses.
Radius
A circle defined by a center point (latitude and longitude) and a radius in meters. Ideal for "within X miles" scenarios and staff travel radius definitions. The system uses haversine distance calculations to determine whether a point falls within the radius.
Postal Code Set
A collection of postal codes that define the boundary. This is the simplest boundary type for service areas defined by zip codes. The system matches the customer's postal code against the set using exact matching.
Administrative Region
Similar to postal code sets but based on administrative divisions — states, counties, or cities. The boundary references administrative region records linked through postal codes.
Composite
A boundary built from other boundaries using set operations: union (combine areas), intersect (only overlapping areas), and exclude (subtract one area from another). Composites are evaluated sequentially by sort order. For example, "Metro Minus Airport" could be the union of Portland Metro and Beaverton, excluding the Airport Zone.
Route Corridor
A LineString with a buffer distance, creating a corridor along a road or highway. Use this for delivery routes or service areas that follow transportation infrastructure.
The Map-Based Boundary Editor
The Coverage tab provides a full map-based boundary editor powered by Mapbox GL JS. The editor combines several rendering approaches for a seamless experience.
Drawing New Boundaries
Click "Add Boundary" in the toolbar to enter drawing mode. Click on the map to place polygon vertices, and close the polygon by clicking near the first vertex. After drawing, the shape appears as a preview layer and a configuration drawer opens on the right side. Enter a name, select a color, and configure postal code associations. Postal codes within the drawn area are automatically detected and pre-selected.
Editing Existing Boundaries
Left-click a boundary on the map to open its configuration drawer in read mode. Right-click a boundary to enter vertex editing mode — vertices become draggable and you can reshape the boundary directly on the map. The editing toolbar provides mode switching between vertex editing, polygon drawing, and selection.
Collapsible Sidebar
The sidebar lists all boundaries in the zone with toggle buttons. Click the panel toggle to collapse or expand the sidebar, giving the map more space. The map automatically resizes after the sidebar animates.
Fullscreen Mode
Click the maximize button to enter fullscreen mode, which covers the entire viewport. All functionality — drawing, editing, clicking, and the configuration drawer — works identically in fullscreen. Press Escape to exit.
Other Zones Overlay
The map shows boundaries from other zones as dimmed overlays with dashed outlines. Each zone's boundaries use that zone's own color at reduced opacity. Labels show the zone name and priority rating. Click another zone's boundary to open that zone in a new tab, jumping directly to its Coverage view. This overlay helps visualize overlap between zones and identify gaps in coverage.
Postal Code Visualization
When the configuration drawer is open, the map shows postal code markers as blue circles for selected codes and gray circles for unselected ones. Each marker displays the zip code as a text label. Selected postal codes also show their area boundaries as semi-transparent blue polygons, fetched from the Geoapify boundary API. Toggling a postal code off makes its polygon disappear instantly; toggling it back on restores the polygon from cache.
Shared Boundaries
The same boundary can be linked to multiple zones. For example, the "Eugene City Limits" polygon might be linked to both the "Eugene Metro" zone (priority 50) and the "Premium Same-Day" zone (priority 75). When a customer in Eugene books a service, both zones match, and the system uses priority resolution to determine which zone's business rules apply.
Temporal Boundaries
Boundaries support effective date ranges for time-limited coverage. Permanent boundaries have no start or end date. Seasonal boundaries activate during specific months (e.g., summer lake service areas from May to September). Event-based boundaries activate for a specific event duration (e.g., stadium surge zones during game times).
On this page