45 lines
1.7 KiB
PHP
45 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Domains\ParticipantRefund\Actions\AcceptRefund;
|
|
|
|
use App\Models\ParticipantRefund;
|
|
|
|
class AcceptRefundRequest
|
|
{
|
|
public function __construct(
|
|
public readonly ?ParticipantRefund $refund,
|
|
public readonly string $accountOwner,
|
|
public readonly string $accountIban,
|
|
/**
|
|
* Ob der Teili die Erklärung auf der Seite angekreuzt hat. Ohne sie taugt der Beleg nichts.
|
|
*
|
|
* Im Spendenweg ist es die Verzichtserklärung, im Auszahlungsweg die Versicherung über den
|
|
* gezahlten Beitrag -- in beiden Fällen die Erklärung, die anschließend auf dem Beleg steht.
|
|
*/
|
|
public readonly bool $declarationAccepted = false,
|
|
/**
|
|
* Ob auf die Auszahlung verzichtet und der Betrag gespendet wird.
|
|
*
|
|
* Wird nicht am Vorgang gespeichert: Die Entscheidung landet in der Abrechnung
|
|
* (`invoices.donation`), von wo {@see ParticipantRefund::isDonation()} sie zurückliest. Dieses
|
|
* Feld ist der Weg dorthin.
|
|
*/
|
|
public readonly bool $donation = false,
|
|
/**
|
|
* Nur im Auszahlungsweg: die Bestätigung, dass es das Konto der Ursprungszahlung ist.
|
|
*
|
|
* Getrennt von der Haupterklärung, weil sie im Spendenweg gegenstandslos ist -- dort gibt es
|
|
* kein Konto.
|
|
*/
|
|
public readonly bool $accountDeclarationAccepted = false,
|
|
/**
|
|
* Die Aktionsleitung, wenn sie die Bankverbindung aufgenommen hat, weil sie ihr vorlag.
|
|
*
|
|
* Dann kreuzt niemand die Erklärung an -- sie wird stellvertretend aufgenommen, und der Beleg
|
|
* weist genau das aus.
|
|
*/
|
|
public readonly ?int $capturedBy = null,
|
|
) {
|
|
}
|
|
}
|