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
The humble potato chip has filled many bellies over the years, but Turk's Tavern in Nunica delivers an exciting new option for this simple dish. It starts with potato chips, of course, made in-house… 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
Located just outside of Muskegon, Hoffmaster State Park offers plenty of the features commonly expected of a Lake Michigan state park, including swimming opportunities. However, Hoffmaster offers a… 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
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 Fruitport', '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.122100830078, 'lng' => (float) -86.155296325684, 'latlng' => '43.122100830078,-86.155296325684', 'city' => 'Fruitport', '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' => 'fruitport-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
Fruitport, Michigan. Population for Fruitport from the last gathering is 1124. You can view Fruitport venues that host many Fruitport MI events every year.
You can find a ton of properties for sale if you search the Fruitport page on Zillow. Currently Fruitport has an average listing price for homes for sale on the market of $159,294. More real estate facts about Fruitport: The number of properties currently for sale in Fruitport is 1,130. The median homes for sale listing price is $119,900. This is broken down with the number of three bedroom houses in Fruitport consisting of 507 with an average listing price for these house of $138,880. Out of the 207 houses that are four bedroom the average listing price for Fruitport is $204,918. Interest rates for Fruitport are at historic lows as well.
Fruitport Michigan has a latitude of 43.122100830078 and a longitude of -86.155296325684. 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.sites.find( {"hostname":{"$in":["americantowns.com","localword"]}}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 12 | |
| 2 | db.towns.find( {"sef_url":"fruitport-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 3 | db.pages.find( {"type":"town","slug":{"$in":["home"]},"site.hostname":"americantowns.com"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 4 | db.modules.find( {"name":{"$in":["Header Menu Main","header script","footer menu","footer script"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 5 | db.ttd_towns.find( {"town_sef_url":"fruitport-mi","name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 6 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 7 | db.modules.find( {"module_id":"1022"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 4 | |
| 8 | db.modules.find( {"name":"AT - Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 2 | |
| 9 | db.articles.find( {"aggregate":[{"$geoNear":{"near":[-86.1552963256836,43.122100830078125],"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(1769702912065)","$publish_date"]},86400000]},"relevance_score":{"$add":[{"$multiply":["$distance",10]},{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1769702912065)","$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 | 90 | |
| 10 | db.ttd_towns.find( {"town_sef_url":"fruitport-mi","name":"Article Slideshow"}, {"TtdTown._id":1} ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 0 | 1 | |
| 11 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 12 | db.events_cache.find( {"_id":"88486e0d45e1236f8122ed9eaf85a345"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 13 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770357599)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | |
| 14 | db.events_cache.count( {"_id":"88486e0d45e1236f8122ed9eaf85a345"} ) | 0 | 0 | 1 | |
| 15 | db.events_cache.count( {"_id":"88486e0d45e1236f8122ed9eaf85a345"} ) | 0 | 0 | 1 | |
| 16 | db.events_cache.insert( {"_id":"88486e0d45e1236f8122ed9eaf85a345","town_sef_url":"fruitport-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.19900000 1769702912)","created":"MongoDate(0.19900000 1769702912)"} , true) | 0 | 0 | 1 | |
| 17 | db.events_cache.find( {"_id":"64234726681f2e3d3c404f6a7a94f2f1"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 18 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770616799)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | 7 | |
| 19 | db.events_cache.count( {"_id":"64234726681f2e3d3c404f6a7a94f2f1"} ) | 0 | 0 | 1 | |
| 20 | db.events_cache.count( {"_id":"64234726681f2e3d3c404f6a7a94f2f1"} ) | 0 | 0 | 1 | |
| 21 | db.events_cache.insert( {"_id":"64234726681f2e3d3c404f6a7a94f2f1","town_sef_url":"fruitport-mi","data_key":["68a5433efb5e4bed1febc95f"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"10\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":true}","modified":"MongoDate(0.22600000 1769702912)","created":"MongoDate(0.22600000 1769702912)"} , true) | 0 | 0 | 1 | |
| 22 | db.events_cache.find( {"_id":"59abdfbe7f1fd843f9ebde1069321968"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 23 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770357599)"},"event_id":{"$nin":[76081037]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | 5 | |
| 24 | db.events_cache.count( {"_id":"59abdfbe7f1fd843f9ebde1069321968"} ) | 0 | 0 | 1 | |
| 25 | db.events_cache.count( {"_id":"59abdfbe7f1fd843f9ebde1069321968"} ) | 0 | 0 | 1 | |
| 26 | db.events_cache.insert( {"_id":"59abdfbe7f1fd843f9ebde1069321968","town_sef_url":"fruitport-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"10\",\"days\":\"7\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.25100000 1769702912)","created":"MongoDate(0.25100000 1769702912)"} , true) | 0 | 0 | 1 | |
| 27 | db.events_cache.find( {"_id":"81839a3cfe340739cb3390b3c2df96e3"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 28 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770962399)"},"event_id":{"$nin":[76081037]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | |
| 29 | db.events_cache.count( {"_id":"81839a3cfe340739cb3390b3c2df96e3"} ) | 0 | 0 | 1 | |
| 30 | db.events_cache.count( {"_id":"81839a3cfe340739cb3390b3c2df96e3"} ) | 0 | 0 | 1 | |
| 31 | db.events_cache.insert( {"_id":"81839a3cfe340739cb3390b3c2df96e3","town_sef_url":"fruitport-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"15\",\"days\":\"14\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.27900000 1769702912)","created":"MongoDate(0.27900000 1769702912)"} , true) | 0 | 0 | 1 | |
| 32 | db.events_cache.find( {"_id":"4878860f9338ff69da86a35409cdd0b3"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 33 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1770011999)"},"event_id":{"$nin":[76081037]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | |
| 34 | db.events_cache.count( {"_id":"4878860f9338ff69da86a35409cdd0b3"} ) | 0 | 0 | 1 | |
| 35 | db.events_cache.count( {"_id":"4878860f9338ff69da86a35409cdd0b3"} ) | 0 | 0 | 1 | |
| 36 | db.events_cache.insert( {"_id":"4878860f9338ff69da86a35409cdd0b3","town_sef_url":"fruitport-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"15\",\"days\":\"3\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.29800000 1769702912)","created":"MongoDate(0.29800000 1769702912)"} , true) | 0 | 0 | 1 | |
| 37 | db.events_cache.find( {"_id":"eb2f000b4eb68d2d40e943175c0b1c72"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 38 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1772344799)"},"event_id":{"$nin":[76081037]},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | |
| 39 | db.events_cache.count( {"_id":"eb2f000b4eb68d2d40e943175c0b1c72"} ) | 0 | 0 | 1 | |
| 40 | db.events_cache.count( {"_id":"eb2f000b4eb68d2d40e943175c0b1c72"} ) | 0 | 0 | 1 | |
| 41 | db.events_cache.insert( {"_id":"eb2f000b4eb68d2d40e943175c0b1c72","town_sef_url":"fruitport-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.31800000 1769702912)","created":"MongoDate(0.31800000 1769702912)"} , true) | 0 | 0 | 1 | |
| 42 | db.events_cache.find( {"_id":"59faa616524b854d80cc922ea0046cdc"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 43 | 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.1552963256836,43.122100830078125],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 | 17 | |
| 44 | db.events_cache.count( {"_id":"59faa616524b854d80cc922ea0046cdc"} ) | 0 | 0 | 1 | |
| 45 | db.events_cache.count( {"_id":"59faa616524b854d80cc922ea0046cdc"} ) | 0 | 0 | 1 | |
| 46 | db.events_cache.insert( {"_id":"59faa616524b854d80cc922ea0046cdc","town_sef_url":"fruitport-mi","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"10\",\"days\":\"5\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.37100000 1769702912)","created":"MongoDate(0.37100000 1769702912)"} , true) | 0 | 0 | 1 | |
| 47 | db.events_cache.find( {"_id":"469ecd8e65b969b1e4ab081fa34d6057"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 48 | 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.1552963256836,43.122100830078125],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 | 33 | |
| 49 | db.events_cache.count( {"_id":"469ecd8e65b969b1e4ab081fa34d6057"} ) | 0 | 0 | 1 | |
| 50 | db.events_cache.count( {"_id":"469ecd8e65b969b1e4ab081fa34d6057"} ) | 0 | 0 | 1 | |
| 51 | db.events_cache.insert( {"_id":"469ecd8e65b969b1e4ab081fa34d6057","town_sef_url":"fruitport-mi","data_key":["692e8d54de4ae56f5a6a66f7"],"sort_order":{"start":1},"params":"{\"tags\":\"arts-and-entertainment\",\"radius\":\"15\",\"days\":\"15\",\"show\":1,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.45400000 1769702912)","created":"MongoDate(0.45400000 1769702912)"} , true) | 0 | 0 | 1 | |
| 52 | db.events_cache.find( {"_id":"abbd5ca51f95b5a872eb310518788924"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 53 | 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.1552963256836,43.122100830078125],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 | 51 | |
| 54 | db.events_cache.count( {"_id":"abbd5ca51f95b5a872eb310518788924"} ) | 0 | 0 | 1 | |
| 55 | db.events_cache.count( {"_id":"abbd5ca51f95b5a872eb310518788924"} ) | 0 | 0 | 1 | |
| 56 | db.events_cache.insert( {"_id":"abbd5ca51f95b5a872eb310518788924","town_sef_url":"fruitport-mi","data_key":["68bf8fa6c3af739f25b3809c","68fc34a1c3af739f25226f1c","68bf8fa6c3af739f25b380c8","68bf8fa6c3af739f25b380d6","68c0e125c3af739f253dd07d","68ef05a0c3af739f254c0808","69436592de4ae56f5a4203e7","68bf8fa6c3af739f25b38119","68db3f22c3af739f25854a86","692cfc12de4ae56f5a961e78","6967019cb1faf7c56a6c9956","68f991a1c3af739f2535ad9f","68f991a1c3af739f2535ada8","68bf8fa6c3af739f25b38180","68c0e125c3af739f253dd115","69436592de4ae56f5a420475","68bf8fa6c3af739f25b38227","691d2a16de4ae56f5a437c6e","6938d995de4ae56f5aaaa1be","6955da90de4ae56f5aaa027c","6944b711de4ae56f5ab96a9d","68bf8fa6c3af739f25b38289","68bf8fa6c3af739f25b382a4","68bf8fa6c3af739f25b382b7","69211e9bde4ae56f5af9cd73","69587d8ede4ae56f5af46d45","68d5f928c3af739f25934403","691bd895de4ae56f5a7c0fbc","697ac81cb1faf7c56a7b4560","68bf8fa6c3af739f25b383b3","689965cffb5e4bed1f954489","6938d995de4ae56f5aaaa39e","6960668eb1faf7c56a140e9d","68db3f22c3af739f25854d03","68a5433ffb5e4bed1febc97a","68bf8fa6c3af739f25b38413","6940c291de4ae56f5a9dd2c8","689ab740fb5e4bed1fdee67c","695dc38eb1faf7c56a6c0d71","693b7ca2de4ae56f5a5ac092","68e4799fc3af739f25a9e37b","693b7ca5de4ae56f5a5ac922","690ab51fde4ae56f5a841a68","69339394de4ae56f5aea31bb","690ab51fde4ae56f5a841a78","68a2a04dfb5e4bed1fbe59b2","68bf8fa7c3af739f25b38518","68c0e125c3af739f253dd440","68ef05a0c3af739f254c0c5d","69436593de4ae56f5a420863"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-86.1552963256836,43.122100830078125],\"has_next_page\":true}","modified":"MongoDate(0.57000000 1769702912)","created":"MongoDate(0.57000000 1769702912)"} , true) | 0 | 0 | 2 | |
| 57 | db.events_cache.find( {"_id":"b48295162861f36e6978dca48e1ecaa5"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 58 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)","$lt":"MongoDate(0.00000000 1771567199)"},"event_id":{"$nin":[76081037,76382238,76132867]},"tags":"music","geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | 11 | |
| 59 | db.events_cache.count( {"_id":"b48295162861f36e6978dca48e1ecaa5"} ) | 0 | 0 | 1 | |
| 60 | db.events_cache.count( {"_id":"b48295162861f36e6978dca48e1ecaa5"} ) | 0 | 0 | 1 | |
| 61 | db.events_cache.insert( {"_id":"b48295162861f36e6978dca48e1ecaa5","town_sef_url":"fruitport-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.1552963256836,43.122100830078125],\"has_next_page\":false}","modified":"MongoDate(0.61200000 1769702912)","created":"MongoDate(0.61200000 1769702912)"} , true) | 0 | 0 | 1 | |
| 62 | 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-appetizers-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/appetizers\/\" target=\"_blank\">7 Best Places for Appetizers 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\/appetizers\/\" target=\"_blank\">Turk's Tavern, Nunica, 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\">The humble potato chip has filled many bellies over the years, but Turk's Tavern in Nunica delivers an exciting new option for this simple dish. It starts with potato chips, of course, made in-house… <a href=\"https:\/\/bestthingsmi.com\/appetizers\/\" 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-state-parks-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsmi.com\/state-parks\/\" target=\"_blank\">The 10 Best State Parks 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\/state-parks\/\" target=\"_blank\">Hoffmaster State Park, Muskegon, 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\">Located just outside of Muskegon, Hoffmaster State Park offers plenty of the features commonly expected of a Lake Michigan state park, including swimming opportunities. However, Hoffmaster offers a… <a href=\"https:\/\/bestthingsmi.com\/state-parks\/\" 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<\/div>\n<\/div>\n\n\n","town_sef_url":"fruitport-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":1769710112,"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":1769710112,"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":1769717312,"type":"Event","id":76132867,"title":"Grand Rapids Griffins vs. Texas Stars","url":"\/event\/grand-rapids-griffins-vs-texas-stars-2026-02-13-tm-grand-rapids-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_tag\",\"searchtag\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"ttl\":\"4\",\"israndom\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/music-3.jpg\"}","expiration":1769717312,"type":"Event","id":76251864,"title":"Shlump","url":"\/event\/shlump-2026-01-30-jb-grand-rapids-mi.html","image_url":"https:\/\/www.jambase.com\/wp-content\/uploads\/2021\/08\/jambase-default-band-image-bw-980x551.png"}],"modified":"MongoDate(0.61600000 1769702912)","created":"MongoDate(0.61600000 1769702912)","_id":ObjectId ("697b8600749a9bffec069297")} , true) | 0 | 0 | 5 | |
| 63 | db.events_cache.find( {"_id":"9ebf327a8db9730d1952b353d09d4974"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 64 | db.events_radius_cache.find( {"_id":"2f9c1a7d76c3e95ceee1fab385c6dee2"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 65 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1769666400)"},"event_id":{"$nin":[76081037,76382238,76132867,76251864]},"geo":{"$geoWithin":{"$center":[[-86.1552963256836,43.122100830078125],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 | 270 | |
| 66 | db.events_cache.count( {"_id":"9ebf327a8db9730d1952b353d09d4974"} ) | 0 | 0 | 1 | |
| 67 | db.events_cache.count( {"_id":"9ebf327a8db9730d1952b353d09d4974"} ) | 0 | 0 | 1 | |
| 68 | db.events_cache.insert( {"_id":"9ebf327a8db9730d1952b353d09d4974","town_sef_url":"fruitport-mi","data_key":["68a5433ffb5e4bed1febc97a","68aba988c3af739f2572bbae","68acfb09c3af739f25c89e80","68be1e85c3af739f25e3d556","68bf7003c3af739f256e7d97"],"sort_order":{"start":1},"params":"{\"show\":5,\"title\":\"Events Around Fruitport\",\"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.122100830078125,\"lng\":-86.1552963256836,\"latlng\":\"43.122100830078,-86.155296325684\",\"city\":\"Fruitport\",\"state\":\"MI\",\"theme\":\"\",\"page_type\":\"town\",\"grouped\":false,\"has_next_page\":true}","modified":"MongoDate(0.04700000 1769702913)","created":"MongoDate(0.04700000 1769702913)"} , true) | 0 | 0 | 1 | |
| 69 | db.news.find( {"broadcast":{"$in":["usa","fruitport-mi","mi","muskegon-county-mi"]},"$and":[{"tags":{"$ne":"at-p-opinion"}},{"tags":{"$ne":"p-opinion"}}]}, [] ).sort( {"publish_date":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 3 | |
| 70 | db.places.find( {"address.town_sef_url":"fruitport-mi","group_type":"organization"}, [] ).sort( {"created":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 1 | |
| 71 | db.answerbook.find( {"featured":true,"category_sef_tail":"home"}, [] ).sort( {"answers":-1,"modified":-1} ).limit( 15 ).skip( 0 ) | 0 | 0 | 1 | |
| 72 | db.answerbook_categories.find( [], ["sef_tail","name"] ).sort( {"category_sequence":1} ).limit( 0 ).skip( 0 ) | 0 | 40 | 1 | |
| 73 | db.towns.find( {"sef_url":"fruitport-mi"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 74 | db.tokens.find( {"sef_url":{"$in":["usa","mi","muskegon-county-mi","fruitport-mi"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 1 | |
| 75 | db.modules.find( {"name":"AT - Header Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 76 | db.modules.find( {"name":"AT - Header Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 77 | db.modules.find( {"name":"AT - Nearby Towns"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 78 | db.modules.find( {"name":"AT - Nav Bar"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 79 | db.modules.find( {"name":"CV Cancel"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 80 | db.modules.find( {"name":"AT - Footer Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 81 | db.modules.find( {"name":"AT - Footer Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 |

