Things to Do in Baton Rouge (2024)

There's much to explore when looking for things to do in Baton Rouge. Whether you're here for a sporting event, girlfriend getaway, or family vacation, there's something for everyone. Immerse yourself in Louisiana culture by exploringhistorical landmarks and attractions, where you can learn about Louisiana's colorful and storied history. Embark on an outdoor adventure at one of Baton Rouge's sprawling parks, where you can rent kayaks, picnic, hike, and much more. Find your new favorite artist by exploring the arts and culturescene, where local and nationally-renowned artists are on display at every corner of the city. Dance the night away at free live local concerts or large-scale festivals, where you're sure to jam toevery genre, from swamp blues to alternative rock. Whatever you're looking for, we know that you'll find it here in Baton Rouge!

AB Variation:

Dynamic Variation:

Lists 3 min read

Top 10 Attractions to See in Baton Rouge

In the Capital City of Louisiana, there are many sights to see—from sky-high towers to castles. So the next time you’re in Baton Rouge…

Lists 7 min read

Free Things to do in Baton Rouge

Known as one of the most affordable destinations in the South, Baton Rouge is a great spot to get a taste of culture on a budget. If you’re…

Baton Rouge 6 min read

Patios and Rooftops in Baton Rouge

Spring has sprung in Baton Rouge, and with the warmer weather and longer days, we're soaking up every bit of that extra sunlight that we can. We…

Holiday 2 min read

50+ Date Night Ideas in Baton Rouge

Dinner may be a given, but when you're looking to change date night up, consider this list of more than 50 date night ideas in Baton Rouge!…

#EatBR 6 min read

New Restaurants to Try in Baton Rouge in 2024

With a new year comes new experiences, and 2023 brought a flurry of restaurant openings. Baton Rouge is a foodie’s paradise, and these new…

#EatBR 8 min read

Small Space, Big Flavor: Perkins Overpass Restaurants

Tucked in between the Garden District and LSU is a Baton Rouge neighborhood packed with flavor. The Perkins Overpass area is known for being a…

#EatBR 3 min read

Locals Pick: Best Gumbo in Baton Rouge

Down here in South Louisiana, our seasons usually rotate around what food is in season. Dropping temperatures in Baton Rouge can only mean one thing…

Baton Rouge 3 min read

Family Fun in Baton Rouge

School is out, and summer is here in the Capital City! If you’re looking for some kid-approved activities to add to your itinerary, Baton Rouge…

#EatBR 5 min read

Where to Get Ice Cream in Baton Rouge

I scream, you scream – you get the rest! There’s no better way to keep cool than with a scoop of ice cream, a shake or a float, and here…

Trip Ideas 4 min read

Baton Rouge on a Budget

Traveling on a budget? Luckily, Baton Rouge is known for being one of the most affordable destinations in the South, making it a great spot to get a…

Trip Ideas 5 min read

Outdoor Adventures in Baton Rouge

As the weather begins to warm up in Baton Rouge, it’s time to head out into the sunshine for some outdoor fun. Grab your friends and get ready…

Baton Rouge 4 min read

One thing about Baton Rouge is that we take college football very seriously. From the food to the decorations to the attire, game days are no joke…

LSU 4 min read

Top Restaurants Near Tiger Stadium

Football is almost back in Tiger Stadium, and there’s nothing like heading to Baton Rouge to watch the LSU Tigers play. In case you…

LSU 4 min read

Top 5 Things to Do in Baton Rouge on Game Day

There’s no place like Baton Rouge for game day! With two major universities, LSU and Southern University, the city is always bustling with fans…

#EatBR 3 min read

Restaurants Near Southern University

Fall is in the air, which means school is back in session at Southern University. More importantly, it means that football season has begun, and A.W…

require(["async", "plugins_dynamic_content", "sv_stringLib", "sv_clientLib", "site_gtm"], function(async, dynamic, stringLib, clientLib, gtm) {const root = document.querySelector('[data-guid="fc97f848-ae8a-4c24-a8a1-244ca2cfec45"]');const switcher = root.querySelector('[data-dynamic-switcher]');const switcherSel = switcher.querySelector('select')const profiles = [];const profilesRaw = [];const calls = [];let index = "default";// create eventvar event = document.createEvent('Event');event.initEvent('dynamicContentLoaded', true, true);var pickVariation = function(index) {var div = (index === "default") ? root.querySelector("[data-dynamic-default]") : root.querySelectorAll("[data-dynamic-profiles] [data-dynamic-profile]")[index];var html = stringLib.decodeScriptTags(div.innerHTML);const chosen = root.querySelector("[data-dynamic-chosen]");chosen.innerHTML = html;chosen.dataset.chosenProfile = index;switcherSel.value = index;rehydrateScripts(chosen);let parentVars = JSON.parse(root.parentNode.dataset.gtmVars);gtm.sendEvents({"tCore" : { "category" : "dynamic_content", "action" : "panel_outer_pick_variation", "label" : div.dataset.title, "contentNum" : parentVars.tCore.contentNum },"tClient" : { "eventCategory" : "Dynamic Content Loaded", "eventAction" : div.dataset.title, "eventLabel" : document.location.pathname, "nonInteraction" : true },"tClient_ga4" : { "eventName" : "dynamic_content_loaded", "profileServed" : div.dataset.title }});// dispatch eventevent.guid = "fc97f848-ae8a-4c24-a8a1-244ca2cfec45";window.dispatchEvent(event);};let dcProfiles = root.querySelectorAll("[data-dynamic-profiles] [data-dynamic-profile]");dcProfiles.forEach((profile, i) => {let title = profile.dataset.title;let option = new Option(title, i);switcher.querySelector('select').append(option);let attr = profile.dataset.dynamicProfile;profilesRaw.push(attr);profiles.push.apply(profiles, attr.split(","));});switcher.querySelector("select").addEventListener('change', event => pickVariation(event.target.value));// if no profile panels have been added we don't need to checkif (profiles.length > 0) {calls.push(function(cb) {dynamic.getProfile({ profiles : profiles.join(","), matchType : 'first' }, function(err, data) {if (err) { throw err; }if (data.success === true) {profilesRaw.some(function(val, i) {if (val.indexOf(data.profile.id) > -1) {index = i;return true;}});}cb(null);});});}function rehydrateScripts(html) {if (html.nodeType !== Node.ELEMENT_NODE) return;let scripts = html.querySelectorAll('script:not([type="text/template"])');if (scripts.length) {scripts.forEach(elem => {const parent = elem.parentNode;const script = document.createElement('script');script.setAttribute('type','text/javascript');Array.from(elem.attributes).forEach(attr => script.setAttribute(attr.name, attr.value));script.textContent = elem.textContent;parent.replaceChild(script, elem);});}}clientLib.checkCmsLogin({}, function(err, data){if (data.loggedIn === true) {switcher.classList.add("active");}});async.series(calls, function() {pickVariation(index);});});

{"leo":{"apply":"Apply","clear_filters":"Clear Filters","reset":"Reset","filter":"Filter","sort":"Sort","view":"View","keyword":"Keyword","search_placeholder":"Search","regions":"Where","categories":"Categories","grid":"Grid","list":"List","map":"Map","show_map":"Show Map","hide_map":"Hide Map","recommended":"Recommended","near_me":"Near Me","read_more":"Read More","quick_view":"Quick View","featured_title":"Featured","visit_website":"Visit Website","email":"E-mail","tollfree":"Toll Free","tab_about":"About","tab_map":"Map","show_more":"Show $1 more","show_less":"Show Less","results":"$1 results","no_results":"There are no results that match your filter.","miles_from_you":"Miles from You","meeting_rooms":"Meeting Rooms","square_feet":"Total Sq. Ft.","largest_room":"Largest Room","sleeping_rooms":"Sleeping Rooms","banquet":"Banquet Capacity","reception":"Reception Capacity","theatre":"Theater Capacity","classroom":"Classroom Capacity","compare":"Compare","close_compare_dropdown":"Close compare dropdown","compare_add":"Add to compare","compare_remove":"Remove from compare","compare_clear_all":"Clear All","compare_limit_message":"You can only compare four (4) items at a time","location":"Location","locations":"Locations","details":"Details","address":"Address","err_loc_timeout":"We're unable to determine your location at this time.","err_loc_blocked":"You must allow location access for distance sorting.","err_loc_radius":"You must be within $1 miles to sort by distance.","date_range_title":"Show Events For","date_range_day":"Day","date_range_week":"Week","date_range_weekend":"Weekend","date_range_month":"Month","date_range_year":"Year","date_range_selected_dates":"Selected Dates","per_page_label":"Items Per Page","tb_add":"Add to Trip","tb_remove":"Remove from Trip","tb_view":"View Trip","facilities":"Facilities","download":"Download Events as CSV","convention":"Convention","venues":"Venues","dates":"Dates","attendance":"Attendance","whats_nearby":"What's Nearby","attractions":"Attractions","dining":"Dining","accommodations":"Accommodations","events":"Events","things_to_do":"Things To Do","get_directions":"Get Directions","redo_search_in_map":"Redo Search in Map","add_to_calendar":"Add to Calendar","add_to_google_calendar":"Add to Google Calendar","add_to_microsoft_calendar":"Add to Microsoft Live Calendar","add_to_outlook_calendar":"Add to Office365 Outlook Calendar","add_to_iCloud_calendar":"Add to iCloud Calendar","add_to_windows_calendar":"Add to Windows Calendar","start_date":"Start Date","end_date":"End Date"},"listings":{"clear_filters":"Clear Filters","amenities":"Amenities","hotel_categories":"Lodging Type","tab_amenities":"All Amenities","tab_meeting_facilities":"Facilities","tab_offers":"Offers","tab_events":"Events","tab_hours":"Hours","tab_tripadvisor":"TripAdvisor","tab_yelp":"Yelp","yelp_closed":"Closed","tab_social_feeds":"Social Feeds","facility_info":"Facility Info","meeting_rooms":"Meeting Rooms","m_exhibits_space":"Exhibits Space","m_description":"Description","m_exhibits":"Exhibits","m_floorplan_file":"Floorplan File","m_largest_room":"Largest Room","m_toll_free":"Toll Free","m_total_sq_ft":"Total Sq. Ft.","m_reception_capacity":"Reception Capacity","m_space_notes":"Space Notes","m_theater_capacity":"Theater Capacity","m_link":"Link","m_villas":"Villas","m_banquet_capacity":"Banquet Capacity","m_number_of_rooms":"Number of Rooms","m_booths":"Booths","m_large_floor_plan_pdf":"Large floor Plan PDF","m_suites":"Suites","m_classroom_capacity":"Classroom Capacity","m_sleeping_rooms":"Sleeping Rooms","m_width":"Width","m_length":"Length","m_height":"Height","m_booth_capacity":"Booth Capacity","m_amphitheater_present":"Amphitheater Present","m_listening_devices_present":"Listening Devices Present"}}

require(["jquery","plugins_core/main","sv_site","sv_crmLib","sv_cloudinaryLib","sv_asyncLib","sv_clientMoment","sv_arrayLib","sv_load!plugins_dtn","plugins_common_custom_layoutjs","plugins_common_custom_lazyload","sv_load!site_gamClient","plugins_common_custom_ui_watcher","sv_clientLib","plugins_common_custom_utils",], function($,core,site,crmLib,sv_cloudinaryLib,asyncLib,clientMoment,arrayLib,dtn,layoutjs,lazyload,gamClient,UIWatcher,clientLib,utils,) {var widget = {"template":"list","showSearchBox":"true","listingcats":"5","amenityoptions":"custom","amenities":["477","476","251","257","478","26","531","481","29","483","35","221","47","520","522","516","517","521","461","99","529","393","118","460","464","466","465","426","409","497","419","263","264","479","268","480"],"dtnlimit":"10","dtnsort":"random"};var useGroupedCats = false;var groupedCats = [{"label":"Attraction","value":"5","options":[{"label":"Brewery/Distillery/Winery","value":"1208"},{"label":"Casino/Gaming","value":"115"},{"label":"Classes","value":"1381"},{"label":"Galleries","value":"759"},{"label":"Group Friendly","value":"1308"},{"label":"Health, Fitness, Gym","value":"1258"},{"label":"Historic","value":"264"},{"label":"Indoor Fun","value":"73"},{"label":"Landmarks/Points of Interest","value":"463"},{"label":"Live Music / Music Venue","value":"1409"},{"label":"LSU","value":"319"},{"label":"Multi Entertainment Center","value":"1166"},{"label":"Murals","value":"1425"},{"label":"Museums","value":"703"},{"label":"Outdoor","value":"412"},{"label":"Parks","value":"540"},{"label":"Performing Arts","value":"1402"},{"label":"Places of Worship","value":"655"},{"label":"Southern University","value":"178"},{"label":"Spas and Salons","value":"362"},{"label":"Sporting Venue","value":"1408"},{"label":"Swamp Tour","value":"21"},{"label":"Theatre/Theater","value":"15"},{"label":"Tours","value":"1380"},{"label":"Water Parks/Splash Pads","value":"1418"}]},{"label":"Restaurant","value":"9"},{"label":"Sports/Outdoor/Activities","value":"14"},{"label":"Shopping","value":"25"},{"label":"Accommodations","value":"27"},{"label":"Live Entertainment","value":"32"},{"label":"Attraction","value":"46"},{"label":"Restaurant","value":"47"},{"label":"Sports/Outdoor/Activities","value":"48"},{"label":"Destination Experience","value":"49"},{"label":"Shopping","value":"51"},{"label":"Accommodations","value":"52"},{"label":"Live Entertainment","value":"53"},{"label":"Nightlife","value":"65"}];var subcats = [{"label":"Brewery/Distillery/Winery","value":"1208"},{"label":"Casino/Gaming","value":"115"},{"label":"Classes","value":"1381"},{"label":"Galleries","value":"759"},{"label":"Group Friendly","value":"1308"},{"label":"Health, Fitness, Gym","value":"1258"},{"label":"Historic","value":"264"},{"label":"Indoor Fun","value":"73"},{"label":"Landmarks/Points of Interest","value":"463"},{"label":"Live Music / Music Venue","value":"1409"},{"label":"LSU","value":"319"},{"label":"Multi Entertainment Center","value":"1166"},{"label":"Murals","value":"1425"},{"label":"Museums","value":"703"},{"label":"Outdoor","value":"412"},{"label":"Parks","value":"540"},{"label":"Performing Arts","value":"1402"},{"label":"Places of Worship","value":"655"},{"label":"Southern University","value":"178"},{"label":"Spas and Salons","value":"362"},{"label":"Sporting Venue","value":"1408"},{"label":"Swamp Tour","value":"21"},{"label":"Theatre/Theater","value":"15"},{"label":"Tours","value":"1380"},{"label":"Water Parks/Splash Pads","value":"1418"}];var regions = [{"label":"Central","value":"1"},{"label":"Town Center","value":"2"},{"label":"Downtown Baton Rouge","value":"4"},{"label":"East Side","value":"7"},{"label":"Near LSU","value":"9"},{"label":"Mid City","value":"10"},{"label":"Baker","value":"11"},{"label":"Neighboring Areas","value":"12"},{"label":"South Baton Rouge","value":"14"},{"label":"No Physical Address","value":"57"},{"label":"Zachary","value":"58"},{"label":"North Baton Rouge","value":"72"}];var regionsChosen = false;var subcatsChosen = false;var specificListingsChosen = false;var hasMapDefault = false;var showRegionsFilter = true;var amenities = [{"label":"Admission Fee","value":"attractions_admission"},{"label":"African-American Owned","value":"general_aaowned"},{"label":"Breakfast","value":"restaurant_breakfast_2_2"},{"label":"Cover Charge","value":"entertainment_covercharge"},{"label":"Indoor Mall","value":"shopping_indoormall"},{"label":"Brunch","value":"restaurant_brunch"},{"label":"First Free Sunday","value":"attractions_firstfreesunday"},{"label":"Happy Hour","value":"entertainment_happyhour"},{"label":"Market","value":"shopping_market"},{"label":"Delivery Available","value":"restaurant_delivery"},{"label":"Gift Shop/Shopping On-Site","value":"attractions_giftshopshoppingonsite"},{"label":"Live Music","value":"entertainment_livemusic"},{"label":"TV","value":"entertainment_tv"},{"label":"Outdoor Shopping","value":"shopping_outdoor"},{"label":"Close to Dining","value":"general_closetodining"},{"label":"Dinner","value":"restaurant_dinner_2_2"},{"label":"Playground","value":"shopping_playground"},{"label":"Close to Entertainment","value":"general_closeentertainment"},{"label":"Drive-Thru Available","value":"restaurant_drivethru"},{"label":"Restrooms Onsite","value":"attractions_restroomsonsite"},{"label":"VIP Space Available","value":"entertainment_vip"},{"label":"Tax Free Shopping","value":"shopping_taxfree"},{"label":"Close to Health District","value":"general_nearhealthdistrict"},{"label":"Strollers Available","value":"attractions_strollers"},{"label":"Close to Shopping","value":"general_closetoshopping"},{"label":"Designated Smoking Area Available","value":"general_smokingarea"},{"label":"Lunch","value":"restaurant_lunch_2_2"},{"label":"Outdoor Seating","value":"restaurant_outdoorseating"},{"label":"Good for: Groups","value":"general_group"},{"label":"Good for: Kids","value":"general_kids"},{"label":"Take Out","value":"restaurant_takeout_2_2"},{"label":"LGBTQ+ Owned","value":"general_lgbtq"},{"label":"Locally Owned","value":"general_local"},{"label":"Pet Friendly","value":"general_petfriendly"},{"label":"River View/Water View","value":"general_riverwaterview"},{"label":"Wifi Available","value":"general_wifi"}];var hasPrimaryCat = true;var primaryCat = 5;var initialAmenities = (widget !== undefined && widget.custom_amenities_filter !== undefined) ? widget.custom_amenities_filter : undefined;var dtnargs = {"auid":"/21812118460/21812475614/VisitBatonRouge-2022Redesign-FL","limit":10,"sort":"random"};var hasDtn = (dtnargs.auid !== undefined && dtnargs.auid.length > 0 && dtnargs.limit > 0 && dtn !== undefined);var limit = widget.custom_items_per_page !== undefined && site?.siteConfig?.custom?.[site.site].listings?.enablePaginationCountControl ? Number(widget.custom_items_per_page) : site?.siteConfig?.custom?.[site.site].listings?.paginationCountDefault;var defaultHooks = [];var defaultView = widget.custom_defaultView !== undefined ? widget.custom_defaultView : "grid";const translations = JSON.parse(document.querySelector('#translations_d2cda93c-da19-43ea-affe-2576d77bd127').innerHTML);let abortController;if (widget.detail_type !== undefined) {defaultHooks.push({ name : "afterFind_custom_detail_type", args : { detail_type : widget.detail_type } });}var showHotelCatLabel = primaryCat > -1 && [27, 52].includes(primaryCat);if (widget.dtnlimit) {// if a limit is specified in the widget, override that passed in configdtnargs.limit = Number(widget.dtnlimit);}if (hasDtn) {// we want the smaller of the limit and dtnargs.limitdtnargs.limit = Math.min(dtnargs.limit, limit);}var allFilterTagItems = subcats.map(function(val) { return { site : site.site, subcatid : Number(val.value) } });// the base filter is the minimum filter applied to all queries. This is *not* the same as a "default" query, or the initial query.// this is the base. Any filter components that can be done in the UI are added to this objectvar baseFilter = {$and : []}if (hasPrimaryCat) {baseFilter.$and.push({filter_tags : {$in : crmLib.getListingFilterTags({ items : allFilterTagItems })}});} else {baseFilter.$and.push({filter_tags : {$in : ['site_' + site.site]}});}if (regionsChosen) {baseFilter.regionid = {$in : regions.map(function(val) { return Number(val.value) })}}if (specificListingsChosen) {baseFilter.recid = { $in : widget.custom_specific_listings_ids };}if (initialAmenities && widget.amenityoptions === "none") {initialAmenities.forEach(function(val) {baseFilter["amenities." + val + ".value_raw"] = true;});}else if (initialAmenities && widget.amenityoptions === "custom") {initialAmenities.forEach(function(val) {let selected = amenities.some(function(amenity) { return amenity.value === val; });if (!selected) {baseFilter["amenities." + val + ".value_raw"] = true;}});}var masterFlow = new asyncLib.Flow();masterFlow.series({init: function(cb) {var vue = layoutjs.getVue({rootNode : document.querySelector('#layoutjs_d2cda93c-da19-43ea-affe-2576d77bd127'),type : "listings",view : defaultView,limit : limit,sort : "qualityScore",translations : translations.leo,mapOpen: hasMapDefault,// if there is a defaultImageUrl defined in client config, use it. Else it will utilize the default declared in custom_layoutjs.jsfallbackImageUrl : site.siteConfig.custom && site.siteConfig.custom[site.site] && site.siteConfig.custom[site.site].defaultImageUrl,showFilter : true,baseFilter : baseFilter,// change to true in order to show the first and last page arrowspager_first_last_page_arrows: false,filters : [{name : "keyword",label : translations.leo.keyword,placeholder : translations.leo.search_placeholder,type : "keyword",toFilter : function(value, filter, context) {filter.solrOptions = {keyword : value}return filter;}},// {// name : "yesno",// label : "Test Yes/No",// type : "toggle",// toFilter : function(value, filter, context) {// filter.$and.push({// "amenities.room_testyesno.value_raw" : true// });// return filter;// }// },{name : "regions",label : translations.leo.regions,// we implicitly filter on regions if they have been selected in the widget, so no reason to display a region option with 1 choice// if no regions were selected, then a region option with 1 choice is valid and therefore we pass the whole arrayshow : showRegionsFilter && (regionsChosen ? regions.length > 1 : regions.length > 0),type : "checkbox",typeExtra : {options : regions,countArgs : {watchFilters : ["subcats", "amenities"],unsupportedFilters : ["keyword"],field : "regionid",model : "plugins_listings_listings",sort : true}},toFilter : function(value, filter, context) {filter.$and.push({regionid : { $in : value.map(function(val) { return Number(val) }) }});return filter;}},{name : "subcats",label : showHotelCatLabel ? translations.listings.hotel_categories : translations.leo.categories,show : subcats.length > 1,type : useGroupedCats ? "twostage" : "checkbox",typeExtra : {options : useGroupedCats ? groupedCats : subcats,countArgs : {watchFilters : ["amenities", "regions"],unsupportedFilters : ["keyword"],field : "categories.subcatid",unwind : "categories",model : "plugins_listings_listings",sort : true}},toFilter : function(value, filter, context) {filter.$and.push({filter_tags : {$in : crmLib.getListingFilterTags({ items : this.custom_selectedSubcatItems })}});return filter;}},{name : "amenities",label : translations.listings.amenities,// we do not implicitly filter on amenities so if there is only one available option we still want to show the checkboxshow : amenities.length > 0,type : "checkbox",initialValue : initialAmenities,typeExtra : {options : amenities,countArgs : {watchFilters : ["subcats", "regions", "amenities"],unsupportedFilters : ["keyword"],field : "amenities_array.uniquename",unwind : "amenities_array",model : "plugins_listings_listings",sort : true}},toFilter : function(value, filter) {value.forEach(function(val) {filter["amenities." + val + ".value_raw"] = true;});return filter;}}],sortOptions : [{ value : "qualityScore", label : translations.leo.recommended },{ value : "distance", label : translations.leo.near_me },{ value : "pan", label : '' }],limitOptions : site?.siteConfig?.custom?.[site.site].listings?.enablePaginationCountControl && site?.siteConfig?.custom?.[site.site].listings?.paginationOptions ? site.siteConfig.custom[site.site].listings.paginationOptions : [],maxRangeMiles : 100,latitude : 30.4582829,longitude : -91.1403196,data : {custom_catid : (widget.listingcats !== undefined) ? Number(widget.listingcats) : undefined,custom_dtnids : []},// computed allows the passing of computed and method properties, in cases where they may need to be unique to the templatecomputed : {custom_selectedSubcatItems : function() {return this.filter_subcats_numberArray.map(function(val) { return { site : site.site, subcatid : val } });},custom_dtnFilterTagItems : function() {// if we have not chosen subcats in the widget, then we need to load via the category id// if we have chosen subcats then we utilize whatever the state of the if (this.custom_selectedSubcatItems.length > 0) {// if we have items selected in the UI, use themreturn this.custom_selectedSubcatItems;} else if (subcatsChosen) {// if we have items chosen in the widget, use thosereturn allFilterTagItems;} else {// otherwise fall back to the chosen catidreturn [{ site : site.site, catid : this.custom_catid }];}}},methods : {},watch : {docs: function() {// place logic in here that needs to happen after render of itemsthis.$nextTick(function() {if (hasDtn) {gamClient.renderAds();}lazyload.lazy($(this.$el).find('.content .item').toArray());});}},query : function(cb) {var self = this;var filter = self.getFilter("query");var options = {limit : self.limit,skip : self.skip,count : true,castDocs : false,fields : {recid : 1,title : 1,address1 : 1,url : 1,isDTN : 1,latitude : 1,longitude : 1,primary_image_url : 1,qualityScore : 1,weburl : 1,primary_category : 1,"dtn.rank" : 1,"yelp.rating" : 1,"yelp.url" : 1,"yelp.review_count" : 1,"yelp.price" : 1},hooks : defaultHooks};if (self.sort === "pan") {options.sort = { qualityScore : -1, sortcompany : 1 };filter["loc.coordinates"] = {"$geoWithin": {"$geometry": {type: "Polygon",coordinates: [[[parseFloat(self.bounds.W),parseFloat(self.bounds.N)],[parseFloat(self.bounds.E),parseFloat(self.bounds.N)],[parseFloat(self.bounds.E),parseFloat(self.bounds.S)],[parseFloat(self.bounds.W),parseFloat(self.bounds.S)],[parseFloat(self.bounds.W),parseFloat(self.bounds.N)]]]}}}} else if (self.sort === "qualityScore") {options.sort = { qualityScore : -1, sortcompany : 1 };} else if (self.sort === "distance") {filter.solrOptions = filter.solrOptions || {};filter.solrOptions.sort = "distance";filter.solrOptions.point = [self.georesult.latitude, self.georesult.longitude].join(",");filter.solrOptions.radius = self.args.maxRangeMiles.toString();}if (options.skip === 0) {// whenever the skip is 0, we reset the custom_dtnids back to scratchself.custom_dtnids = [];}var flow = new asyncLib.Flow();flow.series({dtn : function(cb) {if (hasDtn === false || options.skip > 0 || self.sort === "distance" || self.custom_catid === undefined || self.sort === "pan") {return cb(null, []);}var dtnFilter = self.getFilter("query");dtnFilter.$and.push({filter_tags : {$in : crmLib.getListingFilterTags({ items : self.custom_dtnFilterTagItems, dtn : true })}});// using 0000 and 2359 for caching purposes, otherwise we could just use Date().toISOString()var today0000 = clientMoment().startOf("day"); // send date as 00:00:00 in the client timezone in UTCvar today2359 = clientMoment().endOf("day"); // send date as 23:59:59 in the client timezone in UTCdtnFilter.$and.push({$or : [{ "dtn.sdate" : { $lte : { $date : today0000.toISOString() } } },{ "dtn.sdate" : { $exists : false } }]},{$or : [{ "dtn.edate" : { $gte : { $date : today2359.toISOString() } } },{ "dtn.edate" : { $exists : false } }]});var dtnOptions = utils.extend({}, options, {// we allow DTN to oversell the first page by a factor of 2// we will pull from this set a max of the limitlimit : self.limit * 2,count : false,hooks : defaultHooks.concat("afterFind_dtn")});if (abortController) {abortController.abort();}abortController = new AbortController();const xhr = new URL(`${window.location.protocol}//${window.location.host}/includes/rest_v2/plugins_listings_listings/find/`);xhr.searchParams.append('json', JSON.stringify({ filter : dtnFilter, options : dtnOptions }));xhr.searchParams.append('token', core.simpleToken );const fetchOptions = {method: 'GET',mode: 'no-cors',signal: abortController.signal,};fetch(xhr, fetchOptions).then(function(res) { return res.json() }).then(function(res) {// randomize the result set, then trim it down to our desired limitres.docs = arrayLib.randomize(res.docs);res.docs = res.docs.splice(0, dtnargs.limit);res.docs.forEach(function(val) {self.custom_dtnids.push(val.recid);val.dtnAuid = dtnargs.auid;val.isDTN = true;});return cb(null, res.docs);}).catch(function(err) {if (err.name === "AbortError") {return flow.halt({ total : 0, docs : [] });}return cb(new Error(err));});},data : function(cb) {if (flow.data.dtn.length > 0) {// has DTN listings, need to adjust page 1 limit and store dtnids for exclusion from main query on all pagesoptions.limit -= self.custom_dtnids.length;} else {options.skip = (options.skip - self.custom_dtnids.length);}if (self.custom_dtnids.length > 0) {filter.recid = { $nin : self.custom_dtnids }}if (self.custom_dtnids.length === self.limit) {options.limit = 1;}if (abortController) {abortController.abort();}abortController = new AbortController();const xhr = new URL(`${window.location.protocol}//${window.location.host}/includes/rest_v2/plugins_listings_listings/find/`);xhr.searchParams.append('json', JSON.stringify({ filter : filter, options : options }));xhr.searchParams.append('token', core.simpleToken );const fetchOptions = {method: 'GET',mode: 'no-cors',signal: abortController.signal,};fetch(xhr, fetchOptions).then(function(res) { return res.json() }).then(function(res) {var returnData = {total : res.docs.count + self.custom_dtnids.length,docs : flow.data.dtn.concat(res.docs.docs).slice(0, self.limit)};returnData.docs = returnData.docs.map(function(val) {return {recid : val.recid,title : val.title,crmc : val.primary_category.catname,crmsc : val.primary_category.subcatname,image_url : val.primary_image_url,url : val.url,dtn : val.isDTN ? {auid : dtnargs.auid,rank : val.dtn.rank} : undefined,yelp : val.yelp,locations: [{title : val.address1}], // sets listing locationlatitude : val.latitude,longitude : val.longitude,qualityScore : val.qualityScore,button : {title : translations.leo.read_more,url : val.url,weburl : val.weburl,weburl_title : translations.leo.visit_website} // call to action button}});return cb(null, returnData);}).catch(function(err) {if (err.name === "AbortError") {return flow.halt({ total : 0, docs : [] });}return cb(new Error(err));});}}, flow.cbLast(cb));}});/* register available UI events */var watcher = new UIWatcher(vue, $, document);var uid = clientLib.uuid().toString();var widgetEvents = ["change-page", "view-change", "value-change", "sort-change", "toggle-show-more","scroll-into-view", "item-click", "title-click", "map-pin-click", "tripbuilder"];for (var i=0; i
{"perView":3,"peek":{"before":0,"after":308},"gap":30,"breakpoints":{"520":{"perView":1,"peek":{"before":58,"after":67},"gap":25},"639":{"perView":2,"peek":{"before":58,"after":58},"gap":25},"850":{"perView":2,"peek":{"before":0,"after":80},"gap":25},"1023":{"perView":3,"peek":{"before":0,"after":80},"gap":25}}}

Things to Do in Baton Rouge (17)

Whether you're new to the city or simply exploring your own backyard, you can check out all of the historical and cultural attractions Louisiana's Capital City has to offer!

Things to Do in Baton Rouge (18)

Attractions

Tours

Family Fun

With Friends

Shopping

{"leo":{"apply":"Apply","clear_filters":"Clear Filters","reset":"Reset","filter":"Filter","sort":"Sort","view":"View","keyword":"Keyword","search_placeholder":"Search","regions":"Where","categories":"Categories","grid":"Grid","list":"List","map":"Map","show_map":"Show Map","hide_map":"Hide Map","recommended":"Recommended","near_me":"Near Me","read_more":"Read More","quick_view":"Quick View","featured_title":"Featured","visit_website":"Visit Website","email":"E-mail","tollfree":"Toll Free","tab_about":"About","tab_map":"Map","show_more":"Show $1 more","show_less":"Show Less","results":"$1 results","no_results":"There are no results that match your filter.","miles_from_you":"Miles from You","meeting_rooms":"Meeting Rooms","square_feet":"Total Sq. Ft.","largest_room":"Largest Room","sleeping_rooms":"Sleeping Rooms","banquet":"Banquet Capacity","reception":"Reception Capacity","theatre":"Theater Capacity","classroom":"Classroom Capacity","compare":"Compare","close_compare_dropdown":"Close compare dropdown","compare_add":"Add to compare","compare_remove":"Remove from compare","compare_clear_all":"Clear All","compare_limit_message":"You can only compare four (4) items at a time","location":"Location","locations":"Locations","details":"Details","address":"Address","err_loc_timeout":"We're unable to determine your location at this time.","err_loc_blocked":"You must allow location access for distance sorting.","err_loc_radius":"You must be within $1 miles to sort by distance.","date_range_title":"Show Events For","date_range_day":"Day","date_range_week":"Week","date_range_weekend":"Weekend","date_range_month":"Month","date_range_year":"Year","date_range_selected_dates":"Selected Dates","per_page_label":"Items Per Page","tb_add":"Add to Trip","tb_remove":"Remove from Trip","tb_view":"View Trip","facilities":"Facilities","download":"Download Events as CSV","convention":"Convention","venues":"Venues","dates":"Dates","attendance":"Attendance","whats_nearby":"What's Nearby","attractions":"Attractions","dining":"Dining","accommodations":"Accommodations","events":"Events","things_to_do":"Things To Do","get_directions":"Get Directions","redo_search_in_map":"Redo Search in Map","add_to_calendar":"Add to Calendar","add_to_google_calendar":"Add to Google Calendar","add_to_microsoft_calendar":"Add to Microsoft Live Calendar","add_to_outlook_calendar":"Add to Office365 Outlook Calendar","add_to_iCloud_calendar":"Add to iCloud Calendar","add_to_windows_calendar":"Add to Windows Calendar","start_date":"Start Date","end_date":"End Date"},"listings":{"clear_filters":"Clear Filters","amenities":"Amenities","hotel_categories":"Lodging Type","tab_amenities":"All Amenities","tab_meeting_facilities":"Facilities","tab_offers":"Offers","tab_events":"Events","tab_hours":"Hours","tab_tripadvisor":"TripAdvisor","tab_yelp":"Yelp","yelp_closed":"Closed","tab_social_feeds":"Social Feeds","facility_info":"Facility Info","meeting_rooms":"Meeting Rooms","m_exhibits_space":"Exhibits Space","m_description":"Description","m_exhibits":"Exhibits","m_floorplan_file":"Floorplan File","m_largest_room":"Largest Room","m_toll_free":"Toll Free","m_total_sq_ft":"Total Sq. Ft.","m_reception_capacity":"Reception Capacity","m_space_notes":"Space Notes","m_theater_capacity":"Theater Capacity","m_link":"Link","m_villas":"Villas","m_banquet_capacity":"Banquet Capacity","m_number_of_rooms":"Number of Rooms","m_booths":"Booths","m_large_floor_plan_pdf":"Large floor Plan PDF","m_suites":"Suites","m_classroom_capacity":"Classroom Capacity","m_sleeping_rooms":"Sleeping Rooms","m_width":"Width","m_length":"Length","m_height":"Height","m_booth_capacity":"Booth Capacity","m_amphitheater_present":"Amphitheater Present","m_listening_devices_present":"Listening Devices Present"}}

require(["jquery","plugins_core/main","sv_site","sv_crmLib","sv_cloudinaryLib","sv_asyncLib","sv_clientMoment","sv_arrayLib","sv_load!plugins_dtn","plugins_common_custom_layoutjs","plugins_common_custom_lazyload","sv_load!site_gamClient","plugins_common_custom_ui_watcher","sv_clientLib","plugins_common_custom_utils",], function($,core,site,crmLib,sv_cloudinaryLib,asyncLib,clientMoment,arrayLib,dtn,layoutjs,lazyload,gamClient,UIWatcher,clientLib,utils,) {var widget = {"template":"list","showSearchBox":"true","listingcats":"5","amenityoptions":"custom","amenities":["477","476","251","257","478","26","531","481","29","483","35","221","47","520","522","516","517","521","461","99","529","393","118","460","464","466","465","426","409","497","419","263","264","479","268","480"],"dtnlimit":"10","dtnsort":"random"};var useGroupedCats = false;var groupedCats = [{"label":"Attraction","value":"5","options":[{"label":"Brewery/Distillery/Winery","value":"1208"},{"label":"Casino/Gaming","value":"115"},{"label":"Classes","value":"1381"},{"label":"Galleries","value":"759"},{"label":"Group Friendly","value":"1308"},{"label":"Health, Fitness, Gym","value":"1258"},{"label":"Historic","value":"264"},{"label":"Indoor Fun","value":"73"},{"label":"Landmarks/Points of Interest","value":"463"},{"label":"Live Music / Music Venue","value":"1409"},{"label":"LSU","value":"319"},{"label":"Multi Entertainment Center","value":"1166"},{"label":"Murals","value":"1425"},{"label":"Museums","value":"703"},{"label":"Outdoor","value":"412"},{"label":"Parks","value":"540"},{"label":"Performing Arts","value":"1402"},{"label":"Places of Worship","value":"655"},{"label":"Southern University","value":"178"},{"label":"Spas and Salons","value":"362"},{"label":"Sporting Venue","value":"1408"},{"label":"Swamp Tour","value":"21"},{"label":"Theatre/Theater","value":"15"},{"label":"Tours","value":"1380"},{"label":"Water Parks/Splash Pads","value":"1418"}]},{"label":"Restaurant","value":"9"},{"label":"Sports/Outdoor/Activities","value":"14"},{"label":"Shopping","value":"25"},{"label":"Accommodations","value":"27"},{"label":"Live Entertainment","value":"32"},{"label":"Attraction","value":"46"},{"label":"Restaurant","value":"47"},{"label":"Sports/Outdoor/Activities","value":"48"},{"label":"Destination Experience","value":"49"},{"label":"Shopping","value":"51"},{"label":"Accommodations","value":"52"},{"label":"Live Entertainment","value":"53"},{"label":"Nightlife","value":"65"}];var subcats = [{"label":"Brewery/Distillery/Winery","value":"1208"},{"label":"Casino/Gaming","value":"115"},{"label":"Classes","value":"1381"},{"label":"Galleries","value":"759"},{"label":"Group Friendly","value":"1308"},{"label":"Health, Fitness, Gym","value":"1258"},{"label":"Historic","value":"264"},{"label":"Indoor Fun","value":"73"},{"label":"Landmarks/Points of Interest","value":"463"},{"label":"Live Music / Music Venue","value":"1409"},{"label":"LSU","value":"319"},{"label":"Multi Entertainment Center","value":"1166"},{"label":"Murals","value":"1425"},{"label":"Museums","value":"703"},{"label":"Outdoor","value":"412"},{"label":"Parks","value":"540"},{"label":"Performing Arts","value":"1402"},{"label":"Places of Worship","value":"655"},{"label":"Southern University","value":"178"},{"label":"Spas and Salons","value":"362"},{"label":"Sporting Venue","value":"1408"},{"label":"Swamp Tour","value":"21"},{"label":"Theatre/Theater","value":"15"},{"label":"Tours","value":"1380"},{"label":"Water Parks/Splash Pads","value":"1418"}];var regions = [{"label":"Central","value":"1"},{"label":"Town Center","value":"2"},{"label":"Downtown Baton Rouge","value":"4"},{"label":"East Side","value":"7"},{"label":"Near LSU","value":"9"},{"label":"Mid City","value":"10"},{"label":"Baker","value":"11"},{"label":"Neighboring Areas","value":"12"},{"label":"South Baton Rouge","value":"14"},{"label":"No Physical Address","value":"57"},{"label":"Zachary","value":"58"},{"label":"North Baton Rouge","value":"72"}];var regionsChosen = false;var subcatsChosen = false;var specificListingsChosen = false;var hasMapDefault = false;var showRegionsFilter = true;var amenities = [{"label":"Admission Fee","value":"attractions_admission"},{"label":"African-American Owned","value":"general_aaowned"},{"label":"Breakfast","value":"restaurant_breakfast_2_2"},{"label":"Cover Charge","value":"entertainment_covercharge"},{"label":"Indoor Mall","value":"shopping_indoormall"},{"label":"Brunch","value":"restaurant_brunch"},{"label":"First Free Sunday","value":"attractions_firstfreesunday"},{"label":"Happy Hour","value":"entertainment_happyhour"},{"label":"Market","value":"shopping_market"},{"label":"Delivery Available","value":"restaurant_delivery"},{"label":"Gift Shop/Shopping On-Site","value":"attractions_giftshopshoppingonsite"},{"label":"Live Music","value":"entertainment_livemusic"},{"label":"TV","value":"entertainment_tv"},{"label":"Outdoor Shopping","value":"shopping_outdoor"},{"label":"Close to Dining","value":"general_closetodining"},{"label":"Dinner","value":"restaurant_dinner_2_2"},{"label":"Playground","value":"shopping_playground"},{"label":"Close to Entertainment","value":"general_closeentertainment"},{"label":"Drive-Thru Available","value":"restaurant_drivethru"},{"label":"Restrooms Onsite","value":"attractions_restroomsonsite"},{"label":"VIP Space Available","value":"entertainment_vip"},{"label":"Tax Free Shopping","value":"shopping_taxfree"},{"label":"Close to Health District","value":"general_nearhealthdistrict"},{"label":"Strollers Available","value":"attractions_strollers"},{"label":"Close to Shopping","value":"general_closetoshopping"},{"label":"Designated Smoking Area Available","value":"general_smokingarea"},{"label":"Lunch","value":"restaurant_lunch_2_2"},{"label":"Outdoor Seating","value":"restaurant_outdoorseating"},{"label":"Good for: Groups","value":"general_group"},{"label":"Good for: Kids","value":"general_kids"},{"label":"Take Out","value":"restaurant_takeout_2_2"},{"label":"LGBTQ+ Owned","value":"general_lgbtq"},{"label":"Locally Owned","value":"general_local"},{"label":"Pet Friendly","value":"general_petfriendly"},{"label":"River View/Water View","value":"general_riverwaterview"},{"label":"Wifi Available","value":"general_wifi"}];var hasPrimaryCat = true;var primaryCat = 5;var initialAmenities = (widget !== undefined && widget.custom_amenities_filter !== undefined) ? widget.custom_amenities_filter : undefined;var dtnargs = {"auid":"/21812118460/21812475614/VisitBatonRouge-2022Redesign-FL","limit":10,"sort":"random"};var hasDtn = (dtnargs.auid !== undefined && dtnargs.auid.length > 0 && dtnargs.limit > 0 && dtn !== undefined);var limit = widget.custom_items_per_page !== undefined && site?.siteConfig?.custom?.[site.site].listings?.enablePaginationCountControl ? Number(widget.custom_items_per_page) : site?.siteConfig?.custom?.[site.site].listings?.paginationCountDefault;var defaultHooks = [];var defaultView = widget.custom_defaultView !== undefined ? widget.custom_defaultView : "grid";const translations = JSON.parse(document.querySelector('#translations_455501ec-a32b-4d41-99f1-0499ce9ccd7c').innerHTML);let abortController;if (widget.detail_type !== undefined) {defaultHooks.push({ name : "afterFind_custom_detail_type", args : { detail_type : widget.detail_type } });}var showHotelCatLabel = primaryCat > -1 && [27, 52].includes(primaryCat);if (widget.dtnlimit) {// if a limit is specified in the widget, override that passed in configdtnargs.limit = Number(widget.dtnlimit);}if (hasDtn) {// we want the smaller of the limit and dtnargs.limitdtnargs.limit = Math.min(dtnargs.limit, limit);}var allFilterTagItems = subcats.map(function(val) { return { site : site.site, subcatid : Number(val.value) } });// the base filter is the minimum filter applied to all queries. This is *not* the same as a "default" query, or the initial query.// this is the base. Any filter components that can be done in the UI are added to this objectvar baseFilter = {$and : []}if (hasPrimaryCat) {baseFilter.$and.push({filter_tags : {$in : crmLib.getListingFilterTags({ items : allFilterTagItems })}});} else {baseFilter.$and.push({filter_tags : {$in : ['site_' + site.site]}});}if (regionsChosen) {baseFilter.regionid = {$in : regions.map(function(val) { return Number(val.value) })}}if (specificListingsChosen) {baseFilter.recid = { $in : widget.custom_specific_listings_ids };}if (initialAmenities && widget.amenityoptions === "none") {initialAmenities.forEach(function(val) {baseFilter["amenities." + val + ".value_raw"] = true;});}else if (initialAmenities && widget.amenityoptions === "custom") {initialAmenities.forEach(function(val) {let selected = amenities.some(function(amenity) { return amenity.value === val; });if (!selected) {baseFilter["amenities." + val + ".value_raw"] = true;}});}var masterFlow = new asyncLib.Flow();masterFlow.series({init: function(cb) {var vue = layoutjs.getVue({rootNode : document.querySelector('#layoutjs_455501ec-a32b-4d41-99f1-0499ce9ccd7c'),type : "listings",view : defaultView,limit : limit,sort : "qualityScore",translations : translations.leo,mapOpen: hasMapDefault,// if there is a defaultImageUrl defined in client config, use it. Else it will utilize the default declared in custom_layoutjs.jsfallbackImageUrl : site.siteConfig.custom && site.siteConfig.custom[site.site] && site.siteConfig.custom[site.site].defaultImageUrl,showFilter : true,baseFilter : baseFilter,// change to true in order to show the first and last page arrowspager_first_last_page_arrows: false,filters : [{name : "keyword",label : translations.leo.keyword,placeholder : translations.leo.search_placeholder,type : "keyword",toFilter : function(value, filter, context) {filter.solrOptions = {keyword : value}return filter;}},// {// name : "yesno",// label : "Test Yes/No",// type : "toggle",// toFilter : function(value, filter, context) {// filter.$and.push({// "amenities.room_testyesno.value_raw" : true// });// return filter;// }// },{name : "regions",label : translations.leo.regions,// we implicitly filter on regions if they have been selected in the widget, so no reason to display a region option with 1 choice// if no regions were selected, then a region option with 1 choice is valid and therefore we pass the whole arrayshow : showRegionsFilter && (regionsChosen ? regions.length > 1 : regions.length > 0),type : "checkbox",typeExtra : {options : regions,countArgs : {watchFilters : ["subcats", "amenities"],unsupportedFilters : ["keyword"],field : "regionid",model : "plugins_listings_listings",sort : true}},toFilter : function(value, filter, context) {filter.$and.push({regionid : { $in : value.map(function(val) { return Number(val) }) }});return filter;}},{name : "subcats",label : showHotelCatLabel ? translations.listings.hotel_categories : translations.leo.categories,show : subcats.length > 1,type : useGroupedCats ? "twostage" : "checkbox",typeExtra : {options : useGroupedCats ? groupedCats : subcats,countArgs : {watchFilters : ["amenities", "regions"],unsupportedFilters : ["keyword"],field : "categories.subcatid",unwind : "categories",model : "plugins_listings_listings",sort : true}},toFilter : function(value, filter, context) {filter.$and.push({filter_tags : {$in : crmLib.getListingFilterTags({ items : this.custom_selectedSubcatItems })}});return filter;}},{name : "amenities",label : translations.listings.amenities,// we do not implicitly filter on amenities so if there is only one available option we still want to show the checkboxshow : amenities.length > 0,type : "checkbox",initialValue : initialAmenities,typeExtra : {options : amenities,countArgs : {watchFilters : ["subcats", "regions", "amenities"],unsupportedFilters : ["keyword"],field : "amenities_array.uniquename",unwind : "amenities_array",model : "plugins_listings_listings",sort : true}},toFilter : function(value, filter) {value.forEach(function(val) {filter["amenities." + val + ".value_raw"] = true;});return filter;}}],sortOptions : [{ value : "qualityScore", label : translations.leo.recommended },{ value : "distance", label : translations.leo.near_me },{ value : "pan", label : '' }],limitOptions : site?.siteConfig?.custom?.[site.site].listings?.enablePaginationCountControl && site?.siteConfig?.custom?.[site.site].listings?.paginationOptions ? site.siteConfig.custom[site.site].listings.paginationOptions : [],maxRangeMiles : 100,latitude : 30.4582829,longitude : -91.1403196,data : {custom_catid : (widget.listingcats !== undefined) ? Number(widget.listingcats) : undefined,custom_dtnids : []},// computed allows the passing of computed and method properties, in cases where they may need to be unique to the templatecomputed : {custom_selectedSubcatItems : function() {return this.filter_subcats_numberArray.map(function(val) { return { site : site.site, subcatid : val } });},custom_dtnFilterTagItems : function() {// if we have not chosen subcats in the widget, then we need to load via the category id// if we have chosen subcats then we utilize whatever the state of the if (this.custom_selectedSubcatItems.length > 0) {// if we have items selected in the UI, use themreturn this.custom_selectedSubcatItems;} else if (subcatsChosen) {// if we have items chosen in the widget, use thosereturn allFilterTagItems;} else {// otherwise fall back to the chosen catidreturn [{ site : site.site, catid : this.custom_catid }];}}},methods : {},watch : {docs: function() {// place logic in here that needs to happen after render of itemsthis.$nextTick(function() {if (hasDtn) {gamClient.renderAds();}lazyload.lazy($(this.$el).find('.content .item').toArray());});}},query : function(cb) {var self = this;var filter = self.getFilter("query");var options = {limit : self.limit,skip : self.skip,count : true,castDocs : false,fields : {recid : 1,title : 1,address1 : 1,url : 1,isDTN : 1,latitude : 1,longitude : 1,primary_image_url : 1,qualityScore : 1,weburl : 1,primary_category : 1,"dtn.rank" : 1,"yelp.rating" : 1,"yelp.url" : 1,"yelp.review_count" : 1,"yelp.price" : 1},hooks : defaultHooks};if (self.sort === "pan") {options.sort = { qualityScore : -1, sortcompany : 1 };filter["loc.coordinates"] = {"$geoWithin": {"$geometry": {type: "Polygon",coordinates: [[[parseFloat(self.bounds.W),parseFloat(self.bounds.N)],[parseFloat(self.bounds.E),parseFloat(self.bounds.N)],[parseFloat(self.bounds.E),parseFloat(self.bounds.S)],[parseFloat(self.bounds.W),parseFloat(self.bounds.S)],[parseFloat(self.bounds.W),parseFloat(self.bounds.N)]]]}}}} else if (self.sort === "qualityScore") {options.sort = { qualityScore : -1, sortcompany : 1 };} else if (self.sort === "distance") {filter.solrOptions = filter.solrOptions || {};filter.solrOptions.sort = "distance";filter.solrOptions.point = [self.georesult.latitude, self.georesult.longitude].join(",");filter.solrOptions.radius = self.args.maxRangeMiles.toString();}if (options.skip === 0) {// whenever the skip is 0, we reset the custom_dtnids back to scratchself.custom_dtnids = [];}var flow = new asyncLib.Flow();flow.series({dtn : function(cb) {if (hasDtn === false || options.skip > 0 || self.sort === "distance" || self.custom_catid === undefined || self.sort === "pan") {return cb(null, []);}var dtnFilter = self.getFilter("query");dtnFilter.$and.push({filter_tags : {$in : crmLib.getListingFilterTags({ items : self.custom_dtnFilterTagItems, dtn : true })}});// using 0000 and 2359 for caching purposes, otherwise we could just use Date().toISOString()var today0000 = clientMoment().startOf("day"); // send date as 00:00:00 in the client timezone in UTCvar today2359 = clientMoment().endOf("day"); // send date as 23:59:59 in the client timezone in UTCdtnFilter.$and.push({$or : [{ "dtn.sdate" : { $lte : { $date : today0000.toISOString() } } },{ "dtn.sdate" : { $exists : false } }]},{$or : [{ "dtn.edate" : { $gte : { $date : today2359.toISOString() } } },{ "dtn.edate" : { $exists : false } }]});var dtnOptions = utils.extend({}, options, {// we allow DTN to oversell the first page by a factor of 2// we will pull from this set a max of the limitlimit : self.limit * 2,count : false,hooks : defaultHooks.concat("afterFind_dtn")});if (abortController) {abortController.abort();}abortController = new AbortController();const xhr = new URL(`${window.location.protocol}//${window.location.host}/includes/rest_v2/plugins_listings_listings/find/`);xhr.searchParams.append('json', JSON.stringify({ filter : dtnFilter, options : dtnOptions }));xhr.searchParams.append('token', core.simpleToken );const fetchOptions = {method: 'GET',mode: 'no-cors',signal: abortController.signal,};fetch(xhr, fetchOptions).then(function(res) { return res.json() }).then(function(res) {// randomize the result set, then trim it down to our desired limitres.docs = arrayLib.randomize(res.docs);res.docs = res.docs.splice(0, dtnargs.limit);res.docs.forEach(function(val) {self.custom_dtnids.push(val.recid);val.dtnAuid = dtnargs.auid;val.isDTN = true;});return cb(null, res.docs);}).catch(function(err) {if (err.name === "AbortError") {return flow.halt({ total : 0, docs : [] });}return cb(new Error(err));});},data : function(cb) {if (flow.data.dtn.length > 0) {// has DTN listings, need to adjust page 1 limit and store dtnids for exclusion from main query on all pagesoptions.limit -= self.custom_dtnids.length;} else {options.skip = (options.skip - self.custom_dtnids.length);}if (self.custom_dtnids.length > 0) {filter.recid = { $nin : self.custom_dtnids }}if (self.custom_dtnids.length === self.limit) {options.limit = 1;}if (abortController) {abortController.abort();}abortController = new AbortController();const xhr = new URL(`${window.location.protocol}//${window.location.host}/includes/rest_v2/plugins_listings_listings/find/`);xhr.searchParams.append('json', JSON.stringify({ filter : filter, options : options }));xhr.searchParams.append('token', core.simpleToken );const fetchOptions = {method: 'GET',mode: 'no-cors',signal: abortController.signal,};fetch(xhr, fetchOptions).then(function(res) { return res.json() }).then(function(res) {var returnData = {total : res.docs.count + self.custom_dtnids.length,docs : flow.data.dtn.concat(res.docs.docs).slice(0, self.limit)};returnData.docs = returnData.docs.map(function(val) {return {recid : val.recid,title : val.title,crmc : val.primary_category.catname,crmsc : val.primary_category.subcatname,image_url : val.primary_image_url,url : val.url,dtn : val.isDTN ? {auid : dtnargs.auid,rank : val.dtn.rank} : undefined,yelp : val.yelp,locations: [{title : val.address1}], // sets listing locationlatitude : val.latitude,longitude : val.longitude,qualityScore : val.qualityScore,button : {title : translations.leo.read_more,url : val.url,weburl : val.weburl,weburl_title : translations.leo.visit_website} // call to action button}});return cb(null, returnData);}).catch(function(err) {if (err.name === "AbortError") {return flow.halt({ total : 0, docs : [] });}return cb(new Error(err));});}}, flow.cbLast(cb));}});/* register available UI events */var watcher = new UIWatcher(vue, $, document);var uid = clientLib.uuid().toString();var widgetEvents = ["change-page", "view-change", "value-change", "sort-change", "toggle-show-more","scroll-into-view", "item-click", "title-click", "map-pin-click", "tripbuilder"];for (var i=0; i

{{title}}

{{:description}}

{{plainDescription(helpers.var.config.descriptionTruncation)}}

{{/}}

{{:hasFooter()}}

{{/}}

Things to Do in Baton Rouge (2024)
Top Articles
Latest Posts
Article information

Author: Amb. Frankie Simonis

Last Updated:

Views: 6279

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Amb. Frankie Simonis

Birthday: 1998-02-19

Address: 64841 Delmar Isle, North Wiley, OR 74073

Phone: +17844167847676

Job: Forward IT Agent

Hobby: LARPing, Kitesurfing, Sewing, Digital arts, Sand art, Gardening, Dance

Introduction: My name is Amb. Frankie Simonis, I am a hilarious, enchanting, energetic, cooperative, innocent, cute, joyous person who loves writing and wants to share my knowledge and understanding with you.