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) 1769666400 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) 1769666400 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) 1769666400 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) 1769666400 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) 1769666400 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) 1769666400 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) 1769666400 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) 1769666400 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) 1769666400 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) 1769666400 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
Spring Lake's My Barefoot Wedding offers up complete packages for beachfront weddings. Not just with a beach view, or in the neighborhood, but actually literally on the beach. Hence the term… 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
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 Spring Lake', '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.076599121094, 'lng' => (float) -86.191299438477, 'latlng' => '43.076599121094,-86.191299438477', 'city' => 'Spring Lake', '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' => 'spring-lake-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
Spring Lake, Michigan. Population for Spring Lake from the last gathering is 2514. You can view Spring Lake venues that host many Spring Lake MI events every year.
You can find a ton of properties for sale if you search the Spring Lake page on Zillow. Currently Spring Lake has an average listing price for homes for sale on the market of $276,876. More real estate facts about Spring Lake: The number of properties currently for sale in Spring Lake 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 Spring Lake 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 Spring Lake is $356,688. Interest rates for Spring Lake are at historic lows as well.
Spring Lake Michigan has a latitude of 43.076599121094 and a longitude of -86.191299438477. 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":"harmony-in"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 5 | |
| 2 | db.sites.find( {"hostname":{"$in":["americantowns.com","localword"]}}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 3 | db.towns.find( {"sef_url":"spring-lake-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 2 | |
| 4 | db.pages.find( {"type":"town","slug":{"$in":["home"]},"site.hostname":"americantowns.com"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 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":"spring-lake-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.19129943847656,43.07659912109375],"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(1769673741778)","$publish_date"]},86400000]},"relevance_score":{"$add":[{"$multiply":["$distance",10]},{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1769673741778)","$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 | 99 | |
| 11 | db.ttd_towns.find( {"town_sef_url":"spring-lake-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":"9e9d6823cf67a6e73da4a44ab8dab1b1"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 14 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770357599)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | 7 | |
| 15 | db.events_cache.count( {"_id":"9e9d6823cf67a6e73da4a44ab8dab1b1"} ) | 0 | 0 | 1 | |
| 16 | db.events_cache.count( {"_id":"9e9d6823cf67a6e73da4a44ab8dab1b1"} ) | 0 | 0 | 1 | |
| 17 | db.events_cache.insert( {"_id":"9e9d6823cf67a6e73da4a44ab8dab1b1","town_sef_url":"spring-lake-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.95400000 1769673741)","created":"MongoDate(0.95400000 1769673741)"} , true) | 0 | 0 | 1 | |
| 18 | db.events_cache.find( {"_id":"621734527609fb1692ac8971df3f5ad3"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 19 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770616799)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | 2 | 6 | |
| 20 | db.events_cache.count( {"_id":"621734527609fb1692ac8971df3f5ad3"} ) | 0 | 0 | 1 | |
| 21 | db.events_cache.count( {"_id":"621734527609fb1692ac8971df3f5ad3"} ) | 0 | 0 | 1 | |
| 22 | db.events_cache.insert( {"_id":"621734527609fb1692ac8971df3f5ad3","town_sef_url":"spring-lake-mi","data_key":["68a5433efb5e4bed1febc95f"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"10\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":true}","modified":"MongoDate(0.98000000 1769673741)","created":"MongoDate(0.98000000 1769673741)"} , true) | 0 | 0 | 1 | |
| 23 | db.events_cache.find( {"_id":"87432100bce387b2a4dd598d7f024ada"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 24 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770357599)"},"event_id":{"$nin":[76081037]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | |
| 25 | db.events_cache.count( {"_id":"87432100bce387b2a4dd598d7f024ada"} ) | 0 | 0 | 1 | |
| 26 | db.events_cache.count( {"_id":"87432100bce387b2a4dd598d7f024ada"} ) | 0 | 0 | 1 | |
| 27 | db.events_cache.insert( {"_id":"87432100bce387b2a4dd598d7f024ada","town_sef_url":"spring-lake-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"10\",\"days\":\"7\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.00100000 1769673742)","created":"MongoDate(0.00100000 1769673742)"} , true) | 0 | 0 | 1 | |
| 28 | db.events_cache.find( {"_id":"644434d7dbc334557c77e0cdf0cc6f72"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 29 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770962399)"},"event_id":{"$nin":[76081037]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | |
| 30 | db.events_cache.count( {"_id":"644434d7dbc334557c77e0cdf0cc6f72"} ) | 0 | 0 | 1 | |
| 31 | db.events_cache.count( {"_id":"644434d7dbc334557c77e0cdf0cc6f72"} ) | 0 | 0 | 1 | |
| 32 | db.events_cache.insert( {"_id":"644434d7dbc334557c77e0cdf0cc6f72","town_sef_url":"spring-lake-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"15\",\"days\":\"14\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.02900000 1769673742)","created":"MongoDate(0.02900000 1769673742)"} , true) | 0 | 0 | 1 | |
| 33 | db.events_cache.find( {"_id":"ad3c09bdc14a6b792b0ffa0637dd3342"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 34 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770011999)"},"event_id":{"$nin":[76081037]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | |
| 35 | db.events_cache.count( {"_id":"ad3c09bdc14a6b792b0ffa0637dd3342"} ) | 0 | 0 | 1 | |
| 36 | db.events_cache.count( {"_id":"ad3c09bdc14a6b792b0ffa0637dd3342"} ) | 0 | 0 | 1 | |
| 37 | db.events_cache.insert( {"_id":"ad3c09bdc14a6b792b0ffa0637dd3342","town_sef_url":"spring-lake-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"15\",\"days\":\"3\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.04400000 1769673742)","created":"MongoDate(0.04400000 1769673742)"} , true) | 0 | 0 | 1 | |
| 38 | db.events_cache.find( {"_id":"a8261e30ce9de519b8126e2805627bc3"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 39 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1772344799)"},"event_id":{"$nin":[76081037]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | |
| 40 | db.events_cache.count( {"_id":"a8261e30ce9de519b8126e2805627bc3"} ) | 0 | 0 | 1 | |
| 41 | db.events_cache.count( {"_id":"a8261e30ce9de519b8126e2805627bc3"} ) | 0 | 0 | 1 | |
| 42 | db.events_cache.insert( {"_id":"a8261e30ce9de519b8126e2805627bc3","town_sef_url":"spring-lake-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.06000000 1769673742)","created":"MongoDate(0.06000000 1769673742)"} , true) | 0 | 0 | 1 | |
| 43 | db.events_cache.find( {"_id":"9aaa051166fa481db978932d89177942"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 44 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770184799)"},"event_id":{"$nin":[76081037]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | 15 | |
| 45 | db.events_cache.count( {"_id":"9aaa051166fa481db978932d89177942"} ) | 0 | 0 | 1 | |
| 46 | db.events_cache.count( {"_id":"9aaa051166fa481db978932d89177942"} ) | 0 | 0 | 1 | |
| 47 | db.events_cache.insert( {"_id":"9aaa051166fa481db978932d89177942","town_sef_url":"spring-lake-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"10\",\"days\":\"5\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.10400000 1769673742)","created":"MongoDate(0.10400000 1769673742)"} , true) | 0 | 0 | 1 | |
| 48 | db.events_cache.find( {"_id":"75a9ab1b7e02c26de078b6fd9bd7231b"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 49 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1771048799)"},"event_id":{"$nin":[76081037]},"tags":"arts-and-entertainment","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | 31 | |
| 50 | db.events_cache.count( {"_id":"75a9ab1b7e02c26de078b6fd9bd7231b"} ) | 0 | 0 | 1 | |
| 51 | db.events_cache.count( {"_id":"75a9ab1b7e02c26de078b6fd9bd7231b"} ) | 0 | 0 | 1 | |
| 52 | db.events_cache.insert( {"_id":"75a9ab1b7e02c26de078b6fd9bd7231b","town_sef_url":"spring-lake-mi","data_key":["692e8d54de4ae56f5a6a66f7"],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"15\",\"days\":\"15\",\"show\":1,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.18000000 1769673742)","created":"MongoDate(0.18000000 1769673742)"} , true) | 0 | 0 | 1 | |
| 53 | db.events_cache.find( {"_id":"5b20b29b36bd19500566be61b6f11ac6"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 54 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1771567199)"},"event_id":{"$nin":[76081037,76382238]},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | |
| 55 | db.events_cache.count( {"_id":"5b20b29b36bd19500566be61b6f11ac6"} ) | 0 | 0 | 1 | |
| 56 | db.events_cache.count( {"_id":"5b20b29b36bd19500566be61b6f11ac6"} ) | 0 | 0 | 1 | |
| 57 | db.events_cache.insert( {"_id":"5b20b29b36bd19500566be61b6f11ac6","town_sef_url":"spring-lake-mi","data_key":["68bf8fa6c3af739f25b3809c","68fc34a1c3af739f25226f1c","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"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-86.19129943847656,43.07659912109375],\"has_next_page\":true}","modified":"MongoDate(0.26000000 1769673742)","created":"MongoDate(0.26000000 1769673742)"} , true) | 0 | 0 | 1 | |
| 58 | db.events_cache.find( {"_id":"ae45f42b5dfb755a315326ec1f68526e"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 59 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1771567199)"},"event_id":{"$nin":[76081037,76382238,76133646]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | |
| 60 | db.events_cache.count( {"_id":"ae45f42b5dfb755a315326ec1f68526e"} ) | 0 | 0 | 1 | |
| 61 | db.events_cache.count( {"_id":"ae45f42b5dfb755a315326ec1f68526e"} ) | 0 | 0 | 1 | |
| 62 | db.events_cache.insert( {"_id":"ae45f42b5dfb755a315326ec1f68526e","town_sef_url":"spring-lake-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.19129943847656,43.07659912109375],\"has_next_page\":false}","modified":"MongoDate(0.29000000 1769673742)","created":"MongoDate(0.29000000 1769673742)"} , true) | 0 | 0 | 1 | |
| 63 | 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-wedding-locations-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/wedding-locations\/\" target=\"_blank\">The 10 Best Wedding Locations 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\/wedding-locations\/\" target=\"_blank\">My Barefoot Wedding, Spring Lake, MI<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,community-life-p300,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">Spring Lake's My Barefoot Wedding offers up complete packages for beachfront weddings. Not just with a beach view, or in the neighborhood, but actually literally on the beach. Hence the term… <a href=\"https:\/\/bestthingsmi.com\/wedding-locations\/\" 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<\/div>\n<\/div>\n\n\n","town_sef_url":"spring-lake-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\":\"10\",\"ttl\":\"2\",\"isempty\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-1.jpg\"}","expiration":1769680941,"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":1769680942,"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":1769688142,"type":"Event","id":76133646,"title":"Kimberly Akimbo (Touring)","url":"\/event\/kimberly-akimbo-touring-2026-01-31-tm-grand-rapids-mi.html","image_url":"https:\/\/s1.ticketm.net\/dam\/a\/7f0\/da5c0609-34b5-4c5a-af11-8b609bc927f0_SOURCE"},{"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":1769688142,"type":"Event","id":76322373,"title":"Christian McBride","url":"\/event\/christian-mcbride-2026-02-14-jb-notre-dame-in.html","image_url":"https:\/\/www.jambase.com\/wp-content\/uploads\/2025\/07\/christian-mcbride-by-evelyn-freja-press-2025-980x551.jpg"}],"modified":"MongoDate(0.29200000 1769673742)","created":"MongoDate(0.29200000 1769673742)","_id":ObjectId ("697b140e681e82641e095da4")} , true) | 0 | 0 | 1 | |
| 64 | db.events_cache.find( {"_id":"62258a63c594bfdb597e4b91954bff8e"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 65 | db.events_radius_cache.find( {"_id":"2272acdb612cfe8f5dd09605061a3e7f"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 66 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)"},"event_id":{"$nin":[76081037,76382238,76133646,76322373]},"geo":{"$geoWithin":{"$center":[[-86.19129943847656,43.07659912109375],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 | 285 | |
| 67 | db.events_cache.count( {"_id":"62258a63c594bfdb597e4b91954bff8e"} ) | 0 | 0 | 1 | |
| 68 | db.events_cache.count( {"_id":"62258a63c594bfdb597e4b91954bff8e"} ) | 0 | 0 | 1 | |
| 69 | db.events_cache.insert( {"_id":"62258a63c594bfdb597e4b91954bff8e","town_sef_url":"spring-lake-mi","data_key":["68a5433ffb5e4bed1febc97a","68aba988c3af739f2572bbae","68acfb09c3af739f25c89e80","68be1e85c3af739f25e3d556","68bf7003c3af739f256e7d97"],"sort_order":{"start":1},"params":"{\"show\":5,\"title\":\"Events Around Spring Lake\",\"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.07659912109375,\"lng\":-86.19129943847656,\"latlng\":\"43.076599121094,-86.191299438477\",\"city\":\"Spring Lake\",\"state\":\"MI\",\"theme\":\"\",\"page_type\":\"town\",\"grouped\":false,\"has_next_page\":true}","modified":"MongoDate(0.68700000 1769673742)","created":"MongoDate(0.68700000 1769673742)"} , true) | 0 | 0 | 1 | |
| 70 | db.news.find( {"broadcast":{"$in":["usa","spring-lake-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 | |
| 71 | db.places.find( {"address.town_sef_url":"spring-lake-mi","group_type":"organization"}, [] ).sort( {"created":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 1 | |
| 72 | db.answerbook.find( {"featured":true,"category_sef_tail":"home"}, [] ).sort( {"answers":-1,"modified":-1} ).limit( 15 ).skip( 0 ) | 0 | 0 | 1 | |
| 73 | db.answerbook_categories.find( [], ["sef_tail","name"] ).sort( {"category_sequence":1} ).limit( 0 ).skip( 0 ) | 0 | 40 | 1 | |
| 74 | db.towns.find( {"sef_url":"spring-lake-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 75 | db.tokens.find( {"sef_url":{"$in":["usa","mi","ottawa-county-mi","spring-lake-mi"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 76 | db.modules.find( {"name":"AT - Header Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 77 | db.modules.find( {"name":"AT - Header Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 78 | db.modules.find( {"name":"AT - Nearby Towns"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 79 | db.modules.find( {"name":"AT - Nav Bar"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 80 | db.modules.find( {"name":"CV Cancel"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 81 | db.modules.find( {"name":"AT - Footer Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 82 | db.modules.find( {"name":"AT - Footer Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 |

