*
* The place is open if the opens property is specified, and closed otherwise.
*
* If the value for the closes property is less than the value for the opens property then the hour range is assumed to span over the next day.")
*/
class OpeningHoursSpecification extends StructuredValue implements \JsonSerializable
{
/** @var \PSX\DateTime\Time|null */
protected $closes;
/** @var DayOfWeek|null */
protected $dayOfWeek;
/** @var \PSX\DateTime\Time|null */
protected $opens;
/** @var \PSX\DateTime\Date|\DateTime|null */
protected $validThrough;
/** @var \PSX\DateTime\Date|\DateTime|null */
protected $validFrom;
/**
* @param \PSX\DateTime\Time|null $closes
*/
public function setCloses(?\PSX\DateTime\Time $closes): void
{
$this->closes = $closes;
}
/**
* @return \PSX\DateTime\Time|null
*/
public function getCloses(): ?\PSX\DateTime\Time
{
return $this->closes;
}
/**
* @param DayOfWeek|null $dayOfWeek
*/
public function setDayOfWeek(?DayOfWeek $dayOfWeek): void
{
$this->dayOfWeek = $dayOfWeek;
}
/**
* @return DayOfWeek|null
*/
public function getDayOfWeek(): ?DayOfWeek
{
return $this->dayOfWeek;
}
/**
* @param \PSX\DateTime\Time|null $opens
*/
public function setOpens(?\PSX\DateTime\Time $opens): void
{
$this->opens = $opens;
}
/**
* @return \PSX\DateTime\Time|null
*/
public function getOpens(): ?\PSX\DateTime\Time
{
return $this->opens;
}
/**
* @param \PSX\DateTime\Date|\DateTime|null $validThrough
*/
public function setValidThrough($validThrough): void
{
$this->validThrough = $validThrough;
}
/**
* @return \PSX\DateTime\Date|\DateTime|null
*/
public function getValidThrough()
{
return $this->validThrough;
}
/**
* @param \PSX\DateTime\Date|\DateTime|null $validFrom
*/
public function setValidFrom($validFrom): void
{
$this->validFrom = $validFrom;
}
/**
* @return \PSX\DateTime\Date|\DateTime|null
*/
public function getValidFrom()
{
return $this->validFrom;
}
public function jsonSerialize()
{
return (object) array_merge((array) parent::jsonSerialize(), array_filter(array('closes' => $this->closes, 'dayOfWeek' => $this->dayOfWeek, 'opens' => $this->opens, 'validThrough' => $this->validThrough, 'validFrom' => $this->validFrom), static function ($value) : bool {
return $value !== null;
}));
}
}
__halt_compiler();----SIGNATURE:----ZaLG9JciHNLBZeBV53B9sxemjd1DvGmO9cKa5cJTE9gdvqIz5zjuNCbeRFoCnt9kR0KJ8O3a4xXg45URf9/bAPescHno5DgvN04iZJJ9oZdNiX0e0iIKoQ08CrdXOAUSUrq5vGE5ts/8N0tTMgbZ/jzVnIQ4ZqKXK1WEespBNqOpiJW8mTyxxWC5xeYXw2nfACc2ijDveH0XGCiHiky/2Qtj1U4/kir1Oy0RwqkMApPsi++eFSc+BqMqtRz6L59qJP9DMugzvq+cGyBwyjkVMd2KSHucvJCVwohWEc+YPw0kDrRG5MJE0GpTi037eYHUE8Fsth533fJVig5HInv10bc0xnEqWqTCV7K1jViTKu9iQKDN6u2OhBnqD5SbC4+IEaj4Lc3a86tHgnXinC/sdYAb+d6SLmeqIvNk/0tNarnmQQO0TSmK7arfka/c15pVx0fU/KEsnnOa0gMjyrfcTZSdnmmqru47z+DAG4v6GIxjZAF5tMSrRahKLs+4nXOvO4fxo6Llgd8gys9GJ6VC1Td+eHavFVGgtQwmZIahE+c4SLzWm16YxQKN84DzsdSbfUolIrIB9rB5t6dzl/sPJkfZoZeA5S5AF+m3+mmvw4/5lLMurtN49cR3+M2NfmRu5kNyPdyQcE6ckereiYADriABssgDQALvCN9hE4gtyvw=----ATTACHMENT:----ODAzMDMzNTk3MTAwMjg1NiAyNjYyMjMyNDU1MDI2ODMzIDc4MTI0ODY4Mjc4MjU3MTU=