$created * @param array $skipped Y-m-d => reason */ public function __construct( public BookingSeries $series, public array $created, public array $skipped, ) { } public function createdCount(): int { return \count($this->created); } public function skippedCount(): int { return \count($this->skipped); } public function isCompletelyBlocked(): bool { return [] === $this->created; } /** * @return list */ public function skippedDates(): array { return array_map( static fn (string $date): string => (new \DateTimeImmutable($date))->format('j.n.'), array_keys($this->skipped), ); } }