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) 1765778400 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) 1765778400 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) 1765778400 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) 1765778400 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) 1765778400 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) 1765778400 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) 1765778400 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) 1765778400 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) 1765778400 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
Featuring custom cakes for all occasions, Cakes by Erin is an award-winning cake shop. The team here will create an exquisite cake based on your description—even with no photo or template as a… Read More
For the fairytale wedding you’ve always dreamed about, the team at Once Upon a Time brings tons of imagination to the planning process. They also offer travel agent services to help you plan… Read More
On the grounds of Haverhill’s Winnekenni Castle is Winnekenni Park. A vast green lawn space is perfect for enjoying a quiet afternoon or a boisterous family gathering. After your picnic, work… Read More
Serving breakfast, lunch and dinner, A-1 Deli, Inc. isn’t particularly traditional, but the food is fabulous just the same. Enjoy a veal cutlet sandwich, hand breaded chicken tenders, deli and… Read More
In addition to UV tanning and spray tans, A Touch of Sun offers makeup services, too. Get ready for a special night out by stopping here first. You’ll leave with a healthy-looking… Read More
The Essex Art Center offers a whole roster of art classes, broken into spring and fall sessions. Classes are available for all ages and are taught by quality professionals. The costs are affordable… Read More
Imajine That is an interactive children’s museum, where hands-on action is encouraged. You can hold your child’s birthday party here, too. Check the website for party themes. These… Read More
Looking for a truly special floral arrangement? Les Fleurs in Andover is the place. Their florists hand-select only the finest flowers to create beautiful, one-of-a-kind arrangements perfect for… Read More
From healthy seafood and salad dishes to soups and fried rice, Thai Sweet Basil won’t disappoint. Locals love the wings, tofu red curry, and Pad Thai, but there’s no such thing as a bad… Read More
At salon invi, clients are asked about their personal inspiration and they leave reflecting it. Sophistication reigns supreme here, and it’s obvious in the stylists, the products they use and… 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 Haverhill', '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) 42.783798217773, 'lng' => (float) -71.086502075195, 'latlng' => '42.783798217773,-71.086502075195', 'city' => 'Haverhill', 'state' => 'MA', 'theme' => '', 'page_type' => 'town' ) $options = array( 'page' => (int) 1, 'limit' => (int) 5, 'order' => array( 'created' => (int) -1 ), 'conditions' => array( 'address.town_sef_url' => 'haverhill-ma' ) )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
Haverhill, Massachusetts. Population for Haverhill from the last gathering is 58969. You can view Haverhill venues that host many Haverhill MA events every year.
You can find a ton of properties for sale if you search the Haverhill page on Zillow. Currently Haverhill has an average listing price for homes for sale on the market of $386,680. More real estate facts about Haverhill: The number of properties currently for sale in Haverhill is 25. The median homes for sale listing price is $359,000. This is broken down with the number of three bedroom houses in Haverhill consisting of 10 with an average listing price for these house of $345,420. Out of the 6 houses that are four bedroom the average listing price for Haverhill is $495,967. Interest rates for Haverhill are at historic lows as well.
Haverhill Massachusetts has a latitude of 42.783798217773 and a longitude of -71.086502075195. 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":"waterloo-ne"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 4 | |
| 2 | db.sites.find( {"hostname":{"$in":["americantowns.com","localword"]}}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 8 | |
| 3 | db.towns.find( {"sef_url":"haverhill-ma"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 6 | |
| 4 | db.pages.find( {"type":"town","slug":{"$in":["home"]},"site.hostname":"americantowns.com"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 6 | |
| 5 | db.modules.find( {"name":{"$in":["Header Menu Main","header script","footer menu","footer script"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 3 | |
| 6 | db.ttd_towns.find( {"town_sef_url":"haverhill-ma","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 | 11 | |
| 9 | db.modules.find( {"name":"AT - Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 3 | |
| 10 | db.articles.find( {"aggregate":[{"$geoNear":{"near":[-71.08650207519531,42.78379821777344],"distanceField":"distance","distanceMultiplier":3963.2,"maxDistance":0.025232135647961243,"spherical":true,"query":{"tags":"at-bt-articles-home","state":"MA"}}},{"$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(1765817388923)","$publish_date"]},86400000]},"relevance_score":{"$add":[{"$multiply":["$distance",10]},{"$divide":[{"$subtract":["MongoDB\\BSON\\UTCDateTime(1765817388923)","$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 | 478 | |
| 11 | db.ttd_towns.find( {"town_sef_url":"haverhill-ma","name":"Article Slideshow"}, {"TtdTown._id":1} ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 0 | 8 | |
| 12 | db.ttd.find( {"name":"Article Slideshow"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 13 | db.events_cache.find( {"_id":"4095c01e77a390973f5a561a5a7ef333"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 9 | |
| 14 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1766469599)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 88 | |
| 15 | db.events_cache.count( {"_id":"4095c01e77a390973f5a561a5a7ef333"} ) | 0 | 0 | 14 | |
| 16 | db.events_cache.count( {"_id":"4095c01e77a390973f5a561a5a7ef333"} ) | 0 | 0 | 9 | |
| 17 | db.events_cache.insert( {"_id":"4095c01e77a390973f5a561a5a7ef333","town_sef_url":"haverhill-ma","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"7\",\"show\":1,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":false}","modified":"MongoDate(0.81100000 1765817389)","created":"MongoDate(0.81100000 1765817389)"} , true) | 0 | 0 | 1 | |
| 18 | db.events_cache.find( {"_id":"0ce8f5f9ece7e1ad340b141af69c1cbf"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 2 | |
| 19 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1766728799)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 22 | |
| 20 | db.events_cache.count( {"_id":"0ce8f5f9ece7e1ad340b141af69c1cbf"} ) | 0 | 0 | 6 | |
| 21 | db.events_cache.count( {"_id":"0ce8f5f9ece7e1ad340b141af69c1cbf"} ) | 0 | 0 | 7 | |
| 22 | db.events_cache.insert( {"_id":"0ce8f5f9ece7e1ad340b141af69c1cbf","town_sef_url":"haverhill-ma","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"10\",\"show\":1,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":false}","modified":"MongoDate(0.99500000 1765817389)","created":"MongoDate(0.99500000 1765817389)"} , true) | 0 | 0 | 5 | |
| 23 | db.events_cache.find( {"_id":"a8bd33efc38ec00ac1eeb4cec8cca9ab"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 3 | |
| 24 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1768456799)"},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 150 | |
| 25 | db.events_cache.count( {"_id":"a8bd33efc38ec00ac1eeb4cec8cca9ab"} ) | 0 | 0 | 1 | |
| 26 | db.events_cache.count( {"_id":"a8bd33efc38ec00ac1eeb4cec8cca9ab"} ) | 0 | 0 | 1 | |
| 27 | db.events_cache.insert( {"_id":"a8bd33efc38ec00ac1eeb4cec8cca9ab","town_sef_url":"haverhill-ma","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"15\",\"days\":\"30\",\"show\":1,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":false}","modified":"MongoDate(0.44300000 1765817390)","created":"MongoDate(0.44300000 1765817390)"} , true) | 0 | 0 | 1 | |
| 28 | db.events_cache.find( {"_id":"77af80b45db036c2812b9d2cddc99752"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 29 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1766469599)"},"tags":"music","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 7 | |
| 30 | db.events_cache.count( {"_id":"77af80b45db036c2812b9d2cddc99752"} ) | 0 | 0 | 2 | |
| 31 | db.events_cache.count( {"_id":"77af80b45db036c2812b9d2cddc99752"} ) | 0 | 0 | 1 | |
| 32 | db.events_cache.insert( {"_id":"77af80b45db036c2812b9d2cddc99752","town_sef_url":"haverhill-ma","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"10\",\"days\":\"7\",\"show\":1,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":false}","modified":"MongoDate(0.47800000 1765817390)","created":"MongoDate(0.47800000 1765817390)"} , true) | 0 | 0 | 1 | |
| 33 | db.events_cache.find( {"_id":"4b3bf35decc957ac0619a893183f9d35"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 34 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1767074399)"},"tags":"music","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 12 | |
| 35 | db.events_cache.count( {"_id":"4b3bf35decc957ac0619a893183f9d35"} ) | 0 | 0 | 1 | |
| 36 | db.events_cache.count( {"_id":"4b3bf35decc957ac0619a893183f9d35"} ) | 0 | 0 | 1 | |
| 37 | db.events_cache.insert( {"_id":"4b3bf35decc957ac0619a893183f9d35","town_sef_url":"haverhill-ma","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"15\",\"days\":\"14\",\"show\":1,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":false}","modified":"MongoDate(0.52000000 1765817390)","created":"MongoDate(0.52000000 1765817390)"} , true) | 0 | 0 | 9 | |
| 38 | db.events_cache.find( {"_id":"0997b160800e1f7a8fb7912b16daca62"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 39 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1766123999)"},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 5 | |
| 40 | db.events_cache.count( {"_id":"0997b160800e1f7a8fb7912b16daca62"} ) | 0 | 0 | 1 | |
| 41 | db.events_cache.count( {"_id":"0997b160800e1f7a8fb7912b16daca62"} ) | 0 | 0 | 1 | |
| 42 | db.events_cache.insert( {"_id":"0997b160800e1f7a8fb7912b16daca62","town_sef_url":"haverhill-ma","data_key":[],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"15\",\"days\":\"3\",\"show\":1,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":false}","modified":"MongoDate(0.55200000 1765817390)","created":"MongoDate(0.55200000 1765817390)"} , true) | 0 | 0 | 2 | |
| 43 | db.events_cache.find( {"_id":"1140ca1c8ea7824e46880670b8ddd3a5"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 1 | |
| 44 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1768456799)"},"tags":"festivals","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 2 | 3 | |
| 45 | db.events_cache.count( {"_id":"1140ca1c8ea7824e46880670b8ddd3a5"} ) | 0 | 0 | 9 | |
| 46 | db.events_cache.count( {"_id":"1140ca1c8ea7824e46880670b8ddd3a5"} ) | 0 | 0 | 1 | |
| 47 | db.events_cache.insert( {"_id":"1140ca1c8ea7824e46880670b8ddd3a5","town_sef_url":"haverhill-ma","data_key":["6902090d52e74058870043ac"],"sort_order":{"start":1},"params":"{\"tags\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"show\":1,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":true}","modified":"MongoDate(0.61100000 1765817390)","created":"MongoDate(0.61100000 1765817390)"} , true) | 0 | 0 | 17 | |
| 48 | db.events_cache.find( {"_id":"42e09eec19af01bf9d862a465d2eafff"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 2 | |
| 49 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1767679199)"},"event_id":{"$nin":[76283282]},"tags":"ticketmaster","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 29 | |
| 50 | db.events_cache.count( {"_id":"42e09eec19af01bf9d862a465d2eafff"} ) | 0 | 0 | 14 | |
| 51 | db.events_cache.count( {"_id":"42e09eec19af01bf9d862a465d2eafff"} ) | 0 | 0 | 7 | |
| 52 | db.events_cache.insert( {"_id":"42e09eec19af01bf9d862a465d2eafff","town_sef_url":"haverhill-ma","data_key":["692baa90de4ae56f5a18a911","68edb41bc3af739f2514b951","68a7d4adc3af739f258237a5","68dc909fc3af739f25fd27fe","69211e96de4ae56f5af9bb4e","68551f42fb5e4bed1fd108af","6878b7e9fb5e4bed1fd984e2","68c0e124c3af739f253dc195","68dde21fc3af739f25c5684e","693b7c98de4ae56f5a5a9f12","68edb41bc3af739f2514b994","68551f48fb5e4bed1fd111e7","68551f4afb5e4bed1fd1161d","68551f4afb5e4bed1fd116e9","685670cefb5e4bed1f3b1806","685670d5fb5e4bed1f3b2799","6870cf23fb5e4bed1f090525","68c8ca21c3af739f25290f44","68b6552ac3af739f25c023f1","685670d8fb5e4bed1f3b2e32","685670d9fb5e4bed1f3b318b","68b8f82ac3af739f2556833a","68c8ca21c3af739f25290f63","68dde21fc3af739f25c568eb","68edb41bc3af739f2514ba2f","68e4799dc3af739f25a9d095","692e4d91de4ae56f5ae929ad","68ca1ba3c3af739f25d81103","68ca1ba3c3af739f25d81133","691fcd18de4ae56f5a67e43b","6857c258fb5e4bed1f86f764","6857c25bfb5e4bed1f86fc36","685e5a0cfb5e4bed1f620d41","6878b7eafb5e4bed1fd985ef","689ffd43fb5e4bed1f956017","69266492de4ae56f5ae483ae","68db3f20c3af739f25853cab","68edb41bc3af739f2514ba96","690ab51bde4ae56f5a840bdf","6881f27ffb5e4bed1fd3feba","68d4a7a4c3af739f25451213","690ea996de4ae56f5ac27fb0","690ab51bde4ae56f5a840be6","69251312de4ae56f5a25207c","68bb9b26c3af739f2533a15b","68ca1ba3c3af739f25d811f8","68ef059ec3af739f254bf90c","685913abfb5e4bed1fd99f6a","685913aefb5e4bed1fd9a4ee","689eabbdfb5e4bed1f7b3269"],"sort_order":{"start":1},"params":"{\"tags\":\"ticketmaster\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":true}","modified":"MongoDate(0.77700000 1765817390)","created":"MongoDate(0.77700000 1765817390)"} , true) | 0 | 0 | 9 | |
| 53 | db.events_cache.find( {"_id":"d51211ce822b9f1c6cf3899c215f6050"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 6 | |
| 54 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)","$lt":"MongoDate(0.00000000 1767679199)"},"event_id":{"$nin":[76283282,76362178]},"tags":"music","geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 24 | |
| 55 | db.events_cache.count( {"_id":"d51211ce822b9f1c6cf3899c215f6050"} ) | 0 | 0 | 6 | |
| 56 | db.events_cache.count( {"_id":"d51211ce822b9f1c6cf3899c215f6050"} ) | 0 | 0 | 5 | |
| 57 | db.events_cache.insert( {"_id":"d51211ce822b9f1c6cf3899c215f6050","town_sef_url":"haverhill-ma","data_key":["68cba569c3af739f25f71158","68957149fb5e4bed1fd76b99","68d4dfe6c3af739f258d8f32","69200554de4ae56f5af2c59a","6933cbd6de4ae56f5a4a5feb","68c11965c3af739f259e2d7c","68d8d463c3af739f2564b57d","68d4dfe6c3af739f258d8fdb","68f1e0dcc3af739f2516fa93","68e0bd60c3af739f257665db","68ca53e4c3af739f254ff00b","68c7b0e8c3af739f25ce0241","68d8d463c3af739f2564b5bd","68cba569c3af739f25f71211","68bd24e5c3af739f25f5488e","68cba569c3af739f25f71226","68f1e0dcc3af739f2516faf9","687925aafb5e4bed1f25534c","68ba81ebc3af739f25d20d79","68d4dfe6c3af739f258d90a6","69196dd4de4ae56f5a95861d","68c26ae7c3af739f25d45729","685913b3fb5e4bed1fd9abd8","68a80cebc3af739f25c638bc","68f8785cc3af739f25126328","69200555de4ae56f5af2c7ff","69254b56de4ae56f5a9f56e9","693911d1de4ae56f5a25df8a","69200555de4ae56f5af2c84f","68981447fb5e4bed1f560bc9","68a6f9a3c3af739f2569d448","69196dd4de4ae56f5a958691","68a80cecc3af739f25c63909","68c65f66c3af739f25e1ea24","68de1a60c3af739f25fcd727","69200555de4ae56f5af2c938","693911d1de4ae56f5a25e062","69254b57de4ae56f5a9f576f","687fca74fb5e4bed1fcbd3df","68f1e0dcc3af739f2516fbb5","690c3ed8de4ae56f5afb9a1e","68cba569c3af739f25f7140e","6933cbd7de4ae56f5a4a65fd","68cba569c3af739f25f714b9","6933cbd7de4ae56f5a4a6666","693911d2de4ae56f5a25e0f4","693911d2de4ae56f5a25e14d","68bd24e5c3af739f25f5497a","68c65f66c3af739f25e1eb4b","68eb495cc3af739f25ce1850"],"sort_order":{"start":1},"params":"{\"tags\":\"music\",\"radius\":\"100\",\"days\":\"21\",\"show\":50,\"geo\":[-71.08650207519531,42.78379821777344],\"has_next_page\":true}","modified":"MongoDate(0.91100000 1765817390)","created":"MongoDate(0.91100000 1765817390)"} , true) | 0 | 0 | 2 | |
| 58 | db.places.find( {"geo":{"$near":[-71.08650207519531,42.78379821777344],"$maxDistance":0.14492753623188406},"tags":"arts-and-entertainment"}, [] ).sort( [] ).limit( 51 ).skip( 0 ) | 0 | 51 | 4 | |
| 59 | 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\/ma-cake-shop-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/cake-shops\/\" target=\"_blank\">8 Best Cake Shops in Massachusetts!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/cake-shops\/\" target=\"_blank\">Cakes by Erin, Haverhill, MA<\/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\">Featuring custom cakes for all occasions, Cakes by Erin is an award-winning cake shop. The team here will create an exquisite cake based on your description—even with no photo or template as a… <a href=\"https:\/\/bestthingsma.com\/cake-shops\/\" 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\/ma-wedding-planner-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/wedding-planners\/\" target=\"_blank\">10 Best Wedding Planners in Massachusetts<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/wedding-planners\/\" target=\"_blank\">Once Upon a Time Wedding Services, Haverhill, MA<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">For the fairytale wedding you’ve always dreamed about, the team at Once Upon a Time brings tons of imagination to the planning process. They also offer travel agent services to help you plan… <a href=\"https:\/\/bestthingsma.com\/wedding-planners\/\" 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\/ma-parks-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/parks\/\" target=\"_blank\">The 10 Best Parks in Massachusetts!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/parks\/\" target=\"_blank\">Winnekenni Castle and Park, Haverhill, MA<\/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\">On the grounds of Haverhill’s Winnekenni Castle is Winnekenni Park. A vast green lawn space is perfect for enjoying a quiet afternoon or a boisterous family gathering. After your picnic, work… <a href=\"https:\/\/bestthingsma.com\/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\/ma-delis-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/delis\/\" target=\"_blank\">8 Best Delis in Massachusetts!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/delis\/\" target=\"_blank\">A-1 Deli, Inc., Haverhill, MA<\/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\">Serving breakfast, lunch and dinner, A-1 Deli, Inc. isn’t particularly traditional, but the food is fabulous just the same. Enjoy a veal cutlet sandwich, hand breaded chicken tenders, deli and… <a href=\"https:\/\/bestthingsma.com\/delis\/\" 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\/ma-tanning-salon-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/tanning-salons\/\" target=\"_blank\">The 8 Best Tanning Salons in Massachusetts!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/tanning-salons\/\" target=\"_blank\">A Touch of Sun, Methuen, MA<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">In addition to UV tanning and spray tans, A Touch of Sun offers makeup services, too. Get ready for a special night out by stopping here first. You’ll leave with a healthy-looking… <a href=\"https:\/\/bestthingsma.com\/tanning-salons\/\" 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\/ma-art-classes-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/art-classes\/\" target=\"_blank\">10 Best Art Classes in Massachusetts<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/art-classes\/\" target=\"_blank\">Essex Art Center, Lawrence, MA<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">The Essex Art Center offers a whole roster of art classes, broken into spring and fall sessions. Classes are available for all ages and are taught by quality professionals. The costs are affordable… <a href=\"https:\/\/bestthingsma.com\/art-classes\/\" 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\/ma-kids-birthday-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/birthday-party-places-for-kids\/\" target=\"_blank\">9 Best Places for a Kid\u2019s Birthday Party in Massachusetts!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/birthday-party-places-for-kids\/\" target=\"_blank\">Imajine That, Lawrence, MA<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,community-life-bt,community-life-p300,edited-cynthia,at-bt-articles-home,at-bt-articles-community<\/div>\n\t\t\t\t<p class=\"small\">Imajine That is an interactive children’s museum, where hands-on action is encouraged. You can hold your child’s birthday party here, too. Check the website for party themes. These… <a href=\"https:\/\/bestthingsma.com\/birthday-party-places-for-kids\/\" 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\/ma-florists-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/florists\/\" target=\"_blank\">9 Best Florists in Massachusetts!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/florists\/\" target=\"_blank\">Les Fleurs, Andover, MA<\/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\">Looking for a truly special floral arrangement? Les Fleurs in Andover is the place. Their florists hand-select only the finest flowers to create beautiful, one-of-a-kind arrangements perfect for… <a href=\"https:\/\/bestthingsma.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\/ma-thai-restaurants-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/thai-restaurants\/\" target=\"_blank\">9 Best Thai Restaurants in Massachusetts<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/thai-restaurants\/\" target=\"_blank\">Thai Sweet Basil, Andover, MA<\/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\">From healthy seafood and salad dishes to soups and fried rice, Thai Sweet Basil won’t disappoint. Locals love the wings, tofu red curry, and Pad Thai, but there’s no such thing as a bad… <a href=\"https:\/\/bestthingsma.com\/thai-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\/ma-hair-salons-1.jpg);\">\n\n\t\t\t\t\t<div class=\"carousel-caption\">\n\t\t\t\t<h4><a href=\"https:\/\/bestthingsma.com\/hair-salons\/\" target=\"_blank\">The 9 Best Hair Salons in Massachusetts!<\/a><\/h4>\n\t\t\t\t<div class=\"small\">Featuring<\/div>\n\t\t\t\t<h2><a href=\"https:\/\/bestthingsma.com\/hair-salons\/\" target=\"_blank\">salon invi, Andover, MA<\/a><\/h2>\n\t\t\t\t<div class=\"d-none hidden\">evergreen,directory-bt,directory-p300,at-bt-articles-home,at-bt-articles-directory<\/div>\n\t\t\t\t<p class=\"small\">At salon invi, clients are asked about their personal inspiration and they leave reflecting it. Sophistication reigns supreme here, and it’s obvious in the stylists, the products they use and… <a href=\"https:\/\/bestthingsma.com\/hair-salons\/\" 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":"haverhill-ma","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\":\"festivals\",\"radius\":\"60\",\"days\":\"30\",\"ttl\":\"2\",\"isempty\":1,\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/festivals-1.jpg\"}","expiration":1765824590,"type":"Event","id":76283282,"title":"Wellesley Festival of Trees","url":"\/event\/wellesley-festival-of-trees-2025-12-19-wellesley-ma.html","image_url":"https:\/\/cdn-taco.americantowns.com\/content-img\/lexe-other-festival-2.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":1765831790,"type":"Event","id":76362178,"title":"A Very Timmy Brown Christmas & Karaoke Night","url":"\/event\/a-very-timmy-brown-christmas-karaoke-night-2025-12-18-tm-foxboro-ma.html","image_url":"https:\/\/s1.ticketm.net\/dam\/c\/677\/c58dd0af-cda8-49b2-bdaf-068540c3a677_106541_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":1765831790,"type":"Event","id":76252124,"title":"Bike Routes and wakelee","url":"\/event\/bike-routes-and-wakelee-2025-12-17-jb-providence-ri.html","image_url":"https:\/\/www.jambase.com\/wp-content\/uploads\/2021\/08\/jambase-default-band-image-bw-980x551.png"},{"rule":"{\"content_type\":\"group_category\",\"radius\":\"10\",\"ttl\":\"8\",\"israndom\":1,\"group_category\":\"arts-and-entertainment\",\"thumbnail\":\"https:\\\/imgcdn.americantowns.com\\\/img\\\/uploads\\\/banner-images\\\/arts-1.jpg\",\"days\":1}","expiration":1765846190,"type":"Place","id":1395514,"title":"WomenSong","url":"\/place\/womensong-haverhill-ma.html","image_url":"https:\/\/cdn-p300.americantowns.com\/img\/generic-icon.jpg"}],"modified":"MongoDate(0.96000000 1765817390)","created":"MongoDate(0.96000000 1765817390)","_id":ObjectId ("69403c2e66e5c339e10680be")} , true) | 0 | 0 | 2 | |
| 60 | db.events_cache.find( {"_id":"dd79c6f87c2e201157f1437f8cbc23c2"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 0 | 9 | |
| 61 | db.events_radius_cache.find( {"_id":"45ef47ff09855a6caededc0d01a8e62c"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 11 | |
| 62 | db.events.find( {"start":{"$gte":"MongoDate(0.00000000 1765778400)"},"event_id":{"$nin":[76283282,76362178,76252124]},"geo":{"$geoWithin":{"$center":[[-71.08650207519531,42.78379821777344],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 | 1018 | |
| 63 | db.events_cache.count( {"_id":"dd79c6f87c2e201157f1437f8cbc23c2"} ) | 0 | 0 | 15 | |
| 64 | db.events_cache.count( {"_id":"dd79c6f87c2e201157f1437f8cbc23c2"} ) | 0 | 0 | 4 | |
| 65 | db.events_cache.insert( {"_id":"dd79c6f87c2e201157f1437f8cbc23c2","town_sef_url":"haverhill-ma","data_key":["690ccb7ade4ae56f5ae996b8","69179dc4de4ae56f5af4f013","685670d9fb5e4bed1f3b318b","68e0bd60c3af739f257665db","692acd15de4ae56f5a86b7ec"],"sort_order":{"start":1},"params":"{\"show\":5,\"title\":\"Events Around Haverhill\",\"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\":42.78379821777344,\"lng\":-71.08650207519531,\"latlng\":\"42.783798217773,-71.086502075195\",\"city\":\"Haverhill\",\"state\":\"MA\",\"theme\":\"\",\"page_type\":\"town\",\"grouped\":false,\"has_next_page\":true}","modified":"MongoDate(0.32300000 1765817392)","created":"MongoDate(0.32300000 1765817392)"} , true) | 0 | 0 | 8 | |
| 66 | db.news.find( {"broadcast":{"$in":["usa","haverhill-ma","ma","essex-county-ma"]},"$and":[{"tags":{"$ne":"at-p-opinion"}},{"tags":{"$ne":"p-opinion"}}]}, [] ).sort( {"publish_date":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 20 | |
| 67 | db.places.find( {"address.town_sef_url":"haverhill-ma","group_id":{"$nin":[1395514]},"group_type":"organization"}, [] ).sort( {"created":-1} ).limit( 6 ).skip( 0 ) | 0 | 6 | 5 | |
| 68 | db.answerbook.find( {"featured":true,"category_sef_tail":"home"}, [] ).sort( {"answers":-1,"modified":-1} ).limit( 15 ).skip( 0 ) | 0 | 0 | 4 | |
| 69 | db.answerbook_categories.find( [], ["sef_tail","name"] ).sort( {"category_sequence":1} ).limit( 0 ).skip( 0 ) | 0 | 40 | 16 | |
| 70 | db.towns.find( {"sef_url":"haverhill-ma"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 12 | |
| 71 | db.tokens.find( {"sef_url":{"$in":["usa","ma","essex-county-ma","haverhill-ma"]}}, [] ).sort( [] ).limit( 0 ).skip( 0 ) | 0 | 4 | 11 | |
| 72 | db.modules.find( {"name":"AT - Header Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 12 | |
| 73 | db.modules.find( {"name":"AT - Header Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 11 | |
| 74 | db.modules.find( {"name":"AT - Nearby Towns"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 1 | |
| 75 | db.modules.find( {"name":"AT - Nav Bar"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 10 | |
| 76 | db.modules.find( {"name":"CV Cancel"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 5 | |
| 77 | db.modules.find( {"name":"AT - Footer Section"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 13 | |
| 78 | db.modules.find( {"name":"AT - Footer Script"}, [] ).sort( [] ).limit( 1 ).skip( 0 ) | 0 | 1 | 7 |



