Part of #589.
CONTEXT
The dashboard resolves "my venues" through GET /api/v1/venues?organization=visit-flanders (public read, handlers_venue.go:105, store filter at venue.go:156). Live data on 2026-08-28 already shows visit-flanders owns ad6, cloud-seven, rupelmonde, mobile-kit, and sint-niklaas-tourism-office (all district bxl1). This issue locks that in and documents the naming so the dashboard and the ops runbooks agree.
SCOPE
- Verify each of the five venues returns from GET /api/v1/venues?organization=visit-flanders and that no visit-flanders venue is missing the organization_id.
- Document the story-name to venue-ID map in docs/runbooks/runbook.md (or the sint-niklaas runbook):
- "Mercator museum / map museum, Sint-Niklaas" = sint-niklaas-tourism-office
- "mobile booth" = mobile-kit
- "rupelmonde" = rupelmonde
- Record the experiences at sint-niklaas-tourism-office (rupelmonde-castle-viewer, mercator-talks) stay accurate in docs/runbooks/sint-niklaas-tourism-office.md.
- EXPLICIT DEFERRAL: the SSE venue.created event omits organization_id from its payload (handlers_venue.go:74-82). The dashboard polls REST and does not consume SSE, so this stays deferred. File it as its own small issue on issues.experiencenet.com and reference it from the master issue; do not fix it here.
ACCEPTANCE CRITERIA
- GET /api/v1/venues?organization=visit-flanders returns exactly the owned venues, including rupelmonde, mobile-kit, and sint-niklaas-tourism-office.
- The name map above is committed to the runbook.
- The SSE organization_id gap has its own filed issue number, referenced here.
FILES
- /home/claude-user/hydravenues/internal/store/venue.go (OrganizationID at :17, List filter at :156)
- /home/claude-user/hydravenues/internal/api/handlers_venue.go (:105 filter, :74-82 SSE payload)
- /home/claude-user/hydravenues/docs/runbooks/runbook.md
- /home/claude-user/hydravenues/docs/runbooks/sint-niklaas-tourism-office.md
DEPLOY
Doc-only plus data verification; if any venue record needs organization_id set, use the API with the bearer token, never edit YAML on the server (house rule: config via API only).
PARTIALLY DONE 2026-09-01, keeping this open for the documentation half.
Done: attribution verified live and now consumed by the dashboard. visit-flanders owns cloud-seven, mobile-kit, rupelmonde and sint-niklaas-tourism-office. ad6 was reassigned away from visit-flanders and now belongs to experiencenet (Hydra ExperienceNet) after the owner confirmed ad6 is an internal venue; its description was corrected from "Visit Flanders venue in Overijse" to "Hydra internal venue in Overijse".
Still to do here: commit the story-name to venue-id map into the hydravenues runbook (map museum = sint-niklaas-tourism-office, mobile booth = mobile-kit, rupelmonde = rupelmonde). Note the live venue NAMES differ from the informal names used in conversation: hydravenues calls them "Sint-Niklaas Tourism Office" and "Mobile Kit", and the dashboard shows those, so the map is the only place the informal names are recorded.
The SSE organization_id gap this issue asked to file separately is now filed.