/**
  * 
  * @param \PDO $pdo
  * @param int $game_type_id
  * @param Date $date
  * @param Time $time_from
  * @param Time $time_to
  * @return GameBoxExtended[]
  */
 public static function getAvailableGameBox($pdo, $game_type_id, $date, $time_from, $time_to)
 {
     $boxes = GameBoxExtended::fetchAllByGameType($pdo, $game_type_id);
     $statement = $pdo->prepare('SELECT game_box_id FROM reservation_extended ' . 'WHERE game_type_id = :game_type_id AND ' . 'reservation_date = :date AND ( ' . ' ( time_from <= :time_from1 AND :time_from2 <= time_to ) OR' . ' ( time_from <= :time_to1   AND :time_to2   <= time_to )' . ')');
     $pars = ['game_type_id' => $game_type_id, 'date' => $date, 'time_from1' => $time_from, 'time_from2' => $time_from, 'time_to1' => $time_to, 'time_to2' => $time_to];
     if (!$statement->execute($pars)) {
         DB_Service::logError($statement->errorInfo(), __CLASS__ . "::" . __FUNCTION__, $statement->queryString, $pars);
         return false;
     }
     $boxesInUse = $statement->fetchAll(\PDO::FETCH_COLUMN);
     foreach ($boxesInUse as $boi) {
         unset($boxes[$boi]);
     }
     return $boxes;
 }