$workDaysHours iso-day → minutes */ public function __construct( public ?ContractNature $contractNature, public ?DateTimeImmutable $contractStartDate, public ?DateTimeImmutable $contractEndDate, public ?bool $contractPaidLeaveSettled, public ?string $contractComment, public ?bool $isDriver = null, public ?array $workDaysHours = null, public ?int $interimAgencyId = null, ) {} public function hasPeriodChangeRequest(): bool { return null !== $this->contractNature || null !== $this->contractStartDate || null !== $this->contractEndDate || null !== $this->contractPaidLeaveSettled || null !== $this->contractComment; } public function isCloseOnlyRequest(bool $contractChanged): bool { return !$contractChanged && null === $this->contractStartDate && null === $this->contractNature && null !== $this->contractEndDate; } }