Files
perinco-CRM/docs/10-glossar.md
T
Sascha WolfandClaude Opus 5 6e66bd39d7 feat(akquise): Papierkorb fuer geloeschte Eintraege
Loeschen in der Akquise war ein echtes DELETE: der Eintrag stand danach
in keiner Liste, auch nicht im Archiv, und war nicht zurueckholbar. Jetzt
setzt es `deleted_at`/`deleted_by`, die Zeile bleibt 90 Tage stehen.

Der Papierkorb ist die eine Ausnahme von der Regel, dass diese Tabelle
keinen Zustand fuehrt: Loeschen von Hand ist eine Entscheidung, kein
Ablauf. Was dort liegt, blenden alle anderen Abfragen ueber NOT_DELETED
aus - Eingang, Archiv, Menuezahlen und Dashboard. Der Aufraeumlauf ueber
`found_at` laesst geloeschte Zeilen ausdruecklich liegen, sonst waere ein
alter Fund im Papierkorb sofort weg; der Papierkorb raeumt ab
`deleted_at`.

Zwei Rueckwege, deshalb zwei Routen. `/reopen` (bisher `/restore`) holt
aus dem Archiv in den Eingang und setzt das Funddatum auf heute.
`/restore` holt aus dem Papierkorb zurueck und laesst das Funddatum in
Ruhe - der Eintrag soll dort auftauchen, wo er hingehoert, also im
Archiv, wenn er alt ist. Die Meldung nennt das Ziel.

Dazu `DELETE /:id/permanent` und `POST /trash/empty`. Im Papierkorb wird
nicht gepflegt: Bearbeiten und Uebernehmen antworten 409.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-03 10:17:21 +02:00

7.7 KiB

10 Glossar

Begriffe, die in der Oberfläche, im Code und in den Tabellen vorkommen. Die englischen Fachbegriffe sind bewusst nicht eingedeutscht - sie stehen so auch im Quelltext.

Begriff Bedeutung
Agent / Suchagent Ein Beraterprofil im Scanner: Name, Lebenslauf als PDF, Suchbegriffe, Ausschluss-Begriffe. Tabelle agents. Nicht zu verwechseln mit einem Benutzerkonto.
Ausschluss-Begriff Wort, das ein Projekt für diesen Agenten sofort aussortiert - noch vor der KI-Bewertung, spart also Kosten. Typisch: „Arbeitnehmerüberlassung".
Benutzer Konto für die Anmeldung, Rolle admin oder user. Tabelle crm_users.
Börse / Portal Projektplattform, die der Scanner durchsucht. Öffentlich (Hays, Etengo) oder geschützt (Freelance.de, Freelancermap.de). Tabelle portals.
App-only Zugriff auf Microsoft 365 im Namen der Anwendung, nicht eines Benutzers (OAuth-Ablauf Client Credentials). Braucht Anwendungsberechtigungen und Administratorzustimmung, aber keinen Login.
Cookie-Import Übertragen einer angemeldeten Browsersitzung auf den Scraper, per JSON-Export der Erweiterung Cookie-Editor. Landet als session_state am Portal.
Delta Query Graph-Abfrage, die beim nächsten Aufruf nur noch die Änderungen liefert. Der Fortschritt steckt in einem Verweis (delta_link), der in crm_mail_sync_state liegt.
Kontakt / Lead Person im Netzwerk: Firma, Position, Status, Verbindungen. Tabelle crm_leads mit mail_pool = 0. Im Code durchgängig lead.
Aus Mails / Vorbereich Zeilen in crm_leads mit mail_pool = 1: Personen, die der Postfachabgleich gefunden hat. Eigener Menüpunkt unter Kontakte, taucht in keiner Auswahlliste auf. Erst das Übernehmen macht daraus einen Kontakt.
Einverständnis für Mails Haken am Kontakt (crm_leads.mail_consent, Zeitpunkt in mail_consent_at). Nur damit kommt die Adresse in die Mailingliste. Im Vorbereich Aus Mails gibt es ihn nicht, und beim Übernehmen wird er nicht mitgesetzt.
Mailingliste Alle Adressen mit Einverständnis, durch Komma getrennt. Über die Zwischenablage oder als mailto: mit den Adressen im BCC. Nichts wird versendet - das CRM hat keinen Postausgang.
Dublette (Aus Mails) Ein Fund, zu dem es in den Kontakten schon eine Person gibt - erkannt an der E-Mail-Adresse, sonst am vollen Namen. In der Liste gold markiert, abweichende Felder hervorgehoben.
Kontakt-Vorschlag Aus einer Mail gelesene Person, die noch kein Kontakt ist. Tabelle crm_mail_contact_candidates. Wird übernommen, ergänzt oder verworfen.
Match / Treffer Die Bewertung eines Projekts für einen Agenten: Prozentwert, Pro-Liste, Contra-Liste, Status. Tabelle matches. Ein Projekt erzeugt so viele Treffer, wie es aktive Agenten gibt.
Opportunity Geschäft in Arbeit: Phase, Tagessatz und Laufzeit oder Projektpreis, Wahrscheinlichkeit, Ansprechpartner. Tabelle crm_opportunities.
Akquise Eingang für gefundene Projekte, bevor daraus eine Opportunity wird. Tabelle crm_acquisitions. Nach 14 Tagen im Archiv, nach 90 Tagen gelöscht.
Bewerbung Ein Eintrag in der Akquise. Jeder Eintrag bedeutet, dass ein Beraterprofil raus ist - so zählt es das Dashboard.
Auswahllisten (Akquise) Inhalte der Dropdowns Von, Kanal, Berater. Tabelle crm_acquisition_options, gepflegt unter Einstellungen → Akquise. Anbieter ist Freitext mit Vorschlägen.
Art (eines Kontakts) Recruiter, Partner oder Endkunde. Spalte crm_leads.kind; hieß bis 18.08.2026 „Status" mit den Werten Neu .. Verloren.
Papierkorb (Mails) Im CRM gelöschte Mails. Umkehrbar, bis er geleert wird. Im Postfach crm@perinco.de bleiben die Mails in jedem Fall; der Abgleich holt gelöschte nicht wieder herein.
Papierkorb (Akquise) Von Hand gelöschte Akquise-Einträge, crm_acquisitions.deleted_at. Wiederherstellbar; endgültig weg nach 90 Tagen oder beim Leeren. Zählt in der Auswertung nicht mit.
Papierkorb (Opportunities) Gelöschte Opportunities, crm_opportunities.deleted_at. Wiederherstellbar; endgültig weg nach 90 Tagen oder beim Leeren.
Phase / Stage Fortschritt einer Opportunity im Vermittlungsprozess: Neu, Beworben, Erstgespräch Berater, Kundenvorstellung, Interview Kunde, Zusage, Beauftragt, Absage. Offen ist alles bis Zusage. In der Datenbank steht Erstgespraech Berater ohne Umlaut; angezeigt wird er (STAGE_LABELS).
Pipeline Zwei Bedeutungen, je nach Zusammenhang: die Kanban-Ansicht der Opportunities oder der Suchlauf des Scanners (services/pipeline.js).
Projekt Ein von einer Börse gescrapter Auftrag. Tabelle projects, Aufbewahrung 7 Tage.
Scraper Der Teil, der mit einem echten Browser (Playwright/Chromium) die Suchseiten der Börsen abruft.
Session (Portal) Gespeicherte Cookies einer angemeldeten Börsen-Sitzung, im Playwright-Format storageState.
Sitzung (CRM) Die eigene Anmeldung, als JWT im localStorage, 12 Stunden gültig.
Suchintervall Abstand zwischen zwei automatischen Suchläufen, in Minuten. Einstellung search_interval.
Schwellenwert Anzeige display_threshold - Treffer darunter bleiben im Dashboard ausgeblendet.
Schwellenwert Benachrichtigung match_threshold - ab hier gibt es Signalton und E-Mail.
Verbindung Kante zwischen zwei Kontakten im Netzwerkdiagramm, mit Art und Stärke. Tabelle crm_lead_connections.
Volumen Tagessatz x Personentage - oder der Projektpreis, wenn einer eingetragen ist. Ein mit der Abschlusswahrscheinlichkeit gewichtetes Volumen gibt es nicht (seit 18.08.2026 entfernt); so wird bei perinco nicht gerechnet.
Whisper Das Spracherkennungsmodell für das Diktat. Läuft im Browser, nicht auf dem Server.
Zugriffsrichtlinie ApplicationAccessPolicy in Exchange Online. Begrenzt eine App-only-Berechtigung auf einzelne Postfächer - ohne sie gilt sie tenant-weit.
Zuständiger / Owner Benutzer, dem ein Kontakt oder eine Opportunity zugeordnet ist. Darf sie ändern, auch wenn er sie nicht angelegt hat.
Zuversicht / Confidence Wert von 0 bis 100 an einem Kontakt-Vorschlag. Ab 70 und mit echter Mailadresse landet er automatisch im Vorbereich Aus Mails.

Herkunft eines Kontakt-Vorschlags

Wert in der DB in der Oberfläche Zuversicht
absender Absender 90, mit bestätigender Signatur 95
empfaenger Empfänger 78
signatur Signatur 55 - weitere Adresse in der Signatur, etwa eine Assistenz
text Im Text genannt 35 - nur mit Anrede und Rufnummer, nie automatisch übernommen

Status eines Kontakt-Vorschlags

Wert in der Oberfläche Bedeutung
offen Offen wartet auf eine Entscheidung
uebernommen Übernommen es entstand ein Eintrag - im Automatiklauf in Aus Mails, von Hand ein Kontakt
dublette Ergänzt die Adresse war im Zielbestand vorhanden, der Eintrag wurde erweitert
verworfen Verworfen von Hand abgelehnt

Statuswerte im Scanner

Wert in der DB in der Oberfläche Bedeutung
new Neu noch nicht angesehen
reviewed Gesehen geprüft, noch keine Bewerbung
applied Beworben Bewerbung ist raus
rejected Abgelehnt passt nicht; erscheint nur unter Unpassend

Portal-Status

Wert Bedeutung
connected Verbindung steht, letzte Prüfung erfolgreich
expired Session abgelaufen oder CAPTCHA - neuer Cookie-Import fällig
error Portal nicht erreichbar oder Seitenaufbau geändert
disconnected nie verbunden; bei öffentlichen Portalen heißt das nur „bereit"