<?php /* * Copyright (c) 2022 LatePoint LLC. All rights reserved. * * This class is used to create blocked periods in resources */ namespace LatePoint\Misc; class BlockedPeriod{ public string $start_date; public string $end_date; public int $start_time = 0; public int $end_time = 0; public ?int $service_id = 0; public ?int $agent_id = 0; public ?int $location_id = 0; function __construct($args = []){ $allowed_props = static::allowed_props(); foreach($args as $key => $arg){ if(in_array($key, $allowed_props)) $this->$key = $arg; } } public static function allowed_props(): array{ return ['start_date', 'end_date', 'start_time', 'end_time', 'service_id', 'agent_id', 'location_id', 'reason' ]; } }