/* eslint-disable */ (function () { let source, isMicroSite, activationStatus, enterpriseNumber; let secondIframeLoaded = false, onceClickedOnSecFrame = false, windowIframeBody; try { if ( window && window.parent && window.parent.__INITIAL_STATE__ && window.parent.__INITIAL_STATE__.homeReducer && window.parent.__INITIAL_STATE__.homeReducer.data ) { let homeReducerData = window.parent.__INITIAL_STATE__.homeReducer.data; isMicroSite = true; //ask microsite enterpriseNumber = homeReducerData.enterpriseInfo ? homeReducerData.enterpriseInfo.businessNumber : homeReducerData.businessNumber; source = 6; activationStatus = homeReducerData.activationStatus; //var businessName = homeReducerData.name; } } catch (e) { log(e); } if (!document.getElementsByClassName) { document.getElementsByClassName = function (className) { return this.querySelectorAll("." + className); }; Element.prototype.getElementsByClassName = document.getElementsByClassName; } const CONSIDER_MIN_WIDTH = { "https://grabercustomstructures.com" : true } let bfi; let totalWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; if (CONSIDER_MIN_WIDTH[window?.origin]) { let widths = [ window.innerWidth, document.documentElement?.clientWidth, document.body?.clientWidth ].filter(Boolean); // Removes undefined or falsy values totalWidth = Math.min(...widths); } let totalHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; let tries = 1; let extensionInterval; let env; let windowIframe; window.be_webchat = null; function playBubbleSound() { let context, source = "https://d3cnqzq0ivprch.cloudfront.net/prod/media/notification-sound.mp3"; try { window.AudioContext = window.AudioContext || window.webkitAudioContext; context = new AudioContext(); let request = new XMLHttpRequest(); request.open("GET", source, true); request.responseType = "arraybuffer"; request.onload = function () { context.decodeAudioData( request.response, function (buffer) { let source = context.createBufferSource(); source.buffer = buffer; source.connect(context.destination); source.start(0); context.resume(); }, function (e) { console.log("error", e); } ); }; request.send(); } catch (e) { if (/Edge\/|Trident\/|MSIE /.test(navigator.userAgent)) { let audio = document.createElement("audio"); audio.autoplay = true; audio.src = source; audio.play(); } } } function checkIsAgentPreview (isPreview, widgetAgent) { return (isPreview === 1 || isPreview === "1") && widgetAgent.length > 0; }; function getGoodBot(type) { const goodBots = [ "facebookexternalhit", "Facebot", "Googlebot", "Google", "LinkedInBot", ]; const ua = navigator.userAgent; let isGoodBots = false; let botName = ""; for (let i = 0; i < goodBots.length; i++) { const bot = goodBots[i]; if (ua.indexOf(bot) > -1) { isGoodBots = true; botName = bot.toLowerCase(); break; } } if (type == "isGoodBot") { return isGoodBots; } else { botName = botName != "" ? botName : "facebook"; botName = botName.indexOf("face") > -1 ? "facebook" : botName; botName = botName.indexOf("linked") > -1 ? "linked-in" : botName; return botName; } } function initIframe() { let bfdiv = document.getElementById("bf-revz-widget-" + window.wid) || document.getElementById("bf-revz-widget-" + "0" + window.wid); if (!bfdiv) { tries++; if (tries > 50) { return false; } setTimeout(initIframe, 500); return; } if (!bfdiv.firstChild) { bfdiv.appendChild(bfi); } else if (bfdiv.firstChild && bfdiv.firstChild.nodeName != "IFRAME") { bfdiv.insertBefore(bfi, bfdiv.firstChild); } } let winHeight = 100; let winWidth = "431px"; if (window.innerHeight < 100) { winHeight = window.innerHeight; } if (CONSIDER_MIN_WIDTH[window?.origin]) { if (totalWidth < 500) { winWidth = "100%"; } } else { if (window.innerWidth < 500) { winWidth = "100%"; } } window.addEventListener("resize", function () { if (window.innerHeight < 727) { winHeight = window.innerHeight; } else { winHeight = 773; } }); const openWebchatFromOutside = (objFromClient) => { const firstIframe = document.getElementById("bewebchat"); const secondIframe = document.getElementById("window-iframe"); firstIframe.contentWindow.postMessage( { type: "post-message-from-outside", clientObj: objFromClient, beWebchatWindowObj: JSON.stringify(window.be_webchat), isWidgetAlignLeft: window.isWidgetAlignLeft, mFullView: window.mFullView, isPreview: window.isPreview, widgetAgent: JSON.stringify(window.widgetAgent), draftSessionId: window.draftSessionId }, "*" ); secondIframe.contentWindow.postMessage( { type: "post-message-from-outside-chat", clientObj: objFromClient, beWebchatWindowObj: JSON.stringify(window.be_webchat), isWidgetAlignLeft: window.isWidgetAlignLeft, locale: window.locale, mFullView: window.mFullView, isPreview: window.isPreview, widgetAgent: JSON.stringify(window.widgetAgent), draftSessionId: window.draftSessionId }, "*" ); }; window.onmessage = function (e) { if (e.data && e.data.split) { const isAgentPreview = checkIsAgentPreview(window.isPreview, window.widgetAgent); let dataReceivedSplit = e.data.split("***"); let dataReceived = dataReceivedSplit[0]; let widthReceived = dataReceivedSplit[1]; if (totalWidth < 960) { widthReceived = "drawer"; } if (dataReceived == "icon-clicked") { if (!secondIframeLoaded) { if (!onceClickedOnSecFrame) { loadNewIframe(); } } document.getElementById("bewebchat").style.height = isAgentPreview ? "70px" : "80px"; document.getElementById("bewebchat").style.width = isAgentPreview ? "200px" : "70px"; if (widthReceived == "floating") { document .getElementById("window-iframe") .setAttribute( "style", `-webkit-overflow-scrolling: touch; visibility: visible; opacity: 1; ${window.isWidgetAlignLeft ? "left:20px" : "right:20px"}; bottom:${isAgentPreview ? "0" : "20px"}; position:fixed; overflow:hidden; width:${winWidth}; z-index:9999998; border: 0; height: ${(isAgentPreview ? 90 : winHeight) + "%"}; ` ); } else { document .getElementById("window-iframe") .setAttribute( "style", `-webkit-overflow-scrolling: touch; visibility: visible; opacity: 1; z-index: 9999999; ${window.isWidgetAlignLeft ? "left:0px" : "right:0px"}; bottom:0px; position:fixed; overflow:hidden; width:${winWidth}; height: 100%; border: 0;` ); } window.be_webchat = { ...window.be_webchat, windowOpened: true, }; if(isAgentPreview) { window.dispatchEvent(new CustomEvent("webchat:opened", { detail: true })); } } else if (dataReceived == "icon-closed") { let wid = "20px"; if (totalWidth < 960) { wid = "20px"; } let element = document.getElementById("window-iframe"); element.style.height = 0; secondIframeLoaded = false; window.be_webchat = { ...window.be_webchat, windowOpened: false, }; if(isAgentPreview){ window.dispatchEvent(new CustomEvent("webchat:closed", { detail: false })); } } else if (dataReceived == "getwidth") { e.source.postMessage( { width: totalWidth, height: totalHeight, src: "birdeye", updateValFromParent: window.update, }, "*" ); } else if (dataReceived == "show-bubble") { bfi.setAttribute( "style", `-webkit-overflow-scrolling: touch; visibility: ${isAgentPreview ? "hidden" : "visible"}; opacity: 1; z-index: 9999999; ${window.isWidgetAlignLeft ? "left:20px" : "right:20px"}; bottom:20px; position:fixed; overflow:hidden; ${isAgentPreview ? "width:200px" : "width:340px"}; ${isAgentPreview ? "height:70px" : "height:227px"}; border: 0;` ); } else if (dataReceived == "hide-bubble") { bfi.setAttribute( "style", `-webkit-overflow-scrolling: touch; visibility: ${isAgentPreview ? "hidden" : "visible"}; opacity: 1; z-index: 9999999; ${window.isWidgetAlignLeft ? "left:20px" : "right:20px"}; bottom:20px; position:fixed; overflow:hidden; ${isAgentPreview ? "width:200px" : "width:70px"}; ${isAgentPreview ? "height:70px" : "height:80px"}; border: 0;` ); } else if (dataReceived == "get-parent-url") { if (!window.be_webchat) { window.be_webchat = { open: openWebchatFromOutside, }; } e.source.postMessage( { type: "put-parent-url", url: document.location.href, hostname: document.location.hostname, href: document.location.origin, src: "birdeye", isMicroSite: isMicroSite ? isMicroSite : false, frmMicrosite: frmMicrosite ? frmMicrosite : false, isWidgetAlignLeft: window.isWidgetAlignLeft ? window.isWidgetAlignLeft : false, mFullView: window.mFullView ? window.mFullView : false, enterpriseNumber: isMicroSite ? enterpriseNumber : null, width: totalWidth, height: totalHeight, src: "birdeye", updateValFromParent: window.update, bizDataResp: window.bizDataResp, beWebchatWindowObj: JSON.stringify(window.be_webchat), updatedBizData: true, locale: window.locale, isPreview: window.isPreview ? window.isPreview : 0, widgetAgent: window.widgetAgent ? window.widgetAgent : "", draftSessionId: window.draftSessionId }, "*" ); } else if ( dataReceived == "push-datalayer" && window && typeof window.dataLayer !== "undefined" ) { window.dataLayer.push(JSON.parse(dataReceivedSplit[1])); } else if ( dataReceived == "push-avbDatalayer" && window && typeof window.avbData !== "undefined" ) { window.avbData.push(JSON.parse(dataReceivedSplit[1])); } else if (dataReceived == "push-analytics") { try { try { const config = JSON.parse(dataReceivedSplit[1]); switch (config.googleAnalyticsVersion) { case "UA": if (ga && typeof ga == "function") { const nonInteractionObj = config.nonInteraction ? { nonInteraction: 1 } : null; ga( "send", "event", "webchat", config.action, config.actionLabel, nonInteractionObj ); } else { console.warn( "Webchat Analytics ReferenceError: ga is not defined" ); } break; case "GST": if (gtag && typeof gtag == "function") { const nonInteractionObj = config.nonInteraction ? { non_interaction: true } : {}; gtag("event", config.action, { event_category: "webchat", event_label: config.actionLabel.trim(), value: 1, ...nonInteractionObj, }); } else { console.warn( "Webchat Analytics ReferenceError: gtag is not defined" ); } break; } } catch (e) { console.warn("Webchat Analytics", e); } } catch (e) { console.warn("Webchat Analytics", e); } } else if (dataReceived == "be-custom-event-fire") { const customEventData = JSON.parse(dataReceivedSplit[1]); const be_event = new CustomEvent("beWebchatCustomEvent", { detail: customEventData, }); window.parent.document.dispatchEvent(be_event); } else if (dataReceived == "bubble-icon-sound") { playBubbleSound(); } } }; if (document.readyState === "complete") { extensionInterval = setInterval(function () { env = window.envObj ? window.envObj : {}; const bizResp = window.bizDataResp ? window.bizDataResp : {}; const locationListLen = bizResp ? bizResp["businessLocations"] && bizResp["businessLocations"].length : 0; if (Object.keys(env).length && locationListLen > 0) { getFirstIframeAndInit(env); } }, 100); } else { if (window.addEventListener) { // DOM2 standard window.addEventListener("load", windowOnloadHandler, false); } else if (window.attachEvent) { // Microsoft's precursor to it, IE8 and earlier window.attachEvent("onload", windowOnloadHandler); } else { // Some pre-1999 browser window.onload = windowOnloadHandler; } function windowOnloadHandler() { env = window.envObj ? window.envObj : {}; const bizResp = window.bizDataResp ? window.bizDataResp : {}; const locationListLen = bizResp ? bizResp["businessLocations"] && bizResp["businessLocations"].length : 0; if (locationListLen > 0) { getFirstIframeAndInit(env); } } } function getFirstIframeAndInit(env) { extensionInterval && clearInterval(extensionInterval); const isAgentPreview = checkIsAgentPreview(window.isPreview, window.widgetAgent); bfi = document.createElement("iframe"); bfi.name = "bfiframe"; bfi.id = "bewebchat"; bfi.loading = "lazy"; bfi.title = "Webchat widget"; bfi.src = env.protocol + env.domain + `/getBubbleContent?update=${window.update}&source=${window.source}&bNum=${window.bNum}&apikey=${window.apikey}&widgetApiVersion=${window.widgetApiVersion}&isWidgetAlignLeft=${window.isWidgetAlignLeft}&mFullView=${window.mFullView}&isPreview=${window.isPreview}&widgetAgent=${window.widgetAgent}&draftSessionId=${draftSessionId}`; bfi.setAttribute( "style", `-webkit-overflow-scrolling: touch; visibility: ${isAgentPreview ? "hidden" : "visible"}; opacity: 1; z-index: 9999999; ${window.isWidgetAlignLeft ? "left:20px" : "right:20px"}; bottom:20px; position:fixed; overflow:hidden; ${isAgentPreview ? "width:200px" : "width:70px"}; ${isAgentPreview ? "height:70px" : "height:80px"}; border:0` ); initIframe(); bfi.onload = loadNewIframe.bind(this); const firstIframeEl = document.getElementById("bewebchat"); firstIframeEl.style.colorScheme = "light"; } function appendSecondIframe() { secondIframeLoaded = true; onceClickedOnSecFrame = true; let bfdiv = document.getElementById("bf-revz-widget-" + window.wid) || document.getElementById("bf-revz-widget-" + "0" + window.wid); bfdiv.appendChild(windowIframe); const bodyEl = document.querySelector("#window-iframe").parentElement .parentElement; windowIframeBody = document.querySelector("#window-iframe") .contentDocument ? document.querySelector("#window-iframe").contentDocument.body : null; bodyEl.addEventListener("click", function (e) { let emojiEl = windowIframeBody && windowIframeBody.querySelector(".emoji-wrap"); if ( emojiEl && e.target !== document.querySelector("#window-iframe") ) { emojiEl.classList.add("hide-emoji"); emojiEl.style.display = "none"; } }); const secondIframeEl = document.getElementById("window-iframe"); secondIframeEl.style.colorScheme = "light"; } function loadNewIframe() { windowIframe = document.createElement("iframe"); windowIframe.name = "wciframe"; windowIframe.id = "window-iframe"; windowIframe.loading = "lazy"; windowIframe.title = "Webchat widget"; windowIframe.src = env.protocol + env.domain + `/getChatWindowContent?emailRequired=${window.emailRequired}&bNum=${window.bNum}&mobileRequired=${window.mobileRequired}&defaultCountryCode=${window.defaultCountryCode}&apikey=${window.apikey}&widgetApiVersion=${window.widgetApiVersion}&isMicroSite=${window.isMicroSite}&activationStatus=${window.activationStatus}&isWidgetAlignLeft=${window.isWidgetAlignLeft}&mFullView=${window.mFullView}&isPreview=${window.isPreview}&widgetAgent=${window.widgetAgent}&draftSessionId=${draftSessionId}`; windowIframe.setAttribute( "style", `-webkit-overflow-scrolling: touch; visibility: visible; opacity: 1; ${window.isWidgetAlignLeft ? "left:20px" : "right:20px"}; bottom:20px; position:fixed; overflow:hidden; width:346px; z-index:9999998; border: 0; height: 0px;` ); appendSecondIframe(); } })(); var wid = 4133508691; var update = 0; var soundOff = 1; var envObj = {"domain":"webchat.birdeye.com","protocol":"https://","isWidgetAlignLeft":false,"mFullView":false,"isPreview":0,"widgetAgent":""}; var emailRequired = 0; var isPreview = 0; var widgetAgent = ""; var defaultCountryCode = 0; var mobileRequired = 1; var apikey = "5e5f911b2dfbef64ec4eddf4248bb6747a72cf76d31ad9ba"; var widgetApiVersion = 2; var bNum = 452584640; var update = 0; var isMicroSite = false; var frmMicrosite = false; var isWidgetAlignLeft = false; var mFullView = false; var activationStatus = false; var source = false; var bizDataResp = {"businessId":452584640,"chatTheme":"floating","chatIcon":"twocolored","chatIconValue":null,"bannerColor":"#F8F8F8","bannerTextColor":"#000000","btnColor":"#522c7f","btnTxtColor":"#FFFFFF","enableReplyInBusinessHr":1,"enableReplyPostBusinessHr":1,"autoReplyTxt":"Thank you for contacting Kona Cleaners! Someone from our team will reach out shortly.","replyTextPostBusinessHr":"Thank you for contacting us! We are currently out of business hours, but we’ll get back to you during normal business hours.","headerHeadline":"Welcome to Kona Cleaners","headerDescription":"Hello! Our team is here to help. Enter your message below and one of our reps will reach out.","thankyouMsgHeadline":null,"thankyouMsgDescription":null,"webChatOnlineClosingMessageHeader":"We will text you !","webChatOnlineClosingMessageBody":"We will follow up with you soon. You can always text us at [Business Texting Number] ","apiKey":null,"businessDomain":null,"onlineClosingMessageBody":null,"onlineWelcomeMessageHeader":null,"smb":false,"popupInterval":20,"microsite":0,"userProfile":[{"userProfileName":"Robin","userProfileImage":""}],"businessLocations":[{"businessId":171138466155955,"location":"Chino Hills, CA","businessSMSPhoneNumber":"(657) 366-5347","countryCode":"US","zipcode":"91709","address1":"3626 Grand Ave","address2":"Ste E","chatEnabled":true,"shortBusinessId":1298247,"businessAlias":"Kona Cleaners - Chino Hills #27","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Chino Hills","state":"CA","locationName":"Kona Cleaners","latitude":34.00302769,"longitude":-117.7279854,"emailId":"aloha@konacleaners.com","phone":"(909) 203-1087"},{"businessId":152304196359878,"location":"Claremont, CA","businessSMSPhoneNumber":"(909) 764-3560","countryCode":"US","zipcode":"91711","address1":"2209 E Baseline Road #100","address2":"Suite 100","chatEnabled":true,"shortBusinessId":438367,"businessAlias":"Kona Cleaners - Claremont #25","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Claremont","state":"CA","locationName":"Kona Cleaners","latitude":34.1229238,"longitude":-117.6933954,"emailId":"aloha@konacleaners.com","phone":"(909) 367-2853"},{"businessId":148555451559908,"location":"Corona, CA","businessSMSPhoneNumber":"(714) 613-4319","countryCode":"US","zipcode":"92882","address1":"330 W Foothill Pkwy","address2":"Ste 103","chatEnabled":true,"shortBusinessId":226017,"businessAlias":"Kona Cleaners - Corona #21","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Corona","state":"CA","locationName":"Kona Cleaners","latitude":33.84481069,"longitude":-117.5743692,"emailId":"aloha@konacleaners.com","phone":"(951) 738-1443"},{"businessId":675031872,"location":"Costa Mesa, CA - 333 E 17th Street","businessSMSPhoneNumber":"(714) 978-4663","countryCode":"US","zipcode":"92627","address1":"333 E 17th Street","address2":"","chatEnabled":true,"shortBusinessId":16197,"businessAlias":"Kona Cleaners - Costa Mesa #1","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Costa Mesa","state":"CA","locationName":"Kona Cleaners","latitude":33.6317175,"longitude":-117.9146936,"emailId":"aloha@konacleaners.com","phone":"(949) 646-5110"},{"businessId":148555458095284,"location":"Eastvale, CA - 12672 Limonite Ave","businessSMSPhoneNumber":"(951) 749-5590","countryCode":"US","zipcode":"92880","address1":"12672 Limonite Ave","address2":"","chatEnabled":true,"shortBusinessId":226018,"businessAlias":"Kona Cleaners - Limonite #23","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Eastvale","state":"CA","locationName":"Kona Cleaners","latitude":33.97419,"longitude":-117.561005,"emailId":"aloha@konacleaners.com","phone":"(951) 738-8631"},{"businessId":148555449547490,"location":"Eastvale, CA - 7084 Archibald Ave","businessSMSPhoneNumber":"(951) 336-0289","countryCode":"US","zipcode":"92880","address1":"7084 Archibald Ave","address2":"","chatEnabled":true,"shortBusinessId":226016,"businessAlias":"Kona Cleaners - Archibald #22","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Eastvale","state":"CA","locationName":"Kona Cleaners","latitude":33.9595733,"longitude":-117.5910484,"emailId":"aloha@konacleaners.com","phone":"(951) 278-1960"},{"businessId":148580531823944,"location":"Fontana, CA","businessSMSPhoneNumber":"(909) 572-8075","countryCode":"US","zipcode":"92336","address1":"14548 Baseline Ave","address2":"Ste 270","chatEnabled":true,"shortBusinessId":226499,"businessAlias":"Kona Cleaners - Fontana #24","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Fontana","state":"CA","locationName":"Kona Cleaners","latitude":34.1231759,"longitude":-117.4873771,"emailId":"aloha@konacleaners.com","phone":"(909) 822-2655"},{"businessId":515192928,"location":"Huntington Beach, CA - 20982 Brookhurst St","businessSMSPhoneNumber":"(657) 222-6206","countryCode":"US","zipcode":"92646","address1":"20982 Brookhurst St","address2":"","chatEnabled":true,"shortBusinessId":16198,"businessAlias":"Kona Cleaners - Huntington Beach #6","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Huntington Beach","state":"CA","locationName":"Kona Cleaners","latitude":33.6582663,"longitude":-117.9532883,"emailId":"aloha@konacleaners.com","phone":"(714) 965-9152"},{"businessId":149374305794808,"location":"Huntington Beach, CA - 5905 Warner Ave","businessSMSPhoneNumber":"(949) 531-7297","countryCode":"US","zipcode":"92649","address1":"5905 Warner Ave","address2":"","chatEnabled":true,"shortBusinessId":255261,"businessAlias":"Kona Cleaners - Warner Ave #11","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Huntington Beach","state":"CA","locationName":"Kona Cleaners","latitude":33.7162972,"longitude":-118.0252644,"emailId":"aloha@konacleaners.com","phone":"(714) 846-4221"},{"businessId":197877512,"location":"Newport Beach, CA","businessSMSPhoneNumber":"(949) 397-2354","countryCode":"US","zipcode":"92663","address1":"3415 Via Lido","address2":"","chatEnabled":true,"shortBusinessId":16200,"businessAlias":"Kona Cleaners - Newport Beach #4","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Newport Beach","state":"CA","locationName":"Kona Cleaners","latitude":33.61780799,"longitude":-117.9287312,"emailId":"aloha@konacleaners.com","phone":"(949) 673-3394"},{"businessId":161945666309410,"location":"Ontario, CA","businessSMSPhoneNumber":"(909) 413-5602","countryCode":"US","zipcode":"91761","address1":"3480 East Ontario Ranch Road","address2":"Suite 1","chatEnabled":true,"shortBusinessId":774308,"businessAlias":"Kona Cleaners - Ontario #26","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Ontario","state":"CA","locationName":"Kona Cleaners","latitude":33.9993561,"longitude":-117.5764842,"emailId":"aloha@konacleaners.com","phone":"(909) 457-2915"},{"businessId":370733536,"location":"Orange, CA","businessSMSPhoneNumber":"(714) 559-3482","countryCode":"US","zipcode":"92865","address1":"821 W Taft Ave","address2":"","chatEnabled":true,"shortBusinessId":16202,"businessAlias":"Kona Cleaners - Orange #7","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Orange","state":"CA","locationName":"Kona Cleaners","latitude":33.8160672,"longitude":-117.8610282,"emailId":"aloha@konacleaners.com","phone":"(714) 524-1994"},{"businessId":152253253823219,"location":"Placentia, CA","businessSMSPhoneNumber":"(909) 345-2232","countryCode":"US","zipcode":"92870","address1":"642 N Rose Dr","address2":"","chatEnabled":true,"shortBusinessId":436788,"businessAlias":"Kona Cleaners - Rose #12","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Placentia","state":"CA","locationName":"Kona Cleaners","latitude":33.8767175,"longitude":-117.8419471,"emailId":"aloha@konacleaners.com","phone":"(714) 524-9184"},{"businessId":841795200,"location":"Yorba Linda, CA","businessSMSPhoneNumber":"(714) 706-3715","countryCode":"US","zipcode":"92886","address1":"19754 Yorba Linda Blvd","address2":"","chatEnabled":true,"shortBusinessId":19331,"businessAlias":"Kona Cleaners - Yorba Linda #8","businessName":"Kona Cleaners","name":"Kona Cleaners","city":"Yorba Linda","state":"CA","locationName":"Kona Cleaners","latitude":33.8885211,"longitude":-117.7896326,"emailId":"aloha@konacleaners.com","phone":"(714) 970-8441"}],"chatBubble":"Have a question? We are here to help!","enableChatBubble":1,"enableChatBubbleSound":1,"chatIconColor":"#54b949","chatIconForeColor":"#FFFFFF","supportedCountryCodes":["US","PR","VI","MX","CA"],"businessName":"Kona Cleaners","widgetName":null,"enabled":1,"widgetConfigId":918,"businessSMSPhoneNumber":null,"teams":null,"isLiveChatEnabled":true,"isChatbotEnabled":true,"enableGoogleAnalytics":true,"googleAnalyticsVersion":"UA","googleTrackingId":"UA-76090217-1","webChatOfflineClosingMessageHeader":"We will text you !","webChatOfflineClosingMessageBody":"We will follow up with you soon. You can always text us at [Business Texting Number].","liveChatOfflineClosingMessageHeader":"We'll text you!","liveChatOfflineClosingMessageBody":"We'll follow up with you soon. You can always text us at [Business Texting Number].","liveChatOnlineClosingMessageHeader":"Text us!","liveChatOnlineClosingMessageBody":"The best way to get ahold of us is to text us [Business Texting Number].","liveChatOfflineWelcomeMessage":"I'm sorry, we are closed right now but we got your message. We will text you on your number when we're back!","liveChatOnlineWelcomeMessage":"Give us a moment while we look for someone available to help you.","installed":1,"websites":["http%3A//konacleaners.com","https%3A//konacleaners.com"],"statusUpdateOn":"2026-04-22T03:01:08.000+00:00","liveChatOnlineTextMessage":"[Contact first name] , thank you for chatting with Kona Cleaners. You can text us at this number any time.","liveChatOfflineTextMessage":"Thank you for visiting Kona Cleaners.","locationHierarchy":null,"externalId":452584640,"allLocationDisabled":0,"emailMandatory":false,"customFields":null,"disclaimer":"By sending this message, you expressly consent to receive communications from us. You may opt out at any time.","disclaimerLinks":[],"autoDetectLocationEnabled":true,"disclaimerSelectionStatus":0,"robinInsideBusinessHours":null,"robinOutsideBusinessHours":null,"enablePrechatForm":1,"prechatFormInsideBusinessHours":1,"prechatFormOutsideBusinessHours":1,"chatbotHours":null,"timerDisplay":1,"timerSeconds":180,"mobileView":"fullView","widgetAgent":[],"fallbackMessage":null,"accountType":3,"businessOpen":false,"locale":null,"fields":null,"bubbleBGColor":"#F8F8F8"}; var locale = "en"; var draftSessionId = null;