(#8) - Minimum lead time

This commit was merged in pull request #10.
This commit is contained in:
Martin Slachta
2026-06-14 10:01:24 +02:00
parent 7d7f748f7a
commit 3225ff1e10
5 changed files with 30 additions and 11 deletions
+8 -5
View File
@@ -5,17 +5,20 @@
*/
class RsvTimetableAvailability {
/**
* @param array<int,int> $occupancy Number of available seats for each time block
* @param array<int,int> $occupancy Number of available seats for each time block
* @param array<int,int> $lead_time_minutes Minimum lead time in minutes required for each block
*/
public function __construct(
public int $from_minutes,
public int $to_minutes,
public int $block_size_in_minutes,
public array $occupancy
public array $occupancy,
public array $lead_time_minutes = []
) { }
public function push_block(int $capacity) {
$this->occupancy[] = $capacity;
$this->to_minutes += $this->block_size_in_minutes;
public function push_block(int $capacity, int $min_lead_time_minutes = 0) {
$this->occupancy[] = $capacity;
$this->lead_time_minutes[] = $min_lead_time_minutes;
$this->to_minutes += $this->block_size_in_minutes;
}
}