*
* 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:----rRBImq5NW8Y/D0zHfNvxDQKp2kUzNeYqmbkWIfes+VkkHIh4u3ENRqOTBZnLwv/jucoqynHliI197ZPGYodswnbbwCrrg+oAE+GG0cZBl8OQvWOaNEWSRMPpKM5IS7dZaRUlkwJCs+c+zq+lFMWmVU97NlcPiRM5NggdquLs36fvhnbhUizJNyEOabSwI7wZn4MdJE7jZbxsuaPoKfaHjN2ISqEoW8nO2to6d/cC3SWFNnf+3vRirc7aYpmylUb+xQ/1ubLDHJ5j2jLtAtwR/mcwh7VsBlqScaJBUXLJEu1XfnNlRhyJKvxQEANPfXaRikcOEPx2lTB2Tx40mk9nLGc2opLqAAfGCPXj9yZuW45pSW6vtNYbUAZACoEtJHL/t9Amn0dz73ICuyhkjRAmAtR74bBJ0vaonhbW86otOgrK5jSP3GB6ddoHlcRyVbfjHrPRQsa6kU9CucgrdEoRYu0p6mhKVzXVdYzrCHq0QB+qqZgtAqXijJP3cdqeZRC4c2wOdyPqK9SPjyLP7TwcDM3YkBFnJ6ErtR41Z4unATw72Ku5upmEAEcNlerp5gBlecYqpTxDhcwUrr6Rfq7WS913KqiUUGx9dO3odBO+Wh2qsT3Fk8RzTwqqgD1ke5y2YK6YFBz7duTl46O3u/Aj9Fl7nJ0e0jhs8GoPdT+gDoM=----ATTACHMENT:----NTYzMjQ5MTkwNzI5NzY0OCAzMTU5NTA5MzY0MTg4NDUxIDQ3MjU5NDQwNDU4ODUxMDg=