docs: Rueckfall einer Bewerbung ins Archiv beschrieben
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c59115c728
commit
4635b9a64b
@@ -163,7 +163,11 @@ Acht Eigenheiten, die man kennen muss:
|
||||
die ein Job umsetzen müsste, kann von der Wirklichkeit abweichen - eine
|
||||
gerechnete Grenze nicht. `converted_at` ist dabei die Wahrheit, nicht
|
||||
`opportunity_id`: wird die Opportunity gelöscht, fällt der Verweis auf NULL,
|
||||
der Eintrag soll aber nicht wieder im Eingang auftauchen.
|
||||
der Eintrag soll aber nicht wieder im **Eingang** auftauchen - im **Archiv**
|
||||
schon. Ob eine übernommene Bewerbung dort wieder erscheint, wird aus dem
|
||||
Zustand der Opportunity abgeleitet (Papierkorb oder weg), nicht gespeichert:
|
||||
wird sie zurückgeholt, verschwindet der Eintrag von selbst wieder. Die Regeln
|
||||
dafür stehen in `server/src/acquisitionRules.js`.
|
||||
|
||||
### Postfach crm@perinco.de
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ geschnitten wird - Tag, Monat, Quartal oder Jahr.
|
||||
| Kachel | Was gezählt wird |
|
||||
| --- | --- |
|
||||
| **Bewerbungen** | Einträge in der Akquise mit Funddatum im Zeitraum. Jeder Eintrag ist eine versendete Bewerbung - **auch die, aus denen inzwischen eine Opportunity geworden ist**. Die Zahl ist deshalb regelmäßig höher als die Akquise-Liste lang ist; unter den Kacheln steht, wie viele übernommen wurden. Ein von Hand gelöschter Eintrag zählt nicht mehr mit |
|
||||
| **Zu Opportunity** | Bewerbungen, aus denen eine Opportunity geworden ist - dazu die Quote |
|
||||
| **Zu Opportunity** | Bewerbungen, aus denen eine Opportunity geworden ist - dazu die Quote. Wird die Opportunity gelöscht, zählt sie nicht mehr mit: die Bewerbung fällt dann ins Archiv zurück |
|
||||
| **Gewonnen** | Opportunities, die in die Phase *Beauftragt* gekommen sind |
|
||||
| **Beim Kunden** | Opportunities, die **jetzt** in *Kundenvorstellung* oder *Interview Kunde* stehen - unabhängig vom Zeitraum |
|
||||
|
||||
@@ -196,6 +196,13 @@ Endkunde, Beschreibung und Notizen.
|
||||
übernimmt es als Opportunity.
|
||||
* Wird ein Eintrag **übernommen**, verschwindet er aus Eingang und Archiv - er
|
||||
lebt als Opportunity weiter.
|
||||
* Wird diese **Opportunity gelöscht**, taucht die Bewerbung wieder im **Archiv**
|
||||
auf, gekennzeichnet mit *Opportunity im Papierkorb* bzw. *Opportunity
|
||||
gelöscht*. Ohne das wäre sie nirgends mehr zu finden: aus der Akquise ist sie
|
||||
mit der Übernahme heraus, und die Opportunity gibt es nicht mehr. Sie lässt
|
||||
sich dann wieder bearbeiten und erneut übernehmen. Holt jemand die Opportunity
|
||||
aus ihrem Papierkorb zurück, verschwindet der Eintrag von selbst wieder - und
|
||||
auch ein solcher Rückfaller wird 90 Tage nach seinem Funddatum gelöscht.
|
||||
|
||||
Verschoben wird dabei nichts: Eingang und Archiv sind dieselbe Liste, nur nach
|
||||
dem Funddatum geteilt. Es gibt also keinen Zustand, der klemmen kann.
|
||||
|
||||
@@ -94,6 +94,7 @@ Alle unter `router.use(requireAuth)`.
|
||||
| `opportunities.js` | `GET /?trash=true`, `POST /`, `PATCH /:id`, `DELETE /:id` (Papierkorb), `POST /:id/restore`, `POST /trash/empty` | ändern, löschen und wiederherstellen nur Ersteller, Zuständiger oder Admin; Leeren jeder Angemeldete |
|
||||
| `acquisitions.js` | `GET /?view=eingang\|archiv\|alle`, `POST /`, `PATCH /:id`, `DELETE /:id`, `POST /:id/opportunity`; Auswahllisten: `GET/POST /options`, `PATCH/DELETE /options/:id` | Einträge ändern/löschen nur Ersteller oder Admin; Auswahllisten jeder Angemeldete |
|
||||
| `badges.js` | `GET /` | Zahlen für die Seitenleiste: Akquise-Archiv, beide Papierkörbe, verworfene Scanner-Treffer. Der Scanner-Zähler ist `null`, wenn dessen Datenbank fehlt |
|
||||
| `acquisitionRules.js` (kein Router) | Fristen und die SQL-Bedingungen `IS_OPEN`, `IN_ARCHIVE`, `NOT_DUE`, `OPPORTUNITY_GONE`. Geteilt von Liste, Zählern, Aufräumlauf und Menüzahl - zwei Kopien derselben Regel sind einmal auseinandergelaufen |
|
||||
| `dashboard.js` | `GET /?from=&to=&bucket=tag\|monat\|quartal\|jahr` | drei Reihen über der Zeit plus Bewerbungen je Berater. Liest Akquise **und** `crm_acquisition_history`; Termine und Phasenlisten stehen bewusst nicht drin - die lädt die App ohnehin |
|
||||
| `mail.js` | `GET /status`, `/messages`, `/messages/:id`, `/candidates`; `POST /messages/:id/links`, `/messages/:id/restore`, `/candidates/:id/adopt`, `/candidates/:id/reject`, `/trash/empty`; `DELETE /links/:id`, `/messages/:id`; `requireAdmin`: `GET/POST /settings`, `POST /test`, `POST /sync` | lesen, zuordnen und löschen jeder; einrichten Admin |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user