Skip to content

Regions & locations

Regions and locations give your sites geographic and physical structure. Regions sit above sites (a country, a city, an organizational area), and locations sit within a site (building → floor → room).

Both nest into trees, so you can model exactly as deep as you need.

Add a region

A region groups sites geographically or organizationally - and regions can nest inside other regions.

  1. Open Organization → Regions in the sidebar and click Add region.
  2. Give it a name and a slug (a short URL-friendly identifier).
  3. Optionally pick a parent region to nest it under, and add a description.
  4. Save.

To put a site in a region, open the site's form and pick the region there.

The Regions list renders as a tree: sub-regions sit indented directly under their parent (any nesting depth), the same way locations and prefixes do - no reading the Parent column to reconstruct the hierarchy. Rows are bulk-editable: select several regions and set (or clear) their parent in one action - cycle-guarded, so a selection can never become its own ancestor.

Map boundary from OpenStreetMap

A region can carry a real geographic outline - no drawing required. On the region form, type a place or postal code into Map boundary ("Fyn", "Ringkøbing-Skjern Kommune", "6950 Denmark") and press Search OSM: Danbyte asks OpenStreetMap's Nominatim geocoder for matching administrative boundaries and lists the candidates. Pick one and the polygon is stored on the region - it is fetched once, at your click, never on a schedule.

  • The boundary (with the region's map color) is shaded on the Site map - toggle it under View → Region boundaries - and as a mini-map on the region's overview page.
  • Clear removes the stored polygon; searching again replaces it.
  • Geometry is simplified at fetch time and size-capped, so payloads stay small; results without an area outline (plain points) are filtered out.

Importing your own boundary (GeoJSON / QGIS)

When OpenStreetMap has no shape for what you call a region - a service area, a franchise territory, a campus drawn by hand - press Import GeoJSON on the region form and pick a .geojson file. QGIS's Export → Save Features As → GeoJSON produces exactly this, as does any GIS.

  • Coordinates must be WGS84 (EPSG:4326) - longitude/latitude, what GeoJSON specifies. A projected export (metres, a national grid) is refused with a note to reproject, rather than silently drawing your region off the coast of Africa, which is where projected coordinates land when read as degrees.
  • A file with several shapes becomes one multi-part boundary. An archipelago exported as five features is one region in five pieces, so all of them are kept rather than only the first.
  • It is simplified to fit. A traced municipality routinely carries tens of thousands of points; the map has to send the shape to a browser, so Danbyte reduces it until it fits the payload budget and then tells you what that cost - "4,821 of 20,001 points kept". If it still won't fit, simplify in your GIS (QGIS: Vector → Geometry Tools → Simplify) and re-export.
  • Points and lines are refused: a boundary needs an area. Shapefiles and GeoPackages must be exported to GeoJSON first.

The imported shape is stored and drawn exactly like an OSM one, and the file name is kept as its label so it's clear later where the outline came from. Clear removes it; importing again replaces it.

Boundary data from OpenStreetMap is © OpenStreetMap contributors, licensed under the ODbL. Lookups are single, operator-triggered requests with an identifying user agent, per the Nominatim usage policy.

Click a region's name to open its detail page - the pencil in the header edits it. It shows the parent region plus a Sites tab (the sites that sit directly in the region) and a Sub-regions tab, each with counts, backed by GET /api/sites/?region=<id> and ?parent=<id> on regions.

Devices, racks and virtual machines carry their site's region on every row (site.region in the list API), so their lists can show a Region column - tick it under Columns. The region is the site's; a row without a site has no region.

The chain continues on the objects themselves: a site page has a Locations tab listing the locations inside it (GET /api/locations/?site=<id>); a location links back to its site and parent location and lists its racks; and a rack links back to its location and site - so you can walk region → site → location → rack (and back) entirely through links.

Add a location

A location is a place inside a single site - a building, a floor, a room - and locations can nest inside other locations. A location's physical layout can be drawn as a floor plan - a grid of tiles linked to the racks and devices that live there.

  1. Open Organization → Locations and click Add location.
  2. Choose the site this location belongs to.
  3. Give it a name and a slug.
  4. Optionally pick a parent location (it must be in the same site), set a status, and add a description.
  5. Optionally give it a color and a Lucide icon - they render as a badge next to the location's name on list and detail pages, the same treatment floor-plan tile types get.
  6. Save.

Changing the site clears the parent

A location's parent must be in the same site, so if you switch the site on the form, the parent field resets.

Location status

Status Meaning
Active In use.
Planned Not built or occupied yet.
Decommissioning Being wound down.
Retired No longer in use.

Nothing is pre-filled

Danbyte ships no sample regions or locations - you create exactly the ones your organization uses.

Nodes with children can't be deleted

You can't delete a region that still has sub-regions or sites, or a location that still has sub-locations. Move or remove the children first.

Address line vs. location tree

A site's free-text location field is just an address line. The structured building → floor → room tree is what you build with locations.

Floor plans

A location can be drawn as a floor plan - a grid canvas of tiles (racks, walls, cooling…) linked to real objects. The Location page's Floor plan button opens the location's plan, or creates one if none exists yet.

Tags & custom fields

Need to track something extra on a location - a square footage, an access note? Add a custom field for locations and it appears on every form. See Tags & custom fields.