Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 193 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 193 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Notice (8): Undefined index: searchdate [APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80]Code Context$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59"));if(!empty($this->params['days']))$start_cond['$lt'] = new MongoDate(strtotime($this->params['searchdate']." 23:59:59 + ".$this->params['days']." days")) ;$count = false $grouped = false $start_cond = array( '$gte' => object(MongoDate) { sec => (int) 1769752800 usec => (int) 0 } )EventsComponent::create_search_condition() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 80 EventsComponent::search() - APP/Plugin/Core/Controller/Component/EventsComponent.php, line 43 TtdController::process_rule() - APP/Controller/TtdController.php, line 174 TtdController::get_ttd_slots() - APP/Controller/TtdController.php, line 111 TtdController::view() - APP/Controller/TtdController.php, line 71 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11
Follow I-94 and strike out north for Lucky Sushi Café in Grand Haven for another of Michigan's leaders on the sushi front. Featuring a lunch special that runs through the afternoon and parts… Read More
Head up the Lake Michigan shore to reach Grand Haven's eponymous Grand House Floral. Located in one of Michigan's great tourist centers, this shop features not only standards like roses and orchids,… Read More
Carrying on up the Lake Michigan coast, you'll reach Grand Haven, the next stop on your pampering tour, and the Nature's Envy Day Spa. A complete salon and day spa option, visitors get access to an… Read More
Grand Haven sandwich shop the Toasted Pickle lives by one maxim: If you find yourself in a pickle, eat your way out. Hard to fight that, but this is also home to one great fried delicacy: the fried… Read More
Every weekday at dusk-along with Fridays and Saturdays in May and September-from Memorial Day and running through Labor Day, the Grand Haven Musical Fountain offers a show in lights, sound, and… Read More
Those in one of Michigan's great lakeside towns—Grand Haven—will be able to enjoy a night in a puzzle room with Grand Haven Room Escape. With three rooms available—the Studio, the… Read More
A recent arrival in Grand Haven, Cumin Fresh Indian Kitchen declares that “good food puts you in a happy mood.” Hard to dispute that, and Cumin will deliver what it calls… Read More
Heading to Grand Haven? Well, you've got good reason, thanks to all the shops and restaurants out that way. Oh, yeah, there's also a big lake nearby, something called “Lake Michigan” or… Read More
The Paisley Pig, a gastropub in Grand Haven, has some of the best fries the lakeshore can offer, according to word from recent MLive polling. In fact, the pub fries at the Paisley Pig are… Read More
Lucky Sushi Cafe in Grand Haven is an excellent addition to the little lakeside town. While you'll also be able to land yourself a sushi dinner here, Lucky Sushi Cafe also offers plenty of options in… Read More
Notice (8): Trying to access array offset on value of type null [APP/Plugin/Core/Controller/Component/PlacesComponent.php, line 68]Code Contextif($params['tags'])$options['conditions']['tags'] = $params['tags'];else if($this->params['tags_logical'])$params = array( 'show' => (int) 5, 'title' => 'Organizations around Grand Haven', 'images' => false, 'group_type' => 'organization', 'sort' => 'created', 'sort_rule' => '-1', 'keyword' => '', 'radius' => null, 'limit' => (int) 15, 'page' => (int) 1, 'sef' => '', 'tags' => '', 'tags_logical' => '', 'terms' => '', 'show_limit' => (int) 3, 'days' => '', 'max-days' => (int) 365, 'max-miles' => (int) 45, 'message' => '[message to follow]', 'min' => (int) 50, 'prompt' => '', 'height' => '', 'width' => '', 'data_id' => '', 'more' => true, 'type' => '', 'autoshowmore' => false, 'link' => '', 'showdesc' => '', 'rankby' => '', 'empty-message' => '', 'ad_slots' => '', 'see-more-title' => '', 'searchdate' => '', 'searchenddate' => '', 'lat' => (float) 43.05899810791, 'lng' => (float) -86.220802307129, 'latlng' => '43.05899810791,-86.220802307129', 'city' => 'Grand Haven', 'state' => 'MI', 'theme' => '', 'page_type' => 'town' ) $options = array( 'page' => (int) 1, 'limit' => (int) 5, 'order' => array( 'created' => (int) -1 ), 'conditions' => array( 'address.town_sef_url' => 'grand-haven-mi' ) )PlacesComponent::search() - APP/Plugin/Core/Controller/Component/PlacesComponent.php, line 68 PlacesController::local() - APP/Controller/PlacesController.php, line 52 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193 Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167 CakeObject::requestAction() - CORE/Cake/Core/CakeObject.php, line 104 Modules::render() - APP/Lib/Modules.php, line 23 include - APP/View/Elements/display.ctp, line 14 View::_evaluate() - CORE/Cake/View/View.php, line 971 View::_render() - CORE/Cake/View/View.php, line 933 View::render() - CORE/Cake/View/View.php, line 473 Controller::render() - CORE/Cake/Controller/Controller.php, line 963 AppController::renderPage() - APP/Controller/AppController.php, line 224 TownsController::displayTown() - APP/Controller/TownsController.php, line 11 ReflectionMethod::invokeArgs() - [internal], line ?? Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491 Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Grand Haven, Michigan. Population for Grand Haven from the last gathering is 11168. You can view Grand Haven venues that host many Grand Haven MI events every year.
You can find a ton of properties for sale if you search the Grand Haven page on Zillow. Currently Grand Haven has an average listing price for homes for sale on the market of $276,876. More real estate facts about Grand Haven: The number of properties currently for sale in Grand Haven is 1,425. The median homes for sale listing price is $186,650. This is broken down with the number of three bedroom houses in Grand Haven consisting of 561 with an average listing price for these house of $200,581. Out of the 353 houses that are four bedroom the average listing price for Grand Haven is $356,688. Interest rates for Grand Haven are at historic lows as well.
Grand Haven Michigan has a latitude of 43.05899810791 and a longitude of -86.220802307129. View the full profile
On Yahoo, Yelp, SuperPages, AmericanTowns and 25 other directories!
Add your social media links and bio and promote your discounts, menus, events.
Be sure your listing is up on all the key local directories with all your important content (social links and product info).
| Nr | Query | Error | Affected | Num. rows | Took (ms) |
|---|---|---|---|---|---|
| 1 | db.towns.find( {"sef_url":"maple-hill-nc"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 7 | |
| 2 | db.sites.find( {"hostname":{"$in":["americantowns.com","localword"]}}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 3 | db.towns.find( {"sef_url":"grand-haven-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 4 | db.pages.find( {"type":"town","slug":{"$in":["home"]},"site.hostname":"americantowns.com"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 2 | |
| 5 | db.modules.find( {"name":{"$in":["Header Menu Main","header script","footer menu","footer script"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 6 | db.ttd_towns.find( {"town_sef_url":"grand-haven-mi","name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 7 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 8 | db.modules.find( {"module_id":"1022"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 2 | |
| 9 | db.modules.find( {"name":"AT - Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 10 | db.articles.find( {"aggregate":[{"$geoNear":{"near":[-86.2208023071289,43.058998107910156],"distanceField":"distance","distanceMultiplier":3963.2,"maxDistance":0.025232135647961243,"spherical":true,"query":{"tags":"at-bt-articles-home","state":"MI"}}},{"$project":{"title":1,"homepage_title":1,"tags":1,"image_url":1,"distance":1,"page_path":1,"path":1,"article_hostname":1,"text":1,"publish_date":1,"site_canonical":1,"sections.title":1,"sections.geo":1,"sections.text":1}},{"$addFields":{"days_since":{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1769786431325)","$publish_date"]},86400000]},"relevance_score":{"$add":[{"$multiply":["$distance",10]},{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1769786431325)","$publish_date"]},86400000]}]}}},{"$sort":{"relevance_score":1,"_id":1}},{"$skip":0},{"$limit":11}]}, ["article_id","title","homepage_title","tags","image_url","path","article_hostname","sef_tail","page_path","text","publish_date","site_canonical","sections.title","sections.text"] ).sort( {"relevance_score":1,"_id":1} ).limit( 11 ).skip( 0 ) | 0 | 11 | 65 | |
| 11 | db.ttd_towns.find( {"town_sef_url":"grand-haven-mi","name":"Article Slideshow"}, {"TtdTown._id":1} ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 0 | 1 | |
| 12 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 13 | db.events_cache.find( {"_id":"7c3fe6f6195dd3bbbd58a8dcbcea727e"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 14 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770443999)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 1 | 5 | |
| 15 | db.events_cache.count( {"_id":"7c3fe6f6195dd3bbbd58a8dcbcea727e"} ) | 0 | 0 | 1 | |
| 16 | db.events_cache.count( {"_id":"7c3fe6f6195dd3bbbd58a8dcbcea727e"} ) | 0 | 0 | 1 | |
| 17 | db.events_cache.insert( {"_id":"7c3fe6f6195dd3bbbd58a8dcbcea727e","town_sef_url":"grand-haven-mi","data_key":["68a5433efb5e4bed1febc95f"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"show\":1,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.44200000 1769786431)","created":"MongoDate(0.44200000 1769786431)"} , true) | 0 | 0 | 1 | |
| 18 | db.events_cache.find( {"_id":"6f62980f62f60caa075c3c16a4b31721"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 19 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770443999)"},"event_id":{"$nin":[76081037]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.14492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 4 | |
| 20 | db.events_cache.count( {"_id":"6f62980f62f60caa075c3c16a4b31721"} ) | 0 | 0 | 1 | |
| 21 | db.events_cache.count( {"_id":"6f62980f62f60caa075c3c16a4b31721"} ) | 0 | 0 | 1 | |
| 22 | db.events_cache.insert( {"_id":"6f62980f62f60caa075c3c16a4b31721","town_sef_url":"grand-haven-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"10\",\"days\":\"7\",\"show\":1,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.46700000 1769786431)","created":"MongoDate(0.46700000 1769786431)"} , true) | 0 | 0 | 1 | |
| 23 | db.events_cache.find( {"_id":"736b675fab6227f64f25638bd3137ce2"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 24 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771048799)"},"event_id":{"$nin":[76081037]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 6 | |
| 25 | db.events_cache.count( {"_id":"736b675fab6227f64f25638bd3137ce2"} ) | 0 | 0 | 1 | |
| 26 | db.events_cache.count( {"_id":"736b675fab6227f64f25638bd3137ce2"} ) | 0 | 0 | 1 | |
| 27 | db.events_cache.insert( {"_id":"736b675fab6227f64f25638bd3137ce2","town_sef_url":"grand-haven-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"15\",\"days\":\"14\",\"show\":1,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.49500000 1769786431)","created":"MongoDate(0.49500000 1769786431)"} , true) | 0 | 0 | 1 | |
| 28 | db.events_cache.find( {"_id":"e88887114c4976fc470be45e8ab77810"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 29 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770098399)"},"event_id":{"$nin":[76081037]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 1 | |
| 30 | db.events_cache.count( {"_id":"e88887114c4976fc470be45e8ab77810"} ) | 0 | 0 | 1 | |
| 31 | db.events_cache.count( {"_id":"e88887114c4976fc470be45e8ab77810"} ) | 0 | 0 | 1 | |
| 32 | db.events_cache.insert( {"_id":"e88887114c4976fc470be45e8ab77810","town_sef_url":"grand-haven-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"15\",\"days\":\"3\",\"show\":1,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.51500000 1769786431)","created":"MongoDate(0.51500000 1769786431)"} , true) | 0 | 0 | 1 | |
| 33 | db.events_cache.find( {"_id":"ccb367768bc74c84ae806c4f31083639"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 34 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1772431199)"},"event_id":{"$nin":[76081037]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.8695652173913043]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 1 | |
| 35 | db.events_cache.count( {"_id":"ccb367768bc74c84ae806c4f31083639"} ) | 0 | 0 | 1 | |
| 36 | db.events_cache.count( {"_id":"ccb367768bc74c84ae806c4f31083639"} ) | 0 | 0 | 1 | |
| 37 | db.events_cache.insert( {"_id":"ccb367768bc74c84ae806c4f31083639","town_sef_url":"grand-haven-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"show\":1,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.53200000 1769786431)","created":"MongoDate(0.53200000 1769786431)"} , true) | 0 | 0 | 1 | |
| 38 | db.events_cache.find( {"_id":"972071173d1de6a0c1a22207bf3d3397"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 39 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1770271199)"},"event_id":{"$nin":[76081037]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.14492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 0 | 13 | |
| 40 | db.events_cache.count( {"_id":"972071173d1de6a0c1a22207bf3d3397"} ) | 0 | 0 | 1 | |
| 41 | db.events_cache.count( {"_id":"972071173d1de6a0c1a22207bf3d3397"} ) | 0 | 0 | 1 | |
| 42 | db.events_cache.insert( {"_id":"972071173d1de6a0c1a22207bf3d3397","town_sef_url":"grand-haven-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"10\",\"days\":\"5\",\"show\":1,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.57200000 1769786431)","created":"MongoDate(0.57200000 1769786431)"} , true) | 0 | 0 | 1 | |
| 43 | db.events_cache.find( {"_id":"f941d7a6380df268784d4c770c7b4bf2"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 44 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771135199)"},"event_id":{"$nin":[76081037]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.21739130434782608]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 2 ).skip( 0 ) | 0 | 1 | 32 | |
| 45 | db.events_cache.count( {"_id":"f941d7a6380df268784d4c770c7b4bf2"} ) | 0 | 0 | 1 | |
| 46 | db.events_cache.count( {"_id":"f941d7a6380df268784d4c770c7b4bf2"} ) | 0 | 0 | 1 | |
| 47 | db.events_cache.insert( {"_id":"f941d7a6380df268784d4c770c7b4bf2","town_sef_url":"grand-haven-mi","data_key":["692e8d54de4ae56f5a6a66f7"],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"15\",\"days\":\"15\",\"show\":1,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.65300000 1769786431)","created":"MongoDate(0.65300000 1769786431)"} , true) | 0 | 0 | 1 | |
| 48 | db.events_cache.find( {"_id":"27128071cee18c4ac61d9e06124e4bdf"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 49 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771653599)"},"event_id":{"$nin":[76081037,76382238]},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],1.4492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 51 ).skip( 0 ) | 0 | 51 | 38 | |
| 50 | db.events_cache.count( {"_id":"27128071cee18c4ac61d9e06124e4bdf"} ) | 0 | 0 | 1 | |
| 51 | db.events_cache.count( {"_id":"27128071cee18c4ac61d9e06124e4bdf"} ) | 0 | 0 | 1 | |
| 52 | db.events_cache.insert( {"_id":"27128071cee18c4ac61d9e06124e4bdf","town_sef_url":"grand-haven-mi","data_key":["68bf8fa6c3af739f25b380c8","68bf8fa6c3af739f25b380d6","68c0e125c3af739f253dd07d","68ef05a0c3af739f254c0808","69436592de4ae56f5a4203e7","68bf8fa6c3af739f25b38119","68db3f22c3af739f25854a86","692cfc12de4ae56f5a961e78","6967019cb1faf7c56a6c9956","68f991a1c3af739f2535ad9f","68f991a1c3af739f2535ada8","68bf8fa6c3af739f25b38180","68c0e125c3af739f253dd115","69436592de4ae56f5a420475","68bf8fa6c3af739f25b38227","691d2a16de4ae56f5a437c6e","6938d995de4ae56f5aaaa1be","68ca1ba4c3af739f25d822af","6944b711de4ae56f5ab96a9d","68bf8fa6c3af739f25b38289","68bf8fa6c3af739f25b382a4","68bf8fa6c3af739f25b382b7","69211e9bde4ae56f5af9cd73","69587d8ede4ae56f5af46d45","68d5f928c3af739f25934403","691bd895de4ae56f5a7c0fbc","697ac81cb1faf7c56a7b4560","68bf8fa6c3af739f25b383b3","689965cffb5e4bed1f954489","6938d995de4ae56f5aaaa39e","6960668eb1faf7c56a140e9d","68db3f22c3af739f25854d03","68a5433ffb5e4bed1febc97a","68bf8fa6c3af739f25b38413","6940c291de4ae56f5a9dd2c8","691bd896de4ae56f5a7c1073","689ab740fb5e4bed1fdee67c","695dc38eb1faf7c56a6c0d71","693b7ca2de4ae56f5a5ac092","68e4799fc3af739f25a9e37b","693b7ca5de4ae56f5a5ac922","690ab51fde4ae56f5a841a68","69339394de4ae56f5aea31bb","690ab51fde4ae56f5a841a78","68a2a04dfb5e4bed1fbe59b2","68bf8fa7c3af739f25b38518","68c0e125c3af739f253dd440","68ef05a0c3af739f254c0c5d","69436593de4ae56f5a420863","6938d996de4ae56f5aaaa638"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":true}","modified":"MongoDate(0.73500000 1769786431)","created":"MongoDate(0.73500000 1769786431)"} , true) | 0 | 0 | 1 | |
| 53 | db.events_cache.find( {"_id":"a1d1b6b0ae480764a8a12318424ef244"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 54 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)","$lt":"MongoDate(0.00000000 1771653599)"},"event_id":{"$nin":[76081037,76382238,76407759]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],1.4492753623188406]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 51 ).skip( 0 ) | 0 | 9 | 8 | |
| 55 | db.events_cache.count( {"_id":"a1d1b6b0ae480764a8a12318424ef244"} ) | 0 | 0 | 1 | |
| 56 | db.events_cache.count( {"_id":"a1d1b6b0ae480764a8a12318424ef244"} ) | 0 | 0 | 1 | |
| 57 | db.events_cache.insert( {"_id":"a1d1b6b0ae480764a8a12318424ef244","town_sef_url":"grand-haven-mi","data_key":["693bb4d4de4ae56f5ad9bc70","68f1e0dec3af739f251701b3","6933cbd9de4ae56f5a4a7e2c","6916cad8de4ae56f5a4f4e20","68ba81ecc3af739f25d212a5","691427dbde4ae56f5a80de0f","6933cbd9de4ae56f5a4a7f4d","6916cad8de4ae56f5a4f4e97","68f9c9e0c3af739f2585190f"],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-86.2208023071289,43.058998107910156],\"has_next_page\":false}","modified":"MongoDate(0.77200000 1769786431)","created":"MongoDate(0.77200000 1769786431)"} , true) | 0 | 0 | 1 | |
| 58 | db.ttd_towns.insert( {"name":"Article Slideshow","main_slot_type":"module","main_slot_module_id":"1022","main_slot_html":"<div id=\"atCarousel\" class=\"carousel slide\" data-interval=\"5000\" data-ride=\"carousel\">\n\t<ol class=\"carousel-indicators\">\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"0\" class=\"active\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"1\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"2\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"3\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"4\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"5\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"6\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"7\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"8\" class=\"\"><\/li>\n\t\t\t\t<li data-target=\"#atCarousel\" data-slide-to=\"9\" class=\"\"><\/li>\n\t\t\t<\/ol> \n\t<div class=\"carousel-inner\">\n\t\t\t\t<div class=\"item active\" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-sushi-restaurant-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/sushi-restaurants\/\" target=\"_blank\">5 Best Sushi Restaurants in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/sushi-restaurants\/\" target=\"_blank\">Lucky Sushi Caf\u00e9, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,edited-cynthia,hybrid,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">Follow I-94 and strike out north for Lucky Sushi Café in Grand Haven for another of Michigan's leaders on the sushi front. Featuring a lunch special that runs through the afternoon and parts… <a href=\"https:\/\/bestthingsmi.com\/sushi-restaurants\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-florists-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/florists\/\" target=\"_blank\">10 Best Florists in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/florists\/\" target=\"_blank\">Garden House Floral, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,edited-chira,edited-cynthia,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">Head up the Lake Michigan shore to reach Grand Haven's eponymous Grand House Floral. Located in one of Michigan's great tourist centers, this shop features not only standards like roses and orchids,… <a href=\"https:\/\/bestthingsmi.com\/florists\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-spa-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/spas\/\" target=\"_blank\">6 Best Spas in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/spas\/\" target=\"_blank\">Nature's Envy Day Spa, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">Carrying on up the Lake Michigan coast, you'll reach Grand Haven, the next stop on your pampering tour, and the Nature's Envy Day Spa. A complete salon and day spa option, visitors get access to an… <a href=\"https:\/\/bestthingsmi.com\/spas\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-fried-food-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/fried-food-places\/\" target=\"_blank\">7 Best Fried Food Places in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/fried-food-places\/\" target=\"_blank\">The Toasted Pickle, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">Grand Haven sandwich shop the Toasted Pickle lives by one maxim: If you find yourself in a pickle, eat your way out. Hard to fight that, but this is also home to one great fried delicacy: the fried… <a href=\"https:\/\/bestthingsmi.com\/fried-food-places\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-offbeat-attractions-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/unusual-attractions\/\" target=\"_blank\">13 of the Best (and Most Offbeat) Attractions in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/unusual-attractions\/\" target=\"_blank\">Grand Haven Musical Fountain, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,entertainment-bt,entertainment-p300,at-bt-articles-home,at-bt-articles-entertainment<\/div>\n\t\t\t\t<p class=\"small\">Every weekday at dusk-along with Fridays and Saturdays in May and September-from Memorial Day and running through Labor Day, the Grand Haven Musical Fountain offers a show in lights, sound, and… <a href=\"https:\/\/bestthingsmi.com\/unusual-attractions\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-escape-rooms-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/escape-rooms\/\" target=\"_blank\">7 Best Escape Rooms in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/escape-rooms\/\" target=\"_blank\">Grand Haven Room Escape, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,entertainment-bt,entertainment-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-entertainment<\/div>\n\t\t\t\t<p class=\"small\">Those in one of Michigan's great lakeside towns—Grand Haven—will be able to enjoy a night in a puzzle room with Grand Haven Room Escape. With three rooms available—the Studio, the… <a href=\"https:\/\/bestthingsmi.com\/escape-rooms\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-indian-restaurants-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/indian-food\/\" target=\"_blank\">The 8 Best Indian Restaurants in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/indian-food\/\" target=\"_blank\">Cumin Fresh Indian Kitchen, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">A recent arrival in Grand Haven, Cumin Fresh Indian Kitchen declares that “good food puts you in a happy mood.” Hard to dispute that, and Cumin will deliver what it calls… <a href=\"https:\/\/bestthingsmi.com\/indian-food\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-bookstores-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/bookstores\/\" target=\"_blank\">8 Best Bookstores in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/bookstores\/\" target=\"_blank\">The Bookman, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">Heading to Grand Haven? Well, you've got good reason, thanks to all the shops and restaurants out that way. Oh, yeah, there's also a big lake nearby, something called “Lake Michigan” or… <a href=\"https:\/\/bestthingsmi.com\/bookstores\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-fries-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/fries\/\" target=\"_blank\">The Best Spots for French Fries in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/fries\/\" target=\"_blank\">The Paisley Pig, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">The Paisley Pig, a gastropub in Grand Haven, has some of the best fries the lakeshore can offer, according to word from recent MLive polling. In fact, the pub fries at the Paisley Pig are… <a href=\"https:\/\/bestthingsmi.com\/fries\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"item \" style=\"background-image:url(https:\/\/cdn-p300.americantowns.com\/img\/article\/mi-bubble-tea-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/bubble-tea\/\" target=\"_blank\">6 Best Bubble Tea Places in Michigan!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsmi.com\/bubble-tea\/\" target=\"_blank\">Lucky Sushi Cafe, Grand Haven, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,food-drink-bt,food-drink-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-restaurant<\/div>\n\t\t\t\t<p class=\"small\">Lucky Sushi Cafe in Grand Haven is an excellent addition to the little lakeside town. While you'll also be able to land yourself a sushi dinner here, Lucky Sushi Cafe also offers plenty of options in… <a href=\"https:\/\/bestthingsmi.com\/bubble-tea\/\" target=\"_blank\" class=\"text-nowrap\"><b>Read More<\/b><\/a><\/p>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n\n\n","town_sef_url":"grand-haven-mi","title":"Hiking!","subtitle":"Maps, directions and reviews for hiking around {local_city_state}!","image_url":"{\"0\":{\"content_type\":\"movie\",\"movie\":\"\/movie\/black-panther-wakanda-forever-297863\/\",\"title\":\"Black Panther: Wakanda Forever\",\"thumbnail\":\"https:\/\/www.movienewsletters.net\/photos\/297863R4.jpg\"},\"1\":{\"content_type\":\"event_tag\",\"searchtag\":\"ticketmaster","url":"\/{town_sef_url}\/hiking\/","slots":[{"rule":"{\"content_type\":\"event_tag\",\"searchtag\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"ttl\":\"1\",\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-1.jpg\"}","expiration":1769790031,"type":"Event","id":76081037,"title":"Muskegon Lumberjacks vs. Chicago Steel","url":"\/event\/muskegon-lumberjacks-vs-chicago-steel-2026-02-06-tm-muskegon-mi.html","image_url":"https:\/\/s1.ticketm.net\/dam\/c\/61c\/37e6dc36-b80c-45a5-9bc5-960c7a98161c_106321_TABLET_LANDSCAPE_LARGE_16_9.jpg"},{"rule":"{\"content_type\":\"event_category\",\"radius\":\"15\",\"days\":\"15\",\"ttl\":\"2\",\"isempty\":1,\"event_category\":\"arts-and-entertainment\",\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/arts-2.jpg\"}","expiration":1769793631,"type":"Event","id":76382238,"title":"The Sleeping Beauty: International Ballet Stars in Muskegon, MI!","url":"\/event\/the-sleeping-beauty-international-ballet-stars-in-muskegon-mi-2026-02-10-muskegon-mi.html","image_url":"https:\/\/cdn-p300.americantowns.com\/img\/generic-icon.jpg"},{"rule":"{\"content_type\":\"event_tag\",\"searchtag\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"ttl\":\"4\",\"israndom\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-1.jpg\"}","expiration":1769800831,"type":"Event","id":76407759,"title":"Anime Night","url":"\/event\/anime-night-2026-02-12-tm-grand-rapids-mi.html","image_url":"https:\/\/i.ticketweb.com\/i\/00\/12\/73\/86\/04_Edp.jpg?v=6"},{"rule":"{\"content_type\":\"event_tag\",\"searchtag\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"ttl\":\"4\",\"israndom\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-3.jpg\"}","expiration":1769800831,"type":"Event","id":76337262,"title":"Opiuo","url":"\/event\/opiuo-2026-02-12-jb-grand-rapids-mi.html","image_url":"https:\/\/www.jambase.com\/wp-content\/uploads\/2019\/10\/opiuo-ticketmaster-ram-980x551.jpg"}],"modified":"MongoDate(0.77600000 1769786431)","created":"MongoDate(0.77600000 1769786431)","_id":ObjectId ("697ccc3f46eeb2620003d732")} , true) | 0 | 0 | 1 | |
| 59 | db.events_cache.find( {"_id":"505b8264a7f62f2df945f12b203493d9"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 60 | db.events_radius_cache.find( {"_id":"03385741979ca5a2692de35bb011a594"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 61 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769752800)"},"event_id":{"$nin":[76081037,76382238,76407759,76337262]},"geo":{"$geoWithin":{"$center":[[-86.2208023071289,43.058998107910156],0.36231884057971014]}}}, ["location_string","event_id","partner_id","address","sef_tail","tags","title","start","end","date_string","time_string","image_url","group_id","group_name","group_sef_tail","venue_name"] ).sort( {"start":1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 191 | |
| 62 | db.events_cache.count( {"_id":"505b8264a7f62f2df945f12b203493d9"} ) | 0 | 0 | 1 | |
| 63 | db.events_cache.count( {"_id":"505b8264a7f62f2df945f12b203493d9"} ) | 0 | 0 | 1 | |
| 64 | db.events_cache.insert( {"_id":"505b8264a7f62f2df945f12b203493d9","town_sef_url":"grand-haven-mi","data_key":["68a5433ffb5e4bed1febc97a","68aba988c3af739f2572bbae","68acfb09c3af739f25c89e80","68be1e85c3af739f25e3d556","68bf7003c3af739f256e7d97"],"sort_order":{"start":1},"params":"{\"show\":5,\"title\":\"Events Around Grand Haven\",\"keyword\":\"\",\"radius\":25,\"limit\":15,\"page\":1,\"sef\":\"\",\"tags\":\"\",\"tags_logical\":\"\",\"terms\":\"\",\"show_limit\":3,\"sort\":\"\",\"days\":\"\",\"images\":true,\"max-days\":365,\"max-miles\":45,\"message\":\"[message to follow]\",\"min\":50,\"prompt\":\"\",\"height\":\"\",\"width\":\"\",\"data_id\":\"\",\"more\":true,\"type\":\"\",\"autoshowmore\":false,\"link\":\"\",\"showdesc\":\"\",\"rankby\":\"\",\"empty-message\":\"\",\"ad_slots\":\"\",\"see-more-title\":\"\",\"searchdate\":\"\",\"searchenddate\":\"\",\"lat\":43.058998107910156,\"lng\":-86.2208023071289,\"latlng\":\"43.05899810791,-86.220802307129\",\"city\":\"Grand Haven\",\"state\":\"MI\",\"theme\":\"\",\"page_type\":\"town\",\"grouped\":false,\"has_next_page\":true}","modified":"MongoDate(0.06500000 1769786432)","created":"MongoDate(0.06500000 1769786432)"} , true) | 0 | 0 | 1 | |
| 65 | db.news.find( {"broadcast":{"$in":["usa","grand-haven-mi","mi","ottawa-county-mi"]},"$and":[{"tags":{"$ne":"at-p-opinion"}},{"tags":{"$ne":"p-opinion"}}]}, [] ).sort( {"publish_date":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 3 | |
| 66 | db.places.find( {"address.town_sef_url":"grand-haven-mi","group_type":"organization"}, [] ).sort( {"created":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 1 | |
| 67 | db.answerbook.find( {"featured":true,"category_sef_tail":"home"}, [] ).sort( {"answers":-1,"modified":-1} ).limit( 15 ).skip( 0 ) | 0 | 0 | 1 | |
| 68 | db.answerbook_categories.find( [], ["sef_tail","name"] ).sort( {"category_sequence":1} ).limit( 0 ).skip( 0 ) | 0 | 40 | 1 | |
| 69 | db.towns.find( {"sef_url":"grand-haven-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 70 | db.tokens.find( {"sef_url":{"$in":["usa","mi","ottawa-county-mi","grand-haven-mi"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 71 | db.modules.find( {"name":"AT - Header Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 2 | |
| 72 | db.modules.find( {"name":"AT - Header Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 73 | db.modules.find( {"name":"AT - Nearby Towns"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 74 | db.modules.find( {"name":"AT - Nav Bar"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 75 | db.modules.find( {"name":"CV Cancel"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 76 | db.modules.find( {"name":"AT - Footer Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 77 | db.modules.find( {"name":"AT - Footer Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 |


