Assignment Matching by Geography
Feature Detail
Description
Assignment Matching by Geography automates the recommendation of suitable peer mentors for incoming assignments based on proximity to the contact's location. The feature calculates geographic distance between available peer mentors and assignment targets, surfacing ranked suggestions to coordinators. This reduces the manual effort of assignment dispatch and improves match quality by factoring in travel feasibility alongside existing matching criteria such as certification validity, availability status, and workload thresholds.
Sources & reasoning
Line 99 directly ties geographic visualization to matching and assignment dispatch (oppdragstildeling), providing the provenance for this feature as a distinct matching capability beyond simple map display. Line 358 places it in Fase 3, normalizing to v1.1. The blueprint lists this feature under Geographic Map View at [v1.1]. Kept as a separate feature from peer-mentor-map because matching logic and the dispatch integration are distinct from rendering the map layer.
-
docs/source/likeperson.md · line 99Geografisk kartvisning av likepersoner for matching og oppdragstildeling (sÊrlig store fylker).
-
docs/source/likeperson.md · line 358Geografisk kartvisning (Blindeforbundet)
Analysis
Automated geographic matching addresses the operational burden of manual assignment dispatch, a stated pain point for Blindeforbundet coordinators managing mentors across large regions. Proximity-ranked suggestions allow coordinators to make faster, better-informed decisions that reduce travel costs and improve timeliness of contact outreach. The feature integrates with assignment threshold tracking, so coordinators can see which geographically positioned mentors can take new assignments without exceeding workload limits. This supports both mentor retention and contact satisfaction by reducing overload and improving response times.
The feature builds on the geographic_locations table and peer_mentor_profiles data established by the Peer Mentor Map. Distance calculation uses the Haversine formula server-side, with the API returning a ranked candidate list for a given assignment location. The matching algorithm must respect peer mentor availability status (active vs paused) and certification validity, joining across peer_mentor_profiles, peer_mentor_status_history, and certifications tables. Results surface in the assignment dispatch flow within EncryptedAssignmentService, with MapService providing the geographic context layer. Backend must enforce tenant scoping on all geographic queries.
Quality Assurance
Coordinator (primary)Coordinator
Quick UAT
- Logg inn i Meander-appen som Koordinator. Naviger til Oppdrag-seksjonen og velg et ulest oppdrag som mangler tildelt likeperson.
- Trykk pÄ 'Finn likeperson' for oppdraget. Bekreft at geografisk matchpanel Äpnes og viser en rangert liste over tilgjengelige likepersoner med avstand, matchscore og sertifiseringsstatus.
- Ă pne avstandsfilteret Ăžverst i panelet. Sett maksimal reiseavstand til 30 km og bekreft at listen oppdateres til Ă„ vise kun kandidater innenfor denne radiusen.
- Trykk pÄ en likepersonkort i listen for Ä Äpne detaljskuffen. Bekreft at fullt profil vises med sertifiseringsdato, arbeidsmengde og avstand til kontaktens adresse.
- Lukk detaljskuffen. Velg den hĂžyest rangerte likepersonen og trykk 'Tildel oppdrag'. Bekreft at en bekreftelsesdialog vises med navn og avstand.
- Bekreft tildelingen. Bekreft at oppdraget er merket som tildelt og at likepersonens navn vises pÄ oppdragskortet i innboksen.
Quick UAT â Accessibility
-
Logg inn i Meander-appen som Koordinator. Naviger til Oppdrag-seksjonen og velg et ulest oppdrag som mangler tildelt likeperson.
- Screen reader Sideoverskrift 'Oppdrag' annonseres ved navigasjon; uleste oppdrag har ARIA-label med status 'Ikke tildelt'.
- Keyboard / focus Tab-rekkefĂžlge: bunnavigasjon â oppdragsliste â oppdragskort. Enter Ă„pner oppdraget.
- Focus visibility Synlig fokusring pÄ aktivt oppdragskort.
-
Trykk pÄ 'Finn likeperson' for oppdraget. Bekreft at geografisk matchpanel Äpnes og viser en rangert liste over tilgjengelige likepersoner med avstand, matchscore og sertifiseringsstatus.
- Screen reader Knapp annonseres som 'Finn likeperson'. PanelÄpning annonseres: 'Geografisk match, X kandidater funnet'.
- Keyboard / focus Tab nÄr til 'Finn likeperson'-knapp; Enter aktiverer. Fokus flyttes til paneltoppen ved Äpning.
- Focus visibility Fokus settes automatisk til fÞrste kandidatkort i panelet etter Äpning.
- Live region 'X kandidater funnet innenfor valgt radius' annonseres som polite live region.
-
Ă pne avstandsfilteret Ăžverst i panelet. Sett maksimal reiseavstand til 30 km og bekreft at listen oppdateres til Ă„ vise kun kandidater innenfor denne radiusen.
- Screen reader Filterkontroll annonseres med gjeldende verdi og enhet 'km'. Listeendring annonseres som 'Y kandidater innenfor 30 km'.
- Keyboard / focus Tab til filterrad; Enter utvider; piltaster eller tallinndata justerer radius; Tab bekrefter og lukker.
- Touch target Filterknapp og slider-kontroll â„ 24Ă24 CSS px.
- Live region 'Liste oppdatert, Y kandidater' annonseres ved filterendring.
- Zoom Filterrad og kandidatliste lesbar og brukbar ved 200% zoom uten horisontal scrolling.
-
Trykk pÄ en likepersonkort i listen for Ä Äpne detaljskuffen. Bekreft at fullt profil vises med sertifiseringsdato, arbeidsmengde og avstand til kontaktens adresse.
- Screen reader Kort annonseres med navn, avstand og matchscore. Skuff annonseres som dialog med overskrift 'Likepersonprofil'.
- Keyboard / focus Enter pÄ kortfokus Äpner skuffen. Fokus flyttes til skuffens innhold; Escape lukker og returnerer fokus til kortet.
- Focus visibility Synlig fokusring pÄ alle interaktive elementer i skuffen; semantiske overskrifter strukturerer innholdet.
- Contrast Arbeidsmengdeindikator og sertifiseringsstatus kommuniseres med tekst i tillegg til farge; 4.5:1 kontrast for all tekst.
-
Lukk detaljskuffen. Velg den hĂžyest rangerte likepersonen og trykk 'Tildel oppdrag'. Bekreft at en bekreftelsesdialog vises med navn og avstand.
- Screen reader Skuff-lukking annonseres. 'Tildel oppdrag'-knapp har tydelig label. Dialog annonseres med tittel og innhold ved Äpning.
- Keyboard / focus Escape lukker skuffen. Tab nÄr 'Tildel oppdrag'; Enter Äpner bekreftelses-dialog. Dialog er modal med focus trap.
- Focus visibility Fokus flyttes til dialog ved Äpning; bakgrunn er inert.
- Touch target 'Tildel oppdrag'-knapp og dialogknapper â„ 24Ă24 CSS px.
-
Bekreft tildelingen. Bekreft at oppdraget er merket som tildelt og at likepersonens navn vises pÄ oppdragskortet i innboksen.
- Screen reader Bekreftelsesknapp annonseres. Etter bekreftelse: 'Oppdrag tildelt til [navn]' annonseres som live region.
- Keyboard / focus Tab mellom Avbryt og Bekreft i dialog; Enter aktiverer valgt knapp.
- Focus visibility Etter bekreftelse returneres fokus til det oppdaterte oppdragskortet i innboksen.
- Live region 'Oppdrag tildelt til [navn]. Oppdragsstatus oppdatert.' annonseres som polite live region.
Role Boundaries
1 role(s) must NOT access this feature-
Peer Mentor
Geografisk matchpanel finnes ikke i navigasjonen for likepersoner; direkte deep-link til matchpanelet returnerer 403.
Expected End State
Oppdraget er tildelt valgt likeperson, matchresultatet er lagret i MatchResultStore med brukt filter og valgt kandidat, og oppdragskortet i koordinatorens innboks viser likepersonens navn og tildelingsstatus.
Components (26)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.