public function fetch(string $strDate)
    {
        // Filter input
        $this->validateDate($strDate);
        $strDateStart = $strDate . ' 00:00:00';
        if ($this->iTimezoneOffset) {
            $strDateStart = date(
                'Y-m-d H:i:s',
                strtotime(
                    $strDateStart . ($this->iTimezoneOffset < 0 ? ' +' : ' ')
                        . -$this->iTimezoneOffset . ' hours'
                )
            );
        }
        $strDateEnd = date('Y-m-d H:i:s', strtotime($strDateStart . ' + 1 day - 1 second'));

        // Get results and sort by time
        $aResults = $this->queryDay($strDateStart, $strDateEnd);
        usort($aResults, function($aResult1, $aResult2) {
            return $aResult1['session_at'] <=> $aResult2['session_at']
                ?: $aResult1['starts_at'] <=> $aResult2['starts_at'];
        });
        return $aResults;
    }