# PLAN – Sagsopretter: husets brugere, medarbejdere og eksterne > **Status: Fremtidig plan – ikke implementeret.** > > Planen ændrer ikke eksisterende sager, kunder eller kontaktpersoner. Før > udvikling kortlægges den nuværende sagsopretter, kontakt-søgning og > kunde-/kontaktrelationer. ## 1. Formål Når der oprettes en sag for eksempelvis et PFA-hus, er **huset/adressen** kunden på sagen. Den person, som ringer eller bruger huset, skal registreres som kontaktperson på sagen. Personen kan være: - medarbejder hos kunden - husets bruger fra et andet firma - ekstern, fx leverandør, håndværker eller gæst Sagen skal fortsat have huset som kunde, også når personen arbejder for et andet firma. ## 2. Arbejdsgang i sagsopretteren 1. Brugeren vælger først kunde/hus og eventuelt lokation. 2. Feltet **Kontaktperson** søger mens der skrives på navn, telefon og e-mail. 3. Resultater viser navn, firma, rolle og eventuel tidligere tilknytning til huset. 4. Brugeren vælger en eksisterende person, eller fortsætter med en af de to handlinger nederst i resultatlisten: - **Opret medarbejder** - **Opret ekstern / husets bruger** 5. Den oprettede kontakt vælges automatisk på sagen. 6. Kunde og lokation på sagen må ikke ændres af kontaktoprettelsen. ## 3. Opret medarbejder Formularen skal være kort: - navn - telefon og/eller e-mail - rolle eller afdeling, valgfrit Den nye person knyttes til den valgte kunde/hus som medarbejder og tilføjes som kontaktperson på sagen. ## 4. Opret ekstern / husets bruger Formularen skal indeholde: - navn - telefon og/eller e-mail - eget firma: vælg eksisterende eller opret nyt - rolle ved huset, fx bruger, leverandør, håndværker eller gæst - valgfri note Personen får både sin egen firmatilknytning og en særskilt tilknytning til det valgte hus/lokation. Det betyder, at samme person senere kan findes via navn, eget firma og hus. ## 5. Datamodel og regler Før implementering kortlægges eksisterende tabeller og API'er for: - kontaktpersoner - firma-/kunde-tilknytning - sagens kontaktpersoner - lokationer Hvis den nuværende model ikke kan repræsentere en ekstern bruger af et hus, oprettes en selvstændig, bagudkompatibel relation: `kontakt_lokationsbrugere` Foreslåede felter: - `contact_id` - `location_id` - `customer_id` for huset - `relation_type` (`employee`, `house_user`, `external_supplier`, `guest`) - `company_id` for personens eget firma, valgfri - `role`, `notes` - `is_active`, oprettet/opdateret-tidspunkt En person må have flere aktive relationer til flere huse. Eksisterende kontakt- og kundedata må ikke omskrives eller flyttes. ### Firmaer i huset Et firma, der bruger et hus men ikke er BMC-kunde, skal registreres som en organisation med typen `external_house_company`. Det skal have: - et tydeligt tag, fx **Firma i huset** - feltet `is_bmc_customer = false` - feltet `show_in_customer_list = false` - relation til hovedkunden og den konkrete lokation/hus Det betyder, at firmaet kan have egen profil, egne brugere og egne kontaktdata uden at optræde i den normale kundeliste eller blive valgt som fakturakunde. Den normale kundeliste viser kun BMC-kunder som standard. En eksplicit filter **Vis firmaer i huse og eksterne organisationer** viser de skjulte firmaer, når det er nødvendigt. Relationen skal være mange-til-mange, da ét firma kan bruge flere huse, og ét hus kan rumme flere firmaer. ## 5.1 Placering i brugerfladen På hovedkunden/huset tilføjes en fane: **Brugere i huset** Fanens to sektioner: 1. **Personer** – medarbejdere, husets brugere, leverandører og gæster. 2. **Firmaer i huset** – eksterne firmaer med antal brugere og de lokationer, de er knyttet til. På den konkrete lokation kan samme data vises som en mindre, filtreret oversigt. Sagsopretteren søger først i personerne og firmaerne under det valgte hus. ## 6. Søgning og dubletkontrol Søgning skal prioritere: 1. personer, som allerede er knyttet til det valgte hus 2. personer hos den valgte kunde 3. øvrige kendte kontakter Før oprettelse vises mulige dubletter ved samme e-mail eller telefon. Brugeren skal kunne vælge den eksisterende kontakt i stedet for at oprette en ny. ## 7. Visning på sagen Sagen skal vise: - kunde: huset/adressen - lokation, hvis valgt - kontaktpersonens navn - personens eget firma, hvis det er et andet firma - relation til huset, fx `Husets bruger` eller `Ekstern leverandør` Dette skal være tydeligt i både sagsdetalje og ved senere genåbning af sagen. ## 8. Afgrænsning for første version Første version omfatter kun søgning, oprettelse og tilknytning af personer under sagsoprettelse. Den må ikke ændre fakturakunde, eksisterende kundehierarki, rettigheder eller historiske sager. ## 9. Implementeringsrækkefølge 1. Kortlæg nuværende kontakt- og sagsrelationer. 2. Beslut om eksisterende relationer er nok; opret kun ny migration ved behov. 3. Tilføj søge-API med kundens/husets relationer først. 4. Tilføj de to opret-flow i sagsopretteren. 5. Tilføj relationen for firmaer i huset og fanen **Brugere i huset**. 6. Tilføj automatisk valg af den nye kontakt på sagen. 7. Vis relationen tydeligt på sagsdetaljen. 8. Tilføj dubletkontrol og audit-log. ## 10. Acceptkriterier - En PFA-lokation kan vælges som kunde på sagen. - En bruger fra et andet firma kan oprettes uden at ændre sagens kunde. - Personen kan findes igen ved navn, eget firma og hus. - Medarbejder og ekstern kan oprettes fra samme kontakt-søgning. - Firmaer i huset er skjult fra den normale kundeliste som standard. - Firmaer i huset kan findes fra hovedkunden, lokationen og sagsopretteren. - Eksisterende sager og kontakter virker uændret.