@Listener("Search")
  public void search() {
    Query<Travel> query;
    try {
      query = DBWrapper.getInstance().prepareQuery(Travel.class);
    } catch (SQLException e) {
      showError("Error recuperando viajes");
      return;
    }

    double maxPrice = -1;

    try {
      String price = view.getMaxPrice();

      if (!price.isEmpty()) maxPrice = Double.valueOf(price);
    } catch (NumberFormatException e) {
      showError("Formato de precio inválido.");
      return;
    }

    try {
      if (maxPrice != -1) query.setMax("price", maxPrice);

      view.setResults(DBWrapper.getInstance().executeQuery(query));
    } catch (Exception e) {
      showError("Error buscando en la base de datos.");
    }
  }