* * 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=