Districts and venues — the physical topology where experiences run.
Components: HydraVenues, HydraDistrict
After completing location setup:
HydraDistrict HydraVenues
┌────────────────────────┐ ┌────────────────────────────┐
│ bxl1 │ │ bxl1 / ad6 │
│ Brussels District 1 │───→│ owner: visit-flanders │
│ region: eu-west │ │ location: Overijse │
└────────────────────────┘ │ │
│ bxl1 / heysel │
│ owner: visit-flanders │
│ location: Brussels │
└────────────────────────────┘
Districts and venues must exist before experiences can target them.
Districts are infrastructure zones — they exist independently of any organization. A district can contain venues from multiple organizations.
# Create the district (infrastructure, not owned by any org)
hydravenues district create --id bxl1 --name "Brussels District 1" --region eu-west
hydravenues district list --json
SSE events emitted: district.created
Venues sit inside districts and belong to an organization. An organization can have venues across multiple districts. Each venue defines the physical floor plan where devices will be placed.
# Create venues within the district, owned by the customer
hydravenues venue create --id ad6 --name "AD6" --district bxl1 \
--organization visit-flanders --location "Overijse"
hydravenues venue create --id heysel --name "Heysel" --district bxl1 \
--organization visit-flanders --location "Brussels"
hydravenues venue list --district bxl1 --json
SSE events emitted: venue.created