}> */ public static function groups(): array { return [ 'document' => [ 'label' => 'Dokument', 'tokens' => [ 'document_title' => ['description' => 'Titel des PDF-Dokuments', 'sample' => 'Rückerstattung WM-V-20260701-0005-R'], 'document_number' => ['description' => 'Belegnummer', 'sample' => 'WM-V-20260701-0005-R'], 'document_date' => ['description' => 'Datum der Bestätigung durch die teilnehmende Person', 'sample' => '18.06.2026'], 'event_name' => ['description' => 'Name der Veranstaltung', 'sample' => 'Sommerlager'], 'service_period' => ['description' => 'Zeitraum der Veranstaltung', 'sample' => '16.07.2026 – 20.07.2026'], 'unregistered_at' => ['description' => 'Datum der Abmeldung', 'sample' => '12.06.2026'], ], ], 'sender' => [ 'label' => 'Absender', 'tokens' => [ 'sender_name' => ['description' => 'Absender (Standard: Name des Mandanten)', 'sample' => 'BdP Landesverband Sachsen e.V.'], 'sender_address_1' => ['description' => 'Straße und Hausnummer', 'sample' => 'Musterweg 1'], 'sender_address_2' => ['description' => 'Adresszusatz, z. B. „c/o …"', 'sample' => 'c/o Mustermensch'], 'sender_address_3' => ['description' => 'Weiterer Adresszusatz', 'sample' => ''], 'sender_postcode' => ['description' => 'Postleitzahl', 'sample' => '01623'], 'sender_city' => ['description' => 'Ort', 'sample' => 'Lommatzsch'], 'sender_email' => ['description' => 'E-Mail-Adresse', 'sample' => 'kontakt@example.com'], 'sender_phone' => ['description' => 'Telefonnummer', 'sample' => '0351 1234567'], 'sender_tax_number' => ['description' => 'Steuernummer', 'sample' => '201/123/45678'], 'sender_vat_id' => ['description' => 'USt-IdNr.', 'sample' => ''], ], ], 'recipient' => [ 'label' => 'Empfänger', 'tokens' => [ 'recipient_name' => ['description' => 'Name der teilnehmenden Person', 'sample' => 'Mika Muster'], 'recipient_address_1' => ['description' => 'Straße und Hausnummer', 'sample' => 'Beispielstraße 3'], 'recipient_address_2' => ['description' => 'Adresszusatz', 'sample' => ''], 'recipient_postcode' => ['description' => 'Postleitzahl', 'sample' => '11111'], 'recipient_city' => ['description' => 'Ort', 'sample' => 'Beispielstadt'], ], ], 'refund' => [ 'label' => 'Erstattung', 'tokens' => [ 'paid_amount' => ['description' => 'Bereits gezahlter Teilnahmebeitrag', 'sample' => '300,00 €'], 'invoice_number' => ['description' => 'Nummer der Teilnahmerechnung', 'sample' => 'WM-V-20260701-0005'], 'refund_amount' => ['description' => 'Erstattungsbetrag', 'sample' => '220,00 €'], 'refund_reason' => ['description' => 'Bezeichnung des Grundes', 'sample' => 'Krankheitsbedingte Absage'], 'refund_reason_text' => ['description' => 'Erläuterung des Grundes (bei „Sonstiger Grund" der Freitext)', 'sample' => 'Die Teilnahme konnte krankheitsbedingt nicht angetreten werden.'], 'account_owner' => ['description' => 'Kontoinhaber*in', 'sample' => 'Mika Muster'], 'account_iban' => ['description' => 'IBAN', 'sample' => 'DE02 1203 0000 0000 2020 51'], 'declaration_text' => ['description' => 'Die Erklärung, die die teilnehmende Person bestätigt hat (gepflegt als Seitentext CONFIRMATION_PARTICIPANT_REFUND)', 'sample' => 'Ich versichere, dass ich den genannten Betrag beglichen habe und nicht anderweitig zurückerstattet bekomme.'], ], ], 'body' => [ 'label' => 'Beleginhalt (generiert)', 'tokens' => [ 'details_table' => ['description' => 'Tabelle mit Name, gezahltem Beitrag, Rechnung, Erstattungsbetrag, Grund, Begründung und Bankverbindung', 'sample' => self::sampleDetails()], ], ], ]; } /** * Beispielwerte für die Vorschau. * * @return array */ public static function sample(): array { $sample = []; foreach (self::groups() as $group) { foreach ($group['tokens'] as $name => $token) { $sample[$name] = $token['sample']; } } return $sample; } /** @return array */ public static function names(): array { return array_keys(self::sample()); } private static function sampleDetails(): string { return '' . '' . '' . '' . '' . '' . '' . '' . '' . '
NameMika Muster
Gezahlter Teilnahmebeitrag300,00 €
RechnungWM-V-20260701-0005
Erstattungsbetrag220,00 €
GrundKrankheitsbedingte Absage
BegründungDie Teilnahme konnte krankheitsbedingt nicht angetreten werden.
Kontoinhaber*inMika Muster
IBANDE02 1203 0000 0000 2020 51
'; } }