Incentive (E1): Recruiting Challenge mit finalen Texten als Seeder, Abstimmungsvorlage aktualisiert
Seeder legt die Challenge als Entwurf mit Beschreibung, Bedingungen und den Werten 50 EUR je Neupartner sowie 500/300/200 EUR Bonus an; ein zweiter Lauf aktualisiert nur die Texte. Vorlage ohne Gedankenstriche, Bonus entschieden, offene Regelfragen mit den in den Bedingungen hinterlegten Vorschlaegen. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
1f55e2c966
commit
4e4b58e90e
3 changed files with 234 additions and 111 deletions
91
database/seeders/RecruitingChallenge2026Seeder.php
Normal file
91
database/seeders/RecruitingChallenge2026Seeder.php
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Incentive;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
/**
|
||||
* Recruiting Challenge Oktober 2026 bis Januar 2027 (Entwicklungsplan E1).
|
||||
*
|
||||
* Legt die Challenge mit den abgestimmten Texten als Entwurf an oder aktualisiert
|
||||
* die Texte, wenn sie schon existiert (Schluessel: Slug). Konfigurationswerte werden
|
||||
* nur beim Anlegen gesetzt, damit nachtraegliche Admin-Aenderungen erhalten bleiben.
|
||||
*
|
||||
* php artisan db:seed --class=RecruitingChallenge2026Seeder
|
||||
*
|
||||
* Danach im Admin pruefen, Bild eintragen und auf "Aktiv" stellen.
|
||||
*/
|
||||
class RecruitingChallenge2026Seeder extends Seeder
|
||||
{
|
||||
public const SLUG = 'recruiting-challenge-2026-27';
|
||||
|
||||
public function run(): void
|
||||
{
|
||||
$texts = [
|
||||
'name' => 'Recruiting Challenge 2026/27',
|
||||
'subtitle' => '50 € für jeden neuen Partner. Plus Extrabonus für die Top 3.',
|
||||
'description' => $this->description(),
|
||||
'terms' => $this->terms(),
|
||||
];
|
||||
|
||||
$config = [
|
||||
'qualification_start' => '2026-10-01',
|
||||
'qualification_end' => '2027-01-31',
|
||||
'calculation_end' => '2027-01-31',
|
||||
'points_partner_onetime' => 1,
|
||||
'points_abo_onetime' => 0,
|
||||
'min_direct_partners' => 0,
|
||||
'min_customer_abos' => 0,
|
||||
'max_winners' => 3,
|
||||
'amount_per_partner' => 50,
|
||||
'bonus_rank_1' => 500,
|
||||
'bonus_rank_2' => 300,
|
||||
'bonus_rank_3' => 200,
|
||||
'include_sales_points' => false,
|
||||
'status' => 0,
|
||||
'image' => null,
|
||||
];
|
||||
|
||||
$incentive = Incentive::withTrashed()->where('slug', self::SLUG)->first();
|
||||
|
||||
if ($incentive) {
|
||||
$incentive->update($texts);
|
||||
$this->command?->info('Recruiting Challenge aktualisiert (Texte), ID '.$incentive->id);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$incentive = Incentive::create(array_merge($texts, $config, ['slug' => self::SLUG]));
|
||||
$this->command?->info('Recruiting Challenge angelegt als Entwurf, ID '.$incentive->id);
|
||||
}
|
||||
|
||||
private function description(): string
|
||||
{
|
||||
return <<<'HTML'
|
||||
<p><strong>Jeder neue Partner bringt dir 50 €. Sofort gezählt, im Februar ausgezahlt.</strong></p>
|
||||
<p>Vom 1. Oktober bis zum 31. Januar zählt jeder neue Partner, der mit dir startet und ein Starterpaket bestellt. Kein Mindestumsatz. Keine Mindestanzahl. Der erste zählt genauso wie der zwanzigste.</p>
|
||||
<p>Und wer am 31. Januar die meisten neuen Partner im Team hat, holt sich obendrauf den Top 3 Bonus: <strong>500 € für Platz 1, 300 € für Platz 2, 200 € für Platz 3.</strong></p>
|
||||
<p>Deine Punkte laufen automatisch mit. Bestätige einmal deine Teilnahme, dann steht dein Name in der Rangliste. Ab da gilt: Jedes Starterpaket zählt.</p>
|
||||
<p><strong>Fünf neue Partner? 250 €. Zehn? 500 €. Und Platz 1 legt noch 500 € drauf.</strong></p>
|
||||
HTML;
|
||||
}
|
||||
|
||||
private function terms(): string
|
||||
{
|
||||
return <<<'HTML'
|
||||
<h5>Teilnahmebedingungen: Recruiting Challenge 2026/27</h5>
|
||||
<p><strong>1. Worum es geht.</strong> mivita veranstaltet die Recruiting Challenge 2026/27. Für jeden neuen Partner, den ein Berater im Aktionszeitraum gewinnt, zahlt mivita eine Prämie. Die drei Berater mit den meisten neuen Partnern erhalten zusätzlich einen Bonus.</p>
|
||||
<p><strong>2. Wer mitmachen kann.</strong> Alle Berater mit aktivem Beraterkonto. Die Teilnahme wird einmal im Backoffice bestätigt. Neue Partner werden ab dem 1. Oktober 2026 gezählt, egal wann die Bestätigung erfolgt. Ohne Bestätigung erscheint der Berater in der Rangliste anonym und erhält keine Auszahlung.</p>
|
||||
<p><strong>3. Aktionszeitraum.</strong> 1. Oktober 2026 bis 31. Januar 2027. Es zählt das Datum der bezahlten Registrierungsbestellung des neuen Partners.</p>
|
||||
<p><strong>4. Was zählt.</strong> Ein neuer Partner ist eine Person, die sich im Aktionszeitraum mit dem Teilnehmer als Sponsor als Berater registriert und ein Starterpaket bezahlt hat. Eine Registrierung nur mit Mitgliedschaft zählt nicht. Jeder neue Partner wird einmal gezählt. Die Rangliste ergibt sich aus der Anzahl neuer Partner.</p>
|
||||
<p><strong>5. Prämie.</strong> 50 € je neuem Partner, ohne Obergrenze. Die Berater auf den Plätzen 1 bis 3 erhalten zusätzlich 500 €, 300 € und 200 €.</p>
|
||||
<p><strong>6. Gleichstand.</strong> Haben mehrere Berater die gleiche Anzahl neuer Partner, liegt vorn, wer diese Anzahl zuerst erreicht hat.</p>
|
||||
<p><strong>7. Widerruf und Storno.</strong> Widerruft ein neuer Partner seine Registrierung oder wird die Bestellung storniert, entfällt die Wertung für diesen Partner. Stichtag ist die Auszahlung im Februar 2027, danach wird nicht mehr zurückgerechnet.</p>
|
||||
<p><strong>8. Auszahlung.</strong> Die Prämien werden nach Ende der Challenge im Februar 2027 gesammelt ausgezahlt. Die Prämie ist eine Einnahme aus der Beratertätigkeit. Für die Versteuerung ist der Berater selbst verantwortlich.</p>
|
||||
<p><strong>9. Ausschluss.</strong> Bei Missbrauch, zum Beispiel Scheinregistrierungen oder Mehrfachkonten, kann mivita einzelne Wertungen streichen oder den Teilnehmer ausschließen.</p>
|
||||
<p><strong>10. Änderungen.</strong> mivita kann die Bedingungen aus sachlichem Grund anpassen. Änderungen werden im Backoffice bekannt gegeben.</p>
|
||||
<p><strong>11. Datenschutz.</strong> Nach Bestätigung der Teilnahme sind Name und Punktestand des Teilnehmers in der Rangliste für andere Berater sichtbar.</p>
|
||||
HTML;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +1,19 @@
|
|||
# Recruiting-Challenge Oktober 2026 – Januar 2027: Inhaltsvorschlag und Abstimmung
|
||||
# Recruiting Challenge Oktober 2026 bis Januar 2027: Inhalte und Abstimmung
|
||||
|
||||
**Stand:** 18.09.2026 · **Zweck:** Vorlage für die Abstimmung mit Dani/Alois. Technik ist fertig (E1, Commit `b28f51b`), die Inhalte und einige Regeln fehlen noch. Alles Folgende sind Vorschläge – Zahlen und Texte können 1:1 übernommen oder geändert werden.
|
||||
**Stand:** 22.09.2026 (Texte überarbeitet, Bonus festgelegt, Challenge lokal angelegt) · **Zweck:** Vorlage für die Abstimmung mit Dani/Alois. Technik ist fertig (E1, Commit `b28f51b`), die Texte sind fertig formuliert und als Seeder hinterlegt. Offen sind noch das Bild (liefert Kevin) und die Entscheidungen in Abschnitt 9.
|
||||
**Bezug:** [Entwicklungsplan E1](entwicklungsplan-protokoll-september-2026.md#e1--recruiting-challenge-oktoberjanuar--umgesetzt-1809-deploy-offen)
|
||||
|
||||
---
|
||||
|
||||
## 1. So funktioniert die Challenge im System (Kurzfassung für den Kunden)
|
||||
## 1. So läuft die Challenge im System
|
||||
|
||||
- **Wer zählt:** Jeder direkt gesponserte Neupartner, der im Zeitraum eine Registrierung **mit Starterpaket** bezahlt. Reine Mitgliedschaft ohne Paket zählt nicht. Bestandskunden, die zum Berater werden, zählen (Datum der bezahlten Registrierung).
|
||||
- **Zeitraum:** 01.10.2026 bis 31.01.2027, jeweils Bestelldatum.
|
||||
- **Wertung:** 1 Punkt je Neupartner = die Rangliste ist die Anzahl Neupartner. Umsätze und Abos spielen keine Rolle.
|
||||
- **Prämie:** 50 € je Neupartner, dazu ein Zusatz-Bonus für Platz 1–3. Beides wird nach Ende gesammelt ausgezahlt (Februar).
|
||||
- **Sichtbarkeit:** Dashboard-Karte, Teaser-Seite, Live-Rangliste für alle aktiven Berater. Namen erscheinen in der Rangliste erst, wenn der Berater die Teilnahmebedingungen bestätigt hat – die Punkte laufen aber ab dem ersten Tag mit.
|
||||
- **Montenegro** kann parallel sichtbar bleiben, bis die Gewinner bekannt gegeben sind; danach auf „Beendet“ stellen.
|
||||
Jeder direkt gesponserte Neupartner zählt, sobald er im Zeitraum eine Registrierung mit Starterpaket bezahlt hat. Reine Mitgliedschaft ohne Paket zählt nicht. Bestandskunden, die zum Berater werden, zählen ebenfalls (Datum der bezahlten Registrierung).
|
||||
|
||||
Zeitraum ist der 01.10.2026 bis 31.01.2027, jeweils nach Bestelldatum. Ein Neupartner ist ein Punkt, die Rangliste ist also die Anzahl Neupartner. Umsätze und Abos spielen keine Rolle.
|
||||
|
||||
Die Prämie: 50 € je Neupartner plus 500 / 300 / 200 € für die Plätze 1 bis 3. Auszahlung gesammelt im Februar.
|
||||
|
||||
Sichtbar ist die Challenge als Dashboard-Karte, Teaser-Seite und Live-Rangliste für alle aktiven Berater. Namen erscheinen in der Rangliste erst nach Bestätigung der Teilnahmebedingungen, die Punkte laufen aber ab dem ersten Tag mit. Montenegro kann parallel stehen bleiben, bis die Gewinner bekannt sind. Danach auf "Beendet" stellen.
|
||||
|
||||
## 2. Größenordnung aus den echten Zahlen (Datenbankstand 18.09.)
|
||||
|
||||
|
|
@ -22,154 +23,139 @@ Neupartner mit Starterpaket je Monat 2026:
|
|||
|---|---|---|---|---|---|---|---|
|
||||
| 11 | 7 | 9 | 12 | 14 | 14 | 26 | 35 |
|
||||
|
||||
Ein vergleichbares 4-Monats-Fenster (April–Juli) hatte **66 Neupartner bei 31 Sponsoren**. Die Spitze: 5, 4, 4, 4, 4, 4, 4 Neupartner – also **sechs Berater gleichauf auf Platz 2**. Das ist die wichtigste Erkenntnis für die Regeln: **Punktgleichstand ist bei dieser Challenge der Normalfall**, nicht die Ausnahme (siehe Frage 2).
|
||||
Ein vergleichbares Fenster von vier Monaten (April bis Juli) hatte 66 Neupartner bei 31 Sponsoren. Die Spitze: 5, 4, 4, 4, 4, 4, 4 Neupartner, also sechs Berater gleichauf auf Platz 2. Gleichstand ist bei dieser Challenge der Normalfall. Deshalb steht die Gleichstandsregel jetzt in den Bedingungen (Punkt 6) und muss vor dem Start auch im System umgesetzt werden (Abschnitt 10).
|
||||
|
||||
Budgetschätzung bei 50 € je Neupartner:
|
||||
Budget bei 50 € je Neupartner und 1.000 € Bonus:
|
||||
|
||||
| Szenario | Neupartner | Prämie Neupartner | + Bonus Top 3 (Vorschlag A) | Gesamt |
|
||||
|---|---|---|---|---|
|
||||
| wie Apr–Jul | 66 | 3.300 € | 1.000 € | ~4.300 € |
|
||||
| wie Jul–Aug hochgerechnet (30/Monat) | 120 | 6.000 € | 1.000 € | ~7.000 € |
|
||||
| Challenge-Effekt (40/Monat) | 160 | 8.000 € | 1.000 € | ~9.000 € |
|
||||
| Szenario | Neupartner | Prämie Neupartner | Gesamt mit Bonus |
|
||||
|---|---|---|---|
|
||||
| wie April bis Juli | 66 | 3.300 € | ca. 4.300 € |
|
||||
| wie Juli/August hochgerechnet (30 je Monat) | 120 | 6.000 € | ca. 7.000 € |
|
||||
| mit Challenge-Effekt (40 je Monat) | 160 | 8.000 € | ca. 9.000 € |
|
||||
|
||||
## 3. Vorschlag Name und Untertitel
|
||||
## 3. Name und Untertitel (final)
|
||||
|
||||
Drei Varianten, je nach Tonalität:
|
||||
| Feld | Text |
|
||||
|---|---|
|
||||
| Name | Recruiting Challenge 2026/27 |
|
||||
| Untertitel | 50 € für jeden neuen Partner. Plus Extrabonus für die Top 3. |
|
||||
| Slug (automatisch) | `recruiting-challenge-2026-27` |
|
||||
|
||||
| | Name (Seitenüberschrift) | Untertitel (Hero) |
|
||||
|---|---|---|
|
||||
| **A – klar** | Recruiting-Challenge 2026/27 | 50 € für jeden neuen Partner – und ein Extra-Bonus für die Top 3 |
|
||||
| **B – Team** | Team-Aufbau-Challenge | Bring dein Team auf das nächste Level – jeder neue Partner zahlt sich aus |
|
||||
| **C – Winter** | Winter-Challenge 2026/27 | Vier Monate, jeder Neupartner zählt, die Top 3 gewinnen extra |
|
||||
## 4. Beschreibung (Teaser-Text, final)
|
||||
|
||||
Empfehlung: **A**. Der Name sagt, worum es geht, und der Untertitel enthält die Zahl, die zählt. Der Slug wird daraus automatisch `recruiting-challenge-2026-27`.
|
||||
Erscheint auf der Teaser-Seite und im Teilnahme-Fenster. Fett wird im Design gelb hervorgehoben.
|
||||
|
||||
## 4. Vorschlag Beschreibung (Teaser-Text)
|
||||
|
||||
Wird als Werbetext auf der Teaser-Seite und im Teilnahme-Fenster angezeigt. Fett = wird im Design gelb hervorgehoben.
|
||||
|
||||
> **Vier Monate, ein Ziel: dein Team wächst – und mivita belohnt jeden Schritt.**
|
||||
> **Jeder neue Partner bringt dir 50 €. Sofort gezählt, im Februar ausgezahlt.**
|
||||
>
|
||||
> Vom 1. Oktober 2026 bis zum 31. Januar 2027 erhältst du für **jeden neuen Partner mit Starterpaket 50 €**. Kein Mindestumsatz, keine Mindestanzahl – der erste Neupartner zählt genauso wie der zehnte.
|
||||
> Vom 1. Oktober bis zum 31. Januar zählt jeder neue Partner, der mit dir startet und ein Starterpaket bestellt. Kein Mindestumsatz. Keine Mindestanzahl. Der erste zählt genauso wie der zwanzigste.
|
||||
>
|
||||
> Und wer am Ende die meisten neuen Partner ins Team geholt hat, bekommt obendrauf den **Top-3-Bonus**: [Betrag] für Platz 1, [Betrag] für Platz 2, [Betrag] für Platz 3.
|
||||
> Und wer am 31. Januar die meisten neuen Partner im Team hat, holt sich obendrauf den Top 3 Bonus: **500 € für Platz 1, 300 € für Platz 2, 200 € für Platz 3.**
|
||||
>
|
||||
> Deine Punkte laufen automatisch mit. Bestätige einmalig deine Teilnahme, damit dein Name in der Live-Rangliste erscheint – und dann: Starterpakete zählen, ab dem 1. Oktober.
|
||||
> Deine Punkte laufen automatisch mit. Bestätige einmal deine Teilnahme, dann steht dein Name in der Rangliste. Ab da gilt: Jedes Starterpaket zählt.
|
||||
>
|
||||
> **Auszahlung im Februar 2027, gesammelt und unkompliziert.**
|
||||
> **Fünf neue Partner? 250 €. Zehn? 500 €. Und Platz 1 legt noch 500 € drauf.**
|
||||
|
||||
Kürzere Variante für die Dashboard-Karte (Untertitel reicht dort, der Text oben erscheint erst beim Klick).
|
||||
Für die Ankündigungsmail vor dem Start reichen die beiden fetten Zeilen plus der Untertitel.
|
||||
|
||||
## 5. Vorschlag „So funktioniert's“ (Regeln in Kundensprache)
|
||||
## 5. Prämie (final)
|
||||
|
||||
Diese Punkte gehören in die Beschreibung (unterhalb des Werbetexts) oder in die Teilnahmebedingungen – je nachdem, wie ausführlich die Seite werden soll.
|
||||
50 € je Neupartner ohne Obergrenze. Top 3 Bonus 500 / 300 / 200 €, zusammen 1.000 €. Der Bonus bleibt damit Zugabe, die 50 € je Partner sind der Hauptanreiz. Beides ist im Admin eingetragen.
|
||||
|
||||
1. **Was zählt:** Ein neuer Partner zählt, sobald er sich mit dir als Sponsor registriert und ein Starterpaket bezahlt hat. Nur Mitgliedschaft ohne Paket zählt nicht.
|
||||
2. **Zeitraum:** Bestellungen vom 01.10.2026 bis 31.01.2027.
|
||||
3. **Prämie:** 50 € je Neupartner, ohne Obergrenze.
|
||||
4. **Top 3:** Die drei Berater mit den meisten Neupartnern erhalten zusätzlich [Betrag 1] / [Betrag 2] / [Betrag 3].
|
||||
5. **Gleichstand:** [Regel, siehe Frage 2].
|
||||
6. **Stornos:** [Regel, siehe Frage 3].
|
||||
7. **Auszahlung:** Gesammelt im Februar 2027 als [Gutschrift/Überweisung, siehe Frage 5].
|
||||
8. **Rangliste:** Live im Backoffice. Dein Name erscheint, sobald du die Teilnahme bestätigt hast.
|
||||
## 6. Teilnahmebedingungen (final, mit Vorschlägen für die offenen Regeln)
|
||||
|
||||
## 6. Vorschlag Prämienmodell
|
||||
So im Seeder hinterlegt. Die Punkte 2 (Bestätigung als Voraussetzung), 6 (Gleichstand), 7 (Widerruf) und 8 (Auszahlung) sind Vorschläge, siehe Abschnitt 9.
|
||||
|
||||
50 € je Neupartner ist gesetzt (Protokoll). Für den Top-3-Bonus drei Vorschläge:
|
||||
|
||||
| Variante | Platz 1 | Platz 2 | Platz 3 | Summe | Wirkung |
|
||||
|---|---|---|---|---|---|
|
||||
| **A – moderat** | 500 € | 300 € | 200 € | 1.000 € | Bonus bleibt Zugabe, die 50 € je Partner sind der Hauptanreiz |
|
||||
| **B – Spitze** | 1.000 € | 500 € | 250 € | 1.750 € | Platz 1 wird zum echten Ziel, lohnt sich bei > 10 Neupartnern doppelt |
|
||||
| **C – Staffel** | 750 € | 500 € | 250 € | 1.500 € | flacher, Platz 2/3 attraktiver – passt zum häufigen Gleichstand |
|
||||
|
||||
Empfehlung: **A oder C**. Bei den historischen Zahlen (Spitze 5 Neupartner in 4 Monaten) würde Variante B den Bonus größer machen als die eigentliche Prämie; das verschiebt den Fokus vom Team-Aufbau auf den Wettkampf um Platz 1.
|
||||
|
||||
Optional zur Diskussion: **Sachprämie statt Geld** für die Top 3 (z. B. Teilnahme am nächsten Incentive-Event) – technisch egal, das System zeigt dann nur den Euro-Gegenwert oder den Text in der Beschreibung.
|
||||
|
||||
## 7. Vorschlag Teilnahmebedingungen (Entwurf)
|
||||
|
||||
Angelehnt an die Montenegro-Bedingungen (gleiche Nummerierung, gleicher Ton). Offene Stellen in eckigen Klammern.
|
||||
|
||||
> **Teilnahmebedingungen: Recruiting-Challenge 2026/27**
|
||||
> **Teilnahmebedingungen: Recruiting Challenge 2026/27**
|
||||
>
|
||||
> **1. Gegenstand.** mivita veranstaltet die „Recruiting-Challenge 2026/27“. Berater erhalten für jeden im Aktionszeitraum gewonnenen neuen Partner eine Prämie; die drei Berater mit den meisten neuen Partnern erhalten einen zusätzlichen Bonus.
|
||||
> **1. Worum es geht.** mivita veranstaltet die Recruiting Challenge 2026/27. Für jeden neuen Partner, den ein Berater im Aktionszeitraum gewinnt, zahlt mivita eine Prämie. Die drei Berater mit den meisten neuen Partnern erhalten zusätzlich einen Bonus.
|
||||
>
|
||||
> **2. Teilnahmeberechtigung.** Teilnahmeberechtigt sind alle Berater mit aktivem Berater-Konto. Die Teilnahme wird einmalig im Backoffice bestätigt. Punkte werden ab dem 01.10.2026 unabhängig vom Zeitpunkt der Bestätigung erfasst; ohne Bestätigung erscheint der Berater in der Rangliste anonym [und erhält keine Auszahlung – siehe Frage 6].
|
||||
> **2. Wer mitmachen kann.** Alle Berater mit aktivem Beraterkonto. Die Teilnahme wird einmal im Backoffice bestätigt. Neue Partner werden ab dem 1. Oktober 2026 gezählt, egal wann die Bestätigung erfolgt. Ohne Bestätigung erscheint der Berater in der Rangliste anonym und erhält keine Auszahlung.
|
||||
>
|
||||
> **3. Aktionszeitraum.** 01.10.2026 bis 31.01.2027. Maßgeblich ist das Datum der bezahlten Registrierungsbestellung des neuen Partners.
|
||||
> **3. Aktionszeitraum.** 1. Oktober 2026 bis 31. Januar 2027. Es zählt das Datum der bezahlten Registrierungsbestellung des neuen Partners.
|
||||
>
|
||||
> **4. Wertung.** Als neuer Partner zählt eine Person, die sich im Aktionszeitraum mit dem Teilnehmer als Sponsor als Berater registriert und ein Starterpaket bezahlt hat. Eine Registrierung nur mit Mitgliedschaft zählt nicht. Jeder neue Partner wird einmal gewertet. Die Rangliste ergibt sich aus der Anzahl neuer Partner.
|
||||
> **4. Was zählt.** Ein neuer Partner ist eine Person, die sich im Aktionszeitraum mit dem Teilnehmer als Sponsor als Berater registriert und ein Starterpaket bezahlt hat. Eine Registrierung nur mit Mitgliedschaft zählt nicht. Jeder neue Partner wird einmal gezählt. Die Rangliste ergibt sich aus der Anzahl neuer Partner.
|
||||
>
|
||||
> **5. Prämie.** 50 € je neuem Partner. Die Berater auf den Plätzen 1 bis 3 erhalten zusätzlich [Betrag 1] / [Betrag 2] / [Betrag 3].
|
||||
> **5. Prämie.** 50 € je neuem Partner, ohne Obergrenze. Die Berater auf den Plätzen 1 bis 3 erhalten zusätzlich 500 €, 300 € und 200 €.
|
||||
>
|
||||
> **6. Gleichstand.** [Bei gleicher Anzahl entscheidet …, siehe Frage 2.]
|
||||
> **6. Gleichstand.** Haben mehrere Berater die gleiche Anzahl neuer Partner, liegt vorn, wer diese Anzahl zuerst erreicht hat.
|
||||
>
|
||||
> **7. Stornierung und Widerruf.** [Widerruft ein neuer Partner seine Registrierung oder wird die Bestellung storniert, entfällt die Wertung. Bereits ausgezahlte Prämien werden verrechnet. – siehe Frage 3]
|
||||
> **7. Widerruf und Storno.** Widerruft ein neuer Partner seine Registrierung oder wird die Bestellung storniert, entfällt die Wertung für diesen Partner. Stichtag ist die Auszahlung im Februar 2027, danach wird nicht mehr zurückgerechnet.
|
||||
>
|
||||
> **8. Auszahlung.** Die Prämien werden nach Abschluss der Challenge im Februar 2027 gesammelt [per Gutschrift auf der Provisionsabrechnung / per Überweisung] ausgezahlt. Die Prämie ist eine Einnahme aus der Beratertätigkeit; die Versteuerung obliegt dem Berater.
|
||||
> **8. Auszahlung.** Die Prämien werden nach Ende der Challenge im Februar 2027 gesammelt ausgezahlt. Die Prämie ist eine Einnahme aus der Beratertätigkeit. Für die Versteuerung ist der Berater selbst verantwortlich.
|
||||
>
|
||||
> **9. Ausschluss.** Bei Missbrauch (z. B. Scheinregistrierungen, Mehrfachkonten, Registrierungen ohne echte Vertriebsabsicht) kann mivita einzelne Wertungen streichen oder den Teilnehmer ausschließen.
|
||||
> **9. Ausschluss.** Bei Missbrauch, zum Beispiel Scheinregistrierungen oder Mehrfachkonten, kann mivita einzelne Wertungen streichen oder den Teilnehmer ausschließen.
|
||||
>
|
||||
> **10. Änderungen.** mivita behält sich vor, die Bedingungen bei sachlichem Grund anzupassen; Änderungen werden im Backoffice bekannt gegeben.
|
||||
> **10. Änderungen.** mivita kann die Bedingungen aus sachlichem Grund anpassen. Änderungen werden im Backoffice bekannt gegeben.
|
||||
>
|
||||
> **11. Datenschutz.** Nach Bestätigung der Teilnahme werden Name und Punktestand des Teilnehmers in der Live-Rangliste für andere Berater sichtbar.
|
||||
> **11. Datenschutz.** Nach Bestätigung der Teilnahme sind Name und Punktestand des Teilnehmers in der Rangliste für andere Berater sichtbar.
|
||||
|
||||
## 8. Bild und Gestaltung
|
||||
## 7. Bild und Gestaltung
|
||||
|
||||
- **Hero-Bild:** Querformat, ca. 1600 × 600 px, JPG, Motiv „Team/Wachstum/Winter“ – bewusst **kein** Strand, sonst verwechselt man es mit Montenegro. Beispiele: Gruppe beim Anstoßen, Berge im Winterlicht, Händedruck/High-Five, abstrakt „Aufwärts“. Wird über das Feld „Bild“ im Admin gesetzt (Dateiname, Ablage unter `public/img/incentive/`).
|
||||
- **Galerie:** Aktuell zeigen Dashboard-Karte und Teaser **alle** Bilder aus diesem Ordner – also auch die acht Montenegro-Strandfotos unter der Challenge. Das muss vor dem Start geändert werden (Unterordner je Incentive, ca. 0,5 PT, siehe Abschnitt 11). Bis dahin: keine weiteren Bilder hochladen.
|
||||
- **Farbwelt:** bleibt die des Incentive-Moduls (Olivgrün/Gelb); das Badge auf der Dashboard-Karte heißt bei Geldprämie automatisch „Challenge“ statt „Incentive VIP“.
|
||||
Hero-Bild liefert Kevin: Querformat, ca. 1600 × 600 px, JPG. Kein Strandmotiv, sonst sieht es aus wie Montenegro. Ablage unter `public/img/incentive/`, Dateiname im Admin ins Feld "Bild".
|
||||
|
||||
## 9. Kommunikationsplan (Vorschlag)
|
||||
Achtung Galerie: Dashboard-Karte und Teaser zeigen heute alle Bilder aus diesem Ordner, also auch die acht Montenegro-Strandfotos unter der Challenge. Das wird vor dem Start umgebaut (Unterordner je Incentive, Abschnitt 10). Bis dahin keine weiteren Bilder in den Ordner legen.
|
||||
|
||||
Das Badge auf der Dashboard-Karte heißt bei Geldprämie automatisch "Challenge" statt "Incentive VIP". Farbwelt bleibt die des Incentive-Moduls.
|
||||
|
||||
## 8. Kommunikationsplan
|
||||
|
||||
| Wann | Was | Kanal |
|
||||
|---|---|---|
|
||||
| ~25.09. | Ankündigung: „Ab 1. Oktober: 50 € je Neupartner“ | Newsletter/Mail an alle Berater, Dashboard-News |
|
||||
| 01.10. | Challenge auf „Aktiv“, Dashboard-Karte erscheint, Teilnahme bestätigen | automatisch im Backoffice |
|
||||
| Anfang Nov / Dez / Jan | Zwischenstand: Top 3 und Gesamtzahl Neupartner | Newsletter, Dashboard-News |
|
||||
| Mitte Januar | Endspurt-Erinnerung („noch 2 Wochen“) | Mail |
|
||||
| 01.02. | Ende, Rangliste einfrieren (Status „Beendet“), Gewinner bekannt geben | Mail, Dashboard-News |
|
||||
| ca. 25.09. | Ankündigung: "Ab 1. Oktober: 50 € für jeden neuen Partner" | Newsletter, Dashboard-News |
|
||||
| 01.10. | Challenge auf "Aktiv", Dashboard-Karte erscheint, Teilnahme bestätigen | Backoffice |
|
||||
| Anfang Nov, Dez, Jan | Zwischenstand: Top 3 und Gesamtzahl Neupartner | Newsletter, Dashboard-News |
|
||||
| Mitte Januar | Endspurt: "Noch zwei Wochen" | Mail |
|
||||
| 01.02. | Ende, Status "Beendet", Gewinner bekannt geben | Mail, Dashboard-News |
|
||||
| Februar | Auszahlung aus dem XLSX-Export | Buchhaltung |
|
||||
|
||||
Die Zwischenstände lassen sich aus der Admin-Rangliste ablesen; ein automatischer Versand ist nicht gebaut.
|
||||
Die Zwischenstände kommen aus der Admin-Rangliste. Ein automatischer Versand ist nicht gebaut.
|
||||
|
||||
## 10. Offene Fragen an den Kunden
|
||||
## 9. Offene Entscheidungen für Dani/Alois
|
||||
|
||||
Sortiert nach Wichtigkeit. Zu jeder Frage ein Vorschlag, damit die Abstimmung schnell geht.
|
||||
Bonushöhe ist entschieden (500 / 300 / 200 €). Übrig bleiben die Regelfragen. Zu jeder steht der Vorschlag, der schon in den Bedingungen steht.
|
||||
|
||||
| # | Frage | Vorschlag | Technische Folge |
|
||||
| # | Frage | Vorschlag in den Bedingungen | Technische Folge |
|
||||
|---|---|---|---|
|
||||
| **1** | Höhe des Top-3-Bonus? | Variante A (500/300/200 €) | nur Eingabe im Admin |
|
||||
| **2** | **Gleichstand** in den Top 3 – wer gewinnt? Historisch liegen regelmäßig 5–6 Berater gleichauf. | Wer die Anzahl **zuerst erreicht** hat (Datum des letzten zählenden Neupartners); alternativ Bonus teilen | Regel „zuerst erreicht“: 0,5 PT (Rangfolge nach Zeitpunkt). „Bonus teilen“: nur Export anpassen, 0,25 PT |
|
||||
| **3** | **Stornos/Widerruf:** Zählt ein Neupartner weiter, wenn er innerhalb der 14 Tage widerruft oder die Bestellung storniert wird? | Nein – Wertung entfällt, Prämie wird nicht gezahlt. Stichtag: Auszahlung im Februar, danach keine Rückrechnung | Heute bleibt ein Neupartner gezählt. Automatik: 1 PT (Storno der Registrierung entfernt Tracking). Manuell: vor Auszahlung Export gegen Stornos prüfen (0 PT, Aufwand Buchhaltung) |
|
||||
| **4** | Zählt **jedes** Starterpaket gleich, oder nur ab einer Paketgröße? | Jedes Paket zählt (so ist es gebaut) | Paketgrenze: 0,5 PT |
|
||||
| **5** | **Auszahlungsweg:** Gutschrift über die Provisionsabrechnung Februar, separate Überweisung, oder Gutschrift-PDF wie bei Provisionen? | Gutschrift auf der Februar-Abrechnung; Liste kommt aus dem Export | Automatische Gutschrift-Erzeugung aus dem Export: 1–2 PT, sonst manuell in der Buchhaltung |
|
||||
| **6** | Muss die **Teilnahme bestätigt** sein, um die Prämie zu erhalten? Heute laufen Punkte auch ohne Bestätigung, der Export enthält beide. | Ja – Bestätigung ist Voraussetzung, wird in Bedingungen und Mail klar gesagt; Erinnerung im Januar an Unbestätigte | Export filtert dann auf bestätigt: 0,25 PT |
|
||||
| **7** | Zählen **Kunden, die zum Berater werden** (Upgrade mit Starterpaket)? | Ja (so gebaut, gleiche Regel wie Montenegro) | Ausschluss: 0,5 PT |
|
||||
| **8** | **Berechnungsende** 31.01. oder 28.02.? Ohne Umsatzpunkte gibt es keinen Nachlauf. | 31.01.2027 | nur Eingabe |
|
||||
| **9** | Sollen **Admins/VIP-Konten** und das Firmenkonto mitspielen? | Nein, wie bei Montenegro Sichtprüfung vor Auszahlung | Filter im Export: 0,25 PT |
|
||||
| **10** | Montenegro: wann auf „Beendet“? | Nach Bekanntgabe der Reise-Teilnehmer, spätestens 05.10. | nur Statuswechsel |
|
||||
| **11** | **Ankündigung vor dem 01.10.:** Soll die Challenge schon im September sichtbar sein („bald geht es los“)? | Ja, ab ~25.09. auf „Aktiv“ – getrackt wird ohnehin erst ab 01.10., die Rangliste ist bis dahin leer | keine |
|
||||
| **12** | Texte auch auf EN/ES/FR? | Ja, Übersetzung der Beschreibung/Bedingungen im Admin-Formular je Sprache | nur Eingabe |
|
||||
| **1** | Gleichstand in den Top 3: wer gewinnt? Historisch liegen regelmäßig fünf bis sechs Berater gleichauf. | Wer die Anzahl zuerst erreicht hat | Rangfolge nach Zeitpunkt des letzten zählenden Neupartners: 0,5 PT, vor dem Start |
|
||||
| **2** | Widerruf oder Storno einer Registrierung: zählt der Neupartner weiter? | Nein, Wertung entfällt. Stichtag Auszahlung, danach keine Rückrechnung | Automatik (Storno entfernt Tracking): 1 PT. Alternativ manuelle Prüfung des Exports vor Auszahlung |
|
||||
| **3** | Muss die Teilnahme bestätigt sein, um die Prämie zu bekommen? | Ja | Export filtert auf bestätigte Teilnehmer: 0,25 PT. Erinnerung an Unbestätigte im Januar |
|
||||
| **4** | Auszahlungsweg: Gutschrift auf der Februar-Abrechnung, Überweisung, oder Gutschrift-PDF? | Gutschrift auf der Februar-Abrechnung, Liste aus dem Export | Automatische Gutschrift-Erzeugung: 1 bis 2 PT, sonst manuell in der Buchhaltung |
|
||||
| **5** | Zählt jedes Starterpaket gleich, oder erst ab einer Paketgröße? | Jedes Paket zählt (so gebaut) | Paketgrenze: 0,5 PT |
|
||||
| **6** | Zählen Kunden, die mit Starterpaket zum Berater werden? | Ja (so gebaut, wie Montenegro) | Ausschluss: 0,5 PT |
|
||||
| **7** | Sollen Admins, VIP-Konten und das Firmenkonto in der Rangliste mitspielen? | Nein, Sichtprüfung vor Auszahlung | Filter im Export: 0,25 PT |
|
||||
| **8** | Montenegro: wann auf "Beendet"? | Nach Bekanntgabe der Reiseteilnehmer, spätestens 05.10. | Statuswechsel |
|
||||
| **9** | Challenge schon im September sichtbar ("bald geht es los")? | Ja, ab ca. 25.09. auf "Aktiv". Gezählt wird erst ab 01.10., die Rangliste ist bis dahin leer | keine |
|
||||
| **10** | Texte auch auf EN, ES, FR? | Ja, Übersetzung im Admin-Formular je Sprache | Eingabe |
|
||||
|
||||
## 11. Technische Folgearbeiten (aus dieser Vorbereitung)
|
||||
## 10. Technische Folgearbeiten
|
||||
|
||||
| Punkt | Aufwand | Wann |
|
||||
|---|---|---|
|
||||
| Galerie je Incentive trennen (Unterordner `public/img/incentive/<slug>/`, Fallback auf Hauptordner für Montenegro) | 0,5 PT | **vor dem 01.10.**, sonst Strandfotos unter der Challenge |
|
||||
| Gleichstandsregel (Frage 2) | 0,25–0,5 PT | vor Start, gehört in die Bedingungen |
|
||||
| Storno entfernt Neupartner-Wertung (Frage 3), falls Automatik gewünscht | 1 PT | vor Auszahlung reicht |
|
||||
| Export nur bestätigte Teilnehmer (Frage 6) | 0,25 PT | vor Auszahlung |
|
||||
| Gutschrift-Erzeugung aus Export (Frage 5), falls gewünscht | 1–2 PT | Januar |
|
||||
| Galerie je Incentive trennen (Unterordner `public/img/incentive/<slug>/`, Fallback auf Hauptordner für Montenegro) | 0,5 PT | vor dem 01.10. |
|
||||
| Gleichstandsregel "zuerst erreicht" (Frage 1), steht bereits in den Bedingungen | 0,5 PT | vor dem 01.10. |
|
||||
| Storno entfernt Neupartner-Wertung (Frage 2), falls Automatik gewünscht | 1 PT | vor der Auszahlung |
|
||||
| Export nur bestätigte Teilnehmer (Frage 3) | 0,25 PT | vor der Auszahlung |
|
||||
| Gutschrift-Erzeugung aus dem Export (Frage 4), falls gewünscht | 1 bis 2 PT | Januar |
|
||||
|
||||
## 11. Anlegen auf Produktion
|
||||
|
||||
Die Challenge liegt mit allen Texten und Werten im Seeder [`RecruitingChallenge2026Seeder`](../../database/seeders/RecruitingChallenge2026Seeder.php). Er legt sie als Entwurf an. Läuft er ein zweites Mal, aktualisiert er nur die Texte und lässt Admin-Änderungen an den Werten stehen.
|
||||
|
||||
```bash
|
||||
php artisan migrate # falls E1 noch nicht deployt
|
||||
php artisan db:seed --class=RecruitingChallenge2026Seeder
|
||||
php artisan view:clear && php artisan route:clear
|
||||
```
|
||||
|
||||
Danach im Admin: Bild eintragen, Texte prüfen, Status auf "Aktiv". Lokal ist die Challenge bereits angelegt und aktiv (ID 3), Teaser und Rangliste lassen sich dort ansehen.
|
||||
|
||||
## 12. Checkliste bis zum Start
|
||||
|
||||
- [ ] Fragen 1–12 mit Dani/Alois entschieden
|
||||
- [ ] Texte final (Name, Untertitel, Beschreibung, Bedingungen), ggf. Übersetzungen
|
||||
- [ ] Fragen 1 bis 10 mit Dani/Alois entschieden
|
||||
- [ ] Texte freigegeben (Name, Untertitel, Beschreibung, Bedingungen), ggf. Übersetzungen
|
||||
- [ ] Hero-Bild geliefert und abgelegt
|
||||
- [ ] Galerie-Trennung deployt
|
||||
- [ ] Deploy E1 (`php artisan migrate`, `view:clear`, `route:clear`)
|
||||
- [ ] Challenge im Admin angelegt, Vorschau auf Teaser/Rangliste geprüft (Testsystem)
|
||||
- [ ] Galerie-Trennung und Gleichstandsregel deployt
|
||||
- [ ] Deploy E1 und Seeder auf Produktion
|
||||
- [ ] Challenge im Admin geprüft, Teaser und Rangliste angesehen
|
||||
- [ ] Ankündigungsmail raus
|
||||
- [ ] 01.10.: Status „Aktiv“ (falls nicht schon vorher)
|
||||
- [ ] Status "Aktiv"
|
||||
|
|
|
|||
46
tests/Feature/Incentive/RecruitingChallengeSeederTest.php
Normal file
46
tests/Feature/Incentive/RecruitingChallengeSeederTest.php
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
|
||||
use App\Models\Incentive;
|
||||
use Database\Seeders\RecruitingChallenge2026Seeder;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
uses(RefreshDatabase::class);
|
||||
|
||||
/**
|
||||
* E1: Der Seeder legt die Recruiting Challenge mit den abgestimmten Texten als Entwurf an
|
||||
* und ueberschreibt bei einem zweiten Lauf nur die Texte, nicht die Admin-Werte.
|
||||
*/
|
||||
it('legt die Challenge als Entwurf mit Praemie und Wertung nach Neupartnern an', function () {
|
||||
$this->seed(RecruitingChallenge2026Seeder::class);
|
||||
|
||||
$incentive = Incentive::where('slug', RecruitingChallenge2026Seeder::SLUG)->firstOrFail();
|
||||
|
||||
expect($incentive->isDraft())->toBeTrue()
|
||||
->and($incentive->name)->toBe('Recruiting Challenge 2026/27')
|
||||
->and($incentive->qualification_start->toDateString())->toBe('2026-10-01')
|
||||
->and($incentive->qualification_end->toDateString())->toBe('2027-01-31')
|
||||
->and((float) $incentive->amount_per_partner)->toBe(50.0)
|
||||
->and($incentive->rankBonuses())->toBe([1 => 500.0, 2 => 300.0, 3 => 200.0])
|
||||
->and($incentive->max_winners)->toBe(3)
|
||||
->and($incentive->ranksByPartnerCount())->toBeTrue()
|
||||
->and($incentive->hasMinimumRequirements())->toBeFalse()
|
||||
->and($incentive->description)->toContain('50 €')
|
||||
->and($incentive->terms)->toContain('6. Gleichstand')
|
||||
->and($incentive->description.$incentive->subtitle.$incentive->terms)->not->toContain('–')
|
||||
->and($incentive->description.$incentive->subtitle.$incentive->terms)->not->toContain('—');
|
||||
});
|
||||
|
||||
it('aktualisiert beim zweiten Lauf nur die Texte und laesst Admin-Werte stehen', function () {
|
||||
$this->seed(RecruitingChallenge2026Seeder::class);
|
||||
$incentive = Incentive::where('slug', RecruitingChallenge2026Seeder::SLUG)->firstOrFail();
|
||||
$incentive->update(['status' => 1, 'image' => 'challenge.jpg', 'bonus_rank_1' => 999, 'description' => 'alt']);
|
||||
|
||||
$this->seed(RecruitingChallenge2026Seeder::class);
|
||||
|
||||
$incentive->refresh();
|
||||
expect(Incentive::where('slug', RecruitingChallenge2026Seeder::SLUG)->count())->toBe(1)
|
||||
->and($incentive->status)->toBe(1)
|
||||
->and($incentive->image)->toBe('challenge.jpg')
|
||||
->and((float) $incentive->bonus_rank_1)->toBe(999.0)
|
||||
->and($incentive->description)->toContain('50 €');
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue