Homologation & requirement profiles
Certification to host official competitions per level (club → regional → national → international). Decisions are made via the central approval chain; only one active homologation per venue and level. Requirement profiles are configurable per federation (tenant) and auto-validated when a competition is assigned to a venue at approval.
Status flow
requested → submitted → under_review → approved · rejected expired
Homologations · GET /v1/venues/homologations
| Venue | Level | Status | Certificate | Valid until | |
|---|---|---|---|---|---|
| Nordvik Boulodrome | national | approved | SE-NAT-2024-0142 | 2027-05-31 | · |
| Almvik Arena | international | under_review | — | — | |
| Sjöstad utomhus | regional | approved | SE-REG-2023-0088 | 2026-08-15 | · |
| Fyrudden BK:s hall | club | expired | SE-CLB-2021-0310 | 2025-12-31 | · |
Renewal due soon: Sjöstad utomhus · regional · expires 2026-08-15 — re-inspection proposed week 32, reminder sent to the venue manager.
Application & inspection — POST /v1/venues/homologations (all fields)
Inspection checklist (court dimensions, surface, lighting, facilities)
Certificate (filled in at approval)
Approve/reject happens in the approval chain with the right permissions — not here.
Requirement profiles per competition level · GET/POST /v1/venues/requirement-profiles — configurable per federation
Requirements (machine-readable keys against the venue's computed attributes)
| requirement_key | validation_type | required_value | |
|---|---|---|---|
| 🗑 | |||
| 🗑 | |||
| 🗑 | |||
| 🗑 | |||
| 🗑 | |||
| 🗑 | |||
| 🗑 |
Example Sweden: regional = marked courts, scoreboards, secretariat.
Auto-validation — POST …/validate-requirements?competition_level= (runs when the competition is assigned to a venue at approval)
Nordvik Boulodrome against level international — the venue's computed attributes against the requirement profile:
court_count ≥ 8 ✓ 12
total_spectator_capacity ≥ 300 ✓ 400
has_indoor = true ✓ true
has_facility.pa_system ✓ true
has_facility.restaurant ✓ true
has_facility.first_aid ✗ missing
Fails on has_facility.first_aid → the venue is not eligible for the international level. The competition assignment is blocked with a clear reason.
View states
Loading
Fetching homologations…
Empty
📜
No homologations yet.
Create requirement profiles per level first — then venues can apply.
Error
The application was rejected.
409 homologation_active_exists — an active homologation already exists for the venue at this level.