CINXE.COM
Vacation Rental Service Portland | Handy
<!DOCTYPE html> <html class='no-js' data-request-country='US' dir='ltr' lang='en'> <head> <link rel="shortcut icon" type="image/x-icon" href="https://cache-landingpages.services.handy.com/assets/favicon-465fb4e7d7152f5abb6b2ecf7330aefa8a067f174110dcd80324b56aeedfea59.ico" /> <meta charset='utf-8'> <script>window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"fee8387e35","applicationID":"153245944","transactionName":"IQwNRkoKXlVcSh5KAwQKDVdKHB1JWF9US0kRCwxF","queueTime":0,"applicationTime":934,"agent":""}</script> <script>(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"fee8387e35",applicationID:"153245944"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <meta content='width=device-width, initial-scale=1, maximum-scale=1' name='viewport'> <title>Vacation Rental Service Portland | Handy</title> <script type="text/javascript"> window.NREUM||(NREUM={}),__nr_require=function(t,n,e){function r(e){if(!n[e]){var o=n[e]={exports:{}};t[e][0].call(o.exports,function(n){var o=t[e][1][n];return r(o||n)},o,o.exports)}return n[e].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<e.length;o++)r(e[o]);return r}({1:[function(t,n,e){function r(t){try{s.console&&console.log(t)}catch(n){}}var o,i=t("ee"),a=t(15),s={};try{o=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(s.console=!0,o.indexOf("dev")!==-1&&(s.dev=!0),o.indexOf("nr_dev")!==-1&&(s.nrDev=!0))}catch(c){}s.nrDev&&i.on("internal-error",function(t){r(t.stack)}),s.dev&&i.on("fn-err",function(t,n,e){r(e.stack)}),s.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags: "+a(s,function(t,n){return t}).join(", ")))},{}],2:[function(t,n,e){function r(t,n,e,r,s){try{p?p-=1:o(s||new UncaughtException(t,n,e),!0)}catch(f){try{i("ierr",[f,c.now(),!0])}catch(d){}}return"function"==typeof u&&u.apply(this,a(arguments))}function UncaughtException(t,n,e){this.message=t||"Uncaught error with no additional information",this.sourceURL=n,this.line=e}function o(t,n){var e=n?null:c.now();i("err",[t,e])}var i=t("handle"),a=t(16),s=t("ee"),c=t("loader"),f=t("gos"),u=window.onerror,d=!1,l="nr@seenError",p=0;c.features.err=!0,t(1),window.onerror=r;try{throw new Error}catch(h){"stack"in h&&(t(8),t(7),"addEventListener"in window&&t(5),c.xhrWrappable&&t(9),d=!0)}s.on("fn-start",function(t,n,e){d&&(p+=1)}),s.on("fn-err",function(t,n,e){d&&!e[l]&&(f(e,l,function(){return!0}),this.thrown=!0,o(e))}),s.on("fn-end",function(){d&&!this.thrown&&p>0&&(p-=1)}),s.on("internal-error",function(t){i("ierr",[t,c.now(),!0])})},{}],3:[function(t,n,e){t("loader").features.ins=!0},{}],4:[function(t,n,e){function r(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var o=t("ee"),i=t("handle"),a=t(8),s=t(7),c="learResourceTimings",f="addEventListener",u="resourcetimingbufferfull",d="bstResource",l="resource",p="-start",h="-end",m="fn"+p,w="fn"+h,v="bstTimer",y="pushState",g=t("loader");g.features.stn=!0,t(6);var b=NREUM.o.EV;o.on(m,function(t,n){var e=t[0];e instanceof b&&(this.bstStart=g.now())}),o.on(w,function(t,n){var e=t[0];e instanceof b&&i("bst",[e,n,this.bstStart,g.now()])}),a.on(m,function(t,n,e){this.bstStart=g.now(),this.bstType=e}),a.on(w,function(t,n){i(v,[n,this.bstStart,g.now(),this.bstType])}),s.on(m,function(){this.bstStart=g.now()}),s.on(w,function(t,n){i(v,[n,this.bstStart,g.now(),"requestAnimationFrame"])}),o.on(y+p,function(t){this.time=g.now(),this.startPath=location.pathname+location.hash}),o.on(y+h,function(t){i("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),f in window.performance&&(window.performance["c"+c]?window.performance[f](u,function(t){i(d,[window.performance.getEntriesByType(l)]),window.performance["c"+c]()},!1):window.performance[f]("webkit"+u,function(t){i(d,[window.performance.getEntriesByType(l)]),window.performance["webkitC"+c]()},!1)),document[f]("scroll",r,{passive:!0}),document[f]("keypress",r,!1),document[f]("click",r,!1)}},{}],5:[function(t,n,e){function r(t){for(var n=t;n&&!n.hasOwnProperty(u);)n=Object.getPrototypeOf(n);n&&o(n)}function o(t){s.inPlace(t,[u,d],"-",i)}function i(t,n){return t[1]}var a=t("ee").get("events"),s=t(18)(a,!0),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";n.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+"-start",function(t,n){var e=t[1],r=c(e,"nr@wrapped",function(){function t(){if("function"==typeof e.handleEvent)return e.handleEvent.apply(e,arguments)}var n={object:t,"function":e}[typeof e];return n?s(n,"fn-",null,n.name||"anonymous"):e});this.wrapped=t[1]=r}),a.on(d+"-start",function(t){t[1]=this.wrapped||t[1]})},{}],6:[function(t,n,e){var r=t("ee").get("history"),o=t(18)(r);n.exports=r,o.inPlace(window.history,["pushState","replaceState"],"-")},{}],7:[function(t,n,e){var r=t("ee").get("raf"),o=t(18)(r),i="equestAnimationFrame";n.exports=r,o.inPlace(window,["r"+i,"mozR"+i,"webkitR"+i,"msR"+i],"raf-"),r.on("raf-start",function(t){t[0]=o(t[0],"fn-")})},{}],8:[function(t,n,e){function r(t,n,e){t[0]=a(t[0],"fn-",null,e)}function o(t,n,e){this.method=e,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],"fn-",this,e)}var i=t("ee").get("timer"),a=t(18)(i),s="setTimeout",c="setInterval",f="clearTimeout",u="-start",d="-";n.exports=i,a.inPlace(window,[s,"setImmediate"],s+d),a.inPlace(window,[c],c+d),a.inPlace(window,[f,"clearImmediate"],f+d),i.on(c+u,r),i.on(s+u,o)},{}],9:[function(t,n,e){function r(t,n){d.inPlace(n,["onreadystatechange"],"fn-",s)}function o(){var t=this,n=u.context(t);t.readyState>3&&!n.resolved&&(n.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,y,"fn-",s)}function i(t){g.push(t),h&&(x?x.then(a):w?w(a):(E=-E,O.data=E))}function a(){for(var t=0;t<g.length;t++)r([],g[t]);g.length&&(g=[])}function s(t,n){return n}function c(t,n){for(var e in t)n[e]=t[e];return n}t(5);var f=t("ee"),u=f.get("xhr"),d=t(18)(u),l=NREUM.o,p=l.XHR,h=l.MO,m=l.PR,w=l.SI,v="readystatechange",y=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],g=[];n.exports=u;var b=window.XMLHttpRequest=function(t){var n=new p(t);try{u.emit("new-xhr",[n],n),n.addEventListener(v,o,!1)}catch(e){try{u.emit("internal-error",[e])}catch(r){}}return n};if(c(p,b),b.prototype=p.prototype,d.inPlace(b.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,n){r(t,n),i(n)}),u.on("open-xhr-start",r),h){var x=m&&m.resolve();if(!w&&!m){var E=1,O=document.createTextNode(E);new h(a).observe(O,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===v||a()})},{}],10:[function(t,n,e){function r(t){var n=this.params,e=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<d;r++)t.removeEventListener(u[r],this.listener,!1);if(!n.aborted){if(e.duration=a.now()-this.startTime,4===t.readyState){n.status=t.status;var i=o(t,this.lastSize);if(i&&(e.rxSize=i),this.sameOrigin){var c=t.getResponseHeader("X-NewRelic-App-Data");c&&(n.cat=c.split(", ").pop())}}else n.status=0;e.cbTime=this.cbTime,f.emit("xhr-done",[t],t),s("xhr",[n,e,this.startTime])}}}function o(t,n){var e=t.responseType;if("json"===e&&null!==n)return n;var r="arraybuffer"===e||"blob"===e||"json"===e?t.response:t.responseText;return h(r)}function i(t,n){var e=c(n),r=t.params;r.host=e.hostname+":"+e.port,r.pathname=e.pathname,t.sameOrigin=e.sameOrigin}var a=t("loader");if(a.xhrWrappable){var s=t("handle"),c=t(11),f=t("ee"),u=["load","error","abort","timeout"],d=u.length,l=t("id"),p=t(14),h=t(13),m=window.XMLHttpRequest;a.features.xhr=!0,t(9),f.on("new-xhr",function(t){var n=this;n.totalCbs=0,n.called=0,n.cbTime=0,n.end=r,n.ended=!1,n.xhrGuids={},n.lastSize=null,p&&(p>34||p<10)||window.opera||t.addEventListener("progress",function(t){n.lastSize=t.loaded},!1)}),f.on("open-xhr-start",function(t){this.params={method:t[0]},i(this,t[1]),this.metrics={}}),f.on("open-xhr-end",function(t,n){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid)}),f.on("send-xhr-start",function(t,n){var e=this.metrics,r=t[0],o=this;if(e&&r){var i=h(r);i&&(e.txSize=i)}this.startTime=a.now(),this.listener=function(t){try{"abort"===t.type&&(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof n.onload))&&o.end(n)}catch(e){try{f.emit("internal-error",[e])}catch(r){}}};for(var s=0;s<d;s++)n.addEventListener(u[s],this.listener,!1)}),f.on("xhr-cb-time",function(t,n,e){this.cbTime+=t,n?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof e.onload||this.end(e)}),f.on("xhr-load-added",function(t,n){var e=""+l(t)+!!n;this.xhrGuids&&!this.xhrGuids[e]&&(this.xhrGuids[e]=!0,this.totalCbs+=1)}),f.on("xhr-load-removed",function(t,n){var e=""+l(t)+!!n;this.xhrGuids&&this.xhrGuids[e]&&(delete this.xhrGuids[e],this.totalCbs-=1)}),f.on("addEventListener-end",function(t,n){n instanceof m&&"load"===t[0]&&f.emit("xhr-load-added",[t[1],t[2]],n)}),f.on("removeEventListener-end",function(t,n){n instanceof m&&"load"===t[0]&&f.emit("xhr-load-removed",[t[1],t[2]],n)}),f.on("fn-start",function(t,n,e){n instanceof m&&("onload"===e&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=a.now()))}),f.on("fn-end",function(t,n){this.xhrCbStart&&f.emit("xhr-cb-time",[a.now()-this.xhrCbStart,this.onload,n],n)})}},{}],11:[function(t,n,e){n.exports=function(t){var n=document.createElement("a"),e=window.location,r={};n.href=t,r.port=n.port;var o=n.href.split("://");!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=n.hostname||e.hostname,r.pathname=n.pathname,r.protocol=o[0],"/"!==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname);var i=!n.protocol||":"===n.protocol||n.protocol===e.protocol,a=n.hostname===document.domain&&n.port===e.port;return r.sameOrigin=i&&(!n.hostname||a),r}},{}],12:[function(t,n,e){function r(){}function o(t,n,e){return function(){return i(t,[f.now()].concat(s(arguments)),n?null:this,e),n?void 0:this}}var i=t("handle"),a=t(15),s=t(16),c=t("ee").get("tracer"),f=t("loader"),u=NREUM;"undefined"==typeof window.newrelic&&(newrelic=u);var d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",p=l+"ixn-";a(d,function(t,n){u[n]=o(l+n,!0,"api")}),u.addPageAction=o(l+"addPageAction",!0),u.setCurrentRouteName=o(l+"routeName",!0),n.exports=newrelic,u.interaction=function(){return(new r).get()};var h=r.prototype={createTracer:function(t,n){var e={},r=this,o="function"==typeof n;return i(p+"tracer",[f.now(),t,e],r),function(){if(c.emit((o?"":"no-")+"fn-start",[f.now(),r,o],e),o)try{return n.apply(this,arguments)}catch(t){throw c.emit("fn-err",[arguments,this,t],e),t}finally{c.emit("fn-end",[f.now()],e)}}}};a("setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,n){h[n]=o(p+n)}),newrelic.noticeError=function(t){"string"==typeof t&&(t=new Error(t)),i("err",[t,f.now()])}},{}],13:[function(t,n,e){n.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(n){return}}}},{}],14:[function(t,n,e){var r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),n.exports=r},{}],15:[function(t,n,e){function r(t,n){var e=[],r="",i=0;for(r in t)o.call(t,r)&&(e[i]=n(r,t[r]),i+=1);return e}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],16:[function(t,n,e){function r(t,n,e){n||(n=0),"undefined"==typeof e&&(e=t?t.length:0);for(var r=-1,o=e-n||0,i=Array(o<0?0:o);++r<o;)i[r]=t[n+r];return i}n.exports=r},{}],17:[function(t,n,e){n.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],18:[function(t,n,e){function r(t){return!(t&&t instanceof Function&&t.apply&&!t[a])}var o=t("ee"),i=t(16),a="nr@original",s=Object.prototype.hasOwnProperty,c=!1;n.exports=function(t,n){function e(t,n,e,o){function nrWrapper(){var r,a,s,c;try{a=this,r=i(arguments),s="function"==typeof e?e(r,a):e||{}}catch(f){l([f,"",[r,a,o],s])}u(n+"start",[r,a,o],s);try{return c=t.apply(a,r)}catch(d){throw u(n+"err",[r,a,d],s),d}finally{u(n+"end",[r,a,c],s)}}return r(t)?t:(n||(n=""),nrWrapper[a]=t,d(t,nrWrapper),nrWrapper)}function f(t,n,o,i){o||(o="");var a,s,c,f="-"===o.charAt(0);for(c=0;c<n.length;c++)s=n[c],a=t[s],r(a)||(t[s]=e(a,f?s+o:o,i,s))}function u(e,r,o){if(!c||n){var i=c;c=!0;try{t.emit(e,r,o,n)}catch(a){l([a,e,r,o])}c=i}}function d(t,n){if(Object.defineProperty&&Object.keys)try{var e=Object.keys(t);return e.forEach(function(e){Object.defineProperty(n,e,{get:function(){return t[e]},set:function(n){return t[e]=n,n}})}),n}catch(r){l([r])}for(var o in t)s.call(t,o)&&(n[o]=t[o]);return n}function l(n){try{t.emit("internal-error",n)}catch(e){}}return t||(t=o),e.inPlace=f,e.flag=a,e}},{}],ee:[function(t,n,e){function r(){}function o(t){function n(t){return t&&t instanceof r?t:t?c(t,s,i):i()}function e(e,r,o,i){if(!l.aborted||i){t&&t(e,r,o);for(var a=n(o),s=h(e),c=s.length,f=0;f<c;f++)s[f].apply(a,r);var d=u[y[e]];return d&&d.push([g,e,r,a]),a}}function p(t,n){v[t]=h(t).concat(n)}function h(t){return v[t]||[]}function m(t){return d[t]=d[t]||o(e)}function w(t,n){f(t,function(t,e){n=n||"feature",y[e]=n,n in u||(u[n]=[])})}var v={},y={},g={on:p,emit:e,get:m,listeners:h,context:n,buffer:w,abort:a,aborted:!1};return g}function i(){return new r}function a(){(u.api||u.feature)&&(l.aborted=!0,u=l.backlog={})}var s="nr@context",c=t("gos"),f=t(15),u={},d={},l=n.exports=o();l.backlog=u},{}],gos:[function(t,n,e){function r(t,n,e){if(o.call(t,n))return t[n];var r=e();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,n,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[n]=r,r}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],handle:[function(t,n,e){function r(t,n,e,r){o.buffer([t],r),o.emit(t,n,e)}var o=t("ee").get("handle");n.exports=r,r.ee=o},{}],id:[function(t,n,e){function r(t){var n=typeof t;return!t||"object"!==n&&"function"!==n?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");n.exports=r},{}],loader:[function(t,n,e){function r(){if(!x++){var t=b.info=NREUM.info,n=l.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&n))return u.abort();f(y,function(n,e){t[n]||(t[n]=e)}),c("mark",["onload",a()+b.offset],null,"api");var e=l.createElement("script");e.src="https://"+t.agent,n.parentNode.insertBefore(e,n)}}function o(){"complete"===l.readyState&&i()}function i(){c("mark",["domContent",a()+b.offset],null,"api")}function a(){return E.exists&&performance.now?Math.round(performance.now()):(s=Math.max((new Date).getTime(),s))-b.offset}var s=(new Date).getTime(),c=t("handle"),f=t(15),u=t("ee"),d=window,l=d.document,p="addEventListener",h="attachEvent",m=d.XMLHttpRequest,w=m&&m.prototype;NREUM.o={ST:setTimeout,SI:d.setImmediate,CT:clearTimeout,XHR:m,REQ:d.Request,EV:d.Event,PR:d.Promise,MO:d.MutationObserver};var v=""+location,y={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1071.min.js"},g=m&&w&&w[p]&&!/CriOS/.test(navigator.userAgent),b=n.exports={offset:s,now:a,origin:v,features:{},xhrWrappable:g};t(12),l[p]?(l[p]("DOMContentLoaded",i,!1),d[p]("load",r,!1)):(l[h]("onreadystatechange",o),d[h]("onload",r)),c("mark",["firstbyte",s],null,"api");var x=0,E=t(17)},{}]},{},["loader",2,10,4,3]); ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"fee8387e35",applicationID:"133284765",sa:1} </script> <meta name="description" content="Vacation Rental Cleaning Services. Find the best vacation rental cleaning service in Portland. Handy connects you with vacation rental cleaning professionals. Compare, read reviews and book vacation rental cleaning online." /> <meta name="author" content="Handy for Pros is Now Angi Services" /> <meta name="og:site_name" content="Handy for Pros is Now Angi Services" /> <link href="https://www.handy.com/services/vacation-rental-cleaning/portland" rel="canonical" /> <link rel="stylesheet" media="screen" href="https://cache-landingpages.services.handy.com/assets/application-45fdc41962174f3be9ed4c15ee4b7f762e625aa9907455126ec08b7588cc0bbc.css" /> <!-- asynchronous google analytics snippet --> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-31442860-1', 'auto'); ga('send', 'pageview'); </script> <!-- End Google Analytics --> <script class="handy-analytics" id="handy-analytics--properties"> window.Handy = window.Handy || {}; (function setupHandyAnalytics(){ window.Handy.analytics = window.Handy.analytics || {"utm":{"handy_utm_source":null,"handy_utm_campaign":null,"handy_utm_coupon":null,"handy_utm_term":null,"handy_utm_medium":null,"handy_utm_content":null},"env":{"scully_fingerprint":["f61e014e-5439-4aec-b1d2-39ac89120a5e","45877b80-bef0-4387-905f-8bbebc0bd9ce","936de6b5-bd9b-4c89-ad4d-c5d48742b09b","f02f2481-da6a-4612-b5cc-f3cd24c3d273","80179280-47c2-44b9-9b61-e76d576affaa","8262a1e2-4111-4016-97f6-b3379cf61f43","f76bb87a-24d8-4f46-84fe-e3f2cd131a26","ad30d738-4fee-4801-9852-8f37c732e2db","148a89d5-a2dd-4fde-ae5b-af77c162b066","9d39ed29-6db1-4512-8367-892b9167c51c","22f1e458-b0a0-459d-bed5-5c5fe7fa2c7e","9085bc5d-35ff-40a9-a7a8-37ff61c626d3","4a005674-3d4f-409a-88a9-d413af06e5fd","8a27e092-a629-4bc8-8c5a-5a74cd8041d0","022ae9ae-f5c5-40ef-bb5c-3dccfd6930ab","0b12fa2e-0a04-47b9-9150-edf9162bb68f","a48b4f5d-5bc2-473b-af88-25c2756d1008","20def8ec-aece-496e-80bc-8b608943c526","32faf179-c8fc-488f-a8d1-ff864e3be35e","72128813-e90f-45bf-8610-42980db57e90","0982159d-bc11-4173-b706-3123595ec604","b108499f-2e65-44e0-bb1d-fb8adfd675ef","30ecbfb0-ac32-4782-89c9-7aa751b9c540","3ef14d53-b7e4-408b-bb82-11106f2e12f4","78476689-4e12-4656-b509-f50e7c7190ee","34264c8c-942e-4051-b79f-bb3b67a4b9e9","8b1b9adb-5c3e-4fb1-a3d3-04a5db56a0d0","f39efb97-6942-4f29-ab22-19872ff8138c","7eb84b52-de6a-420f-ab00-739b72dcc716","281f397f-066f-4cca-8161-184db8a399e2","aee2200d-50e7-4cdb-b707-47bfea3e57fc","66d4b66b-ca20-4259-9fed-e0cd6856997c","65cf9460-893b-4155-bf93-a20ebb96167f","b5bbd335-1824-4e09-9810-2564222500c9","0d8c92ef-07bb-4bdb-9e78-698da974ba61","2db075b9-0c02-4e1e-9e81-2afaeeb4156b","bf779d91-45fa-44ed-98d7-05802e5c24b3","e975b5e5-c2d3-4991-a9d1-a399b27b1b37","1dcebcb7-550f-4c69-873e-57fc6734b2d3","0644d3ac-1eec-4513-9d16-7c41a61c41cf","37dffef4-caf2-47ec-a0b7-effc326b18aa","f7166369-537f-4cc5-8076-9fc369d1f33a"],"browser_uid":"ztbvnrMW1ejTFakuEQzVqBphWBv/DbSigAfCd2m3RbZoupc127TVbmySu5QYIZbJlpJS/P4nRkmSmjPjb43RGw==","from_native":false,"native_session_uid":null},"user":{"impersonating":false,"brand":"handy","new":false},"booking":{},"quote_request":{},"pageInfo":{"bookingId":null,"conversionType":null,"serviceName":null,"serviceCategory":null,"serviceId":null,"recurringFrequency":null,"zipcode":null,"dateOfBooking":null,"timeOfBooking":null,"dateAdded":null,"hourlyRate":null,"bookingHrs":null,"discount":null,"couponCode":null,"confirmedBooking":false,"cleaningType":null,"numberCreatedBookings":0,"isCleaning":0,"isCommit":0,"isOneTime":0,"isRecurring":0},"customerInfo":{"newUser":1,"userLoggedIn":false,"userHasAccount":false}}; }()); window.dataLayer ||= []; window.dataLayer.push(window.Handy.analytics); </script> <script type="text/javascript">(function(e,a){if(!a.__SV){var b=window;try{var c,l,i,j=b.location,g=j.hash;c=function(a,b){return(l=a.match(RegExp(b+"=([^&]*)")))?l[1]:null};g&&c(g,"state")&&(i=JSON.parse(decodeURIComponent(c(g,"state"))),"mpeditor"===i.action&&(b.sessionStorage.setItem("_mpcehash",g),history.replaceState(i.desiredHash||"",e.title,j.pathname+j.search)))}catch(m){}var k,h;window.mixpanel=a;a._i=[];a.init=function(b,c,f){function e(b,a){var c=a.split(".");2==c.length&&(b=b[c[0]],a=c[1]);b[a]=function(){b.push([a].concat(Array.prototype.slice.call(arguments, 0)))}}var d=a;"undefined"!==typeof f?d=a[f]=[]:f="mixpanel";d.people=d.people||[];d.toString=function(b){var a="mixpanel";"mixpanel"!==f&&(a+="."+f);b||(a+=" (stub)");return a};d.people.toString=function(){return d.toString(1)+".people (stub)"};k="disable time_event track track_pageview track_links track_forms register register_once alias unregister identify name_tag set_config reset people.set people.set_once people.unset people.increment people.append people.union people.track_charge people.clear_charges people.delete_user".split(" "); for(h=0;h<k.length;h++)e(d,k[h]);a._i.push([b,c,f])};a.__SV=1.2;b=e.createElement("script");b.type="text/javascript";b.async=!0;b.src="undefined"!==typeof MIXPANEL_CUSTOM_LIB_URL?MIXPANEL_CUSTOM_LIB_URL:"file:"===e.location.protocol&&"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js".match(/^\/\//)?"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js":"//cdn.mxpnl.com/libs/mixpanel-2-latest.min.js";c=e.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}})(document,window.mixpanel||[]); mixpanel.init("285f70ac22992c5c5a2a0639a095aa59");</script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-31442860-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-31442860-1', { 'optimize_id': 'GTM-MDBGCQC'}); </script> <!-- Google Tag Manager --> <script class="handy-analytics" id="gtm">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5JWM6VD');</script> <!-- End Google Tag Manager --> <script type="application/ld+json"> {"@context":"http://schema.org","@type":"LocalBusiness","parentOrganization":{"@type":"Organization","name":"Handy"},"name":"Handy","image":"https://cache-landingpages.services.handy.com/assets/handy-pros-592276a0b34bc70437438bd93f150b9f9677f128f118bf2a901e0181191f42d4.png","openingHours":"07:00-23:00","aggregateRating":{"@type":"AggregateRating","ratingValue":4.9,"reviewCount":77,"bestRating":5,"worstRating":0}} </script> <script> window.mixpanelMetadata = {"product_type":"consumer","referer":null,"browser_uid":"ztbvnrMW1ejTFakuEQzVqBphWBv/DbSigAfCd2m3RbZoupc127TVbmySu5QYIZbJlpJS/P4nRkmSmjPjb43RGw==","device":"web","session_id":"5d387982fb5f36c7","session_uid":"ztbvnrMW1ejTFakuEQzVqBphWBv/DbSigAfCd2m3RbZoupc127TVbmySu5QYIZbJlpJS/P4nRkmSmjPjb43RGw==_5d387982fb5f36c7","session_event_count":0,"logged_in":false}; var onLoadMixpanelData = null; // in case onLoadMixpanelData is not set if (onLoadMixpanelData != null) { var eventName = onLoadMixpanelData["event"]; delete onLoadMixpanelData["event"]; var allProperties = Object.assign( {}, onLoadMixpanelData, window.mixpanelMetadata ); //merge properties together mixpanel.track(eventName, allProperties); } </script> </head> <body class='template-region_v2' id='portland-page'> <!-- Google Tag Manager --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5JWM6VD" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <div class='off-canvas position-right' data-content-scroll='false' data-off-canvas='' id='off-canvas-right-push'> <ul class='mobile-nav-menu menu vertical drilldown' data-back-button='<li class='js-drilldown-back'><a class='back-title'></a></li>' data-drilldown=''> <br> <li class='nav-link'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='login' data-mixpanel-trigger='click' href='/login'> Log In </a> </li> <li class='nav-link'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='help' data-mixpanel-trigger='click' href='/help'> Help </a> </li> <li class='nav-link'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='apply' data-mixpanel-trigger='click' href='/apply'> Become a Professional </a> </li> <div class='nav__line'></div> <li class='nav-link'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services' data-mixpanel-trigger='click' href='/services'> All Services </a> </li> <li class='nav-link'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services' data-mixpanel-trigger='click' href='#'> Services by Category </a> <ul class='menu vertical nested'> <li> <a href='#'> Cleaning </a> <ul class='menu vertical nested'> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_home_cleaning' data-mixpanel-trigger='click' href='/services/home-cleaning'> Home Cleaning </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_move_out_in_cleaning' data-mixpanel-trigger='click' href='/services/move-out-in-cleaning'> Move Out Cleaning </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_office_cleaning' data-mixpanel-trigger='click' href='/services/office-cleaning'> Office Cleaning </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_deep_cleaning' data-mixpanel-trigger='click' href='/services/deep-cleaning-service'> Deep Cleaning </a> </li> </ul> </li> <li> <a href='#'> Installation </a> <ul class='menu vertical nested'> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_mount_tv' data-mixpanel-trigger='click' href='/services/mount-tv'> TV Mounting </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_hanging_pictures_shelves' data-mixpanel-trigger='click' href='/services/hanging-pictures-shelves'> Picture or Shelf Hanging </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_light_fixtures' data-mixpanel-trigger='click' href='/services/light-fixtures'> Light Fixtures </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_ceiling_fan' data-mixpanel-trigger='click' href='/services/ceiling-fan'> Ceiling Fans </a> </li> </ul> </li> <li> <a href='#'> Handyman </a> <ul class='menu vertical nested'> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_furniture_assembly' data-mixpanel-trigger='click' href='/services/furniture-assembly'> Furniture Assembly </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_other_handyman_service' data-mixpanel-trigger='click' href='/services/other-handyman-service'> General Handyman </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_other_plumbing' data-mixpanel-trigger='click' href='/services/other-plumbing'> General Plumbing </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_faucets_replacement' data-mixpanel-trigger='click' href='/services/faucets-replacement'> Faucets </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_toilet_trouble' data-mixpanel-trigger='click' href='/services/toilet-trouble'> Toilets </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_other_electrical' data-mixpanel-trigger='click' href='/services/other-electrical'> General Electric </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_outlets' data-mixpanel-trigger='click' href='/services/outlets'> Outlets and Switches </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_moving_help' data-mixpanel-trigger='click' href='/services/moving-help'> Moving Help </a> </li> </ul> </li> <li> <a href='#'> Outdoor Projects </a> <ul class='menu vertical nested'> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_lawn_care_maintenance_service' data-mixpanel-trigger='click' href='/services/lawn-care-maintenance-service?redirect_source=nav_bar'> Lawn Care </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_gutter_installation' data-mixpanel-trigger='click' href='/services/gutter-installation?redirect_source=nav_bar'> Gutters and Downspouts </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_tree_removal' data-mixpanel-trigger='click' href='/services/tree-removal?redirect_source=nav_bar'> Tree Removal </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_tree_trimming' data-mixpanel-trigger='click' href='/services/tree-trimming?redirect_source=nav_bar'> Tree Trimming </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_fence_installation' data-mixpanel-trigger='click' href='/services/fence-installation?redirect_source=nav_bar'> Wood Fence Installation </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_deck_and_porch_repair' data-mixpanel-trigger='click' href='/services/deck-and-porch-repair?redirect_source=nav_bar'> Deck and Porch Repairs </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_deck_repair_installation' data-mixpanel-trigger='click' href='/services/deck-repair-installation?redirect_source=nav_bar'> Deck Installation </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_exterior_painting' data-mixpanel-trigger='click' href='/services/exterior-painting?redirect_source=nav_bar'> Exterior Painting </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_power_washing' data-mixpanel-trigger='click' href='/services/power-washing?redirect_source=nav_bar'> Exterior Surfaces </a> </li> </ul> </li> <li> <a href='#'> Home Renovations </a> <ul class='menu vertical nested'> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_bathroom_remodeling' data-mixpanel-trigger='click' href='/services/bathroom-remodeling?redirect_source=nav_bar'> Remodel a Bathroom </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_kitchen_remodeling' data-mixpanel-trigger='click' href='/services/kitchen-remodeling?redirect_source=nav_bar'> Remodel a Kitchen </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_basement_remodeling' data-mixpanel-trigger='click' href='/services/basement-remodeling?redirect_source=nav_bar'> Remodel a Basement </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_major_home_renovations' data-mixpanel-trigger='click' href='/services/major-home-renovations?redirect_source=nav_bar'> Major Home Renovations </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_installing_wood_flooring' data-mixpanel-trigger='click' href='/services/installing-wood-flooring?redirect_source=nav_bar'> Refinish Wood Flooring </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_install_asphalt_shingle_roofing' data-mixpanel-trigger='click' href='/services/install-asphalt-shingle-roofing?redirect_source=nav_bar'> Install Roofing </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_repair_asphalt_shingle_roofing' data-mixpanel-trigger='click' href='/services/repair-asphalt-shingle-roofing?redirect_source=nav_bar'> Repair Roofing </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_6_windows_installation' data-mixpanel-trigger='click' href='/services/6-windows-installation?redirect_source=nav_bar'> Install New Windows </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_painting' data-mixpanel-trigger='click' href='/services/painting'> Interior Painting </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_install_window_treatments' data-mixpanel-trigger='click' href='/services/install-window-treatments'> Window Treatments </a> </li> </ul> </li> </ul> </li> <div class='nav__line'></div> <li class='nav-link'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='blog' data-mixpanel-trigger='click' href='/blog'> Blog </a> </li> <li class='nav-link nav-menu__control'> <a href='/about'> About </a> <ul class='menu vertical'> <li class='nav-link'> <a href='/handy-guarantee'> The Handy Happiness Guarantee </a> </li> <li class='nav-link'> <a href='/press'> Press </a> </li> <li class='nav-link'> <a href='/retail'> Retail Partnerships </a> </li> <li class='nav-link'> <a href='http://blog.handy.com/'> Blog </a> </li> <li class='nav-link'> <a href='/careers'> Careers </a> </li> <li class='nav-link'> <a href='/help'> Contact Us </a> </li> <div class='nav__line'></div> <li class='nav-link'> <a href='/privacy'> Privacy </a> </li> <li class='nav-link'> <a href='/privacy#section5a'> CA Pre-Collection Notice </a> </li> <li class='nav-link'> <a href='/do_not_sell'> Do Not Sell or Share My Personal Information </a> </li> <li class='nav-link'> <a href='/cookies'> Cookies </a> </li> <li class='nav-link'> <a href='/terms'> Terms </a> </li> <li> <a> <form html="{:class=>"nav__select"}" action="/country_select" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /> <select name="request_country" id="request_country" onchange="this.form.submit()"><option selected="selected" value="US">United States</option> <option value="CA">Canada</option> <option value="GB">United Kingdom</option></select> </form> </a> </li> </ul> </li> </ul> </div> <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ --> <!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]--> <!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]--> <!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]--> <!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]--> <!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]--> <div class='off-canvas-content' data-off-canvas-content=''> <script src="https://cache-landingpages.services.handy.com/assets/application-97e37d2e044e4420f7ad4a4ea07c375282d14a9487e88cc3057f035a520733c0.js"></script> <script src="https://cache-landingpages.services.handy.com/assets/accessibility-cca6ca545c47db43401f96309237acaf72f7cb060e90d5adc5b893a38c66cd4c.js"></script> <div id='page_container'> <header id='header' role='banner'> <section id='header'> <div class='grid-container'> <div class='navigation'> <nav class='grid-x align-middle navigation--collapsed title-bar' data-hide-for='large' data-responsive-toggle='navigation--expanded'> <div class='navigation__logo left'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='home' data-mixpanel-trigger='click' href='/home'> <img src="https://cache-landingpages.services.handy.com/assets/pages/region/handy_logo-e5d858d96595ec001c5268a2d7a0f91800da2c7c2f963a5307154917289c347a.svg" alt="Handy logo" /> </a> </div> <button class='menu-icon right' data-toggle='off-canvas-right-push' type='button'></button> </nav> <nav class='align-middle stacked-for-medium navigation--expanded top-bar' id='navigation--expanded'> <div class='navigation__logo show-for-large'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='home' data-mixpanel-trigger='click' href='/home'> <img src="https://cache-landingpages.services.handy.com/assets/pages/region/handy_logo-e5d858d96595ec001c5268a2d7a0f91800da2c7c2f963a5307154917289c347a.svg" alt="Handy logo" /> </a> </div> <div class='navigation__left top-bar-left'> <ul class='menu dropdown all-services-menu' data-dropdown-menu='' data-options='closingTime:0;'> <li class='all-services mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services' data-mixpanel-trigger='click' href='/services'> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_hover' data-mixpanel-trigger='hover-once' href='/services'> All Services <i class='fal fa-angle-down fa-shown'></i> <i class='fal fa-angle-up fa-hidden'></i> </a> </li> </ul> <div class='grid-container services-panel'> <div class='grid-x'> <div class='cell'> <ul class='four-columns services-columns'> <li> <span> Cleaning </span> <ul> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_home_cleaning' data-mixpanel-trigger='click' href='/services/home-cleaning'> Home Cleaning </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_move_out_in_cleaning' data-mixpanel-trigger='click' href='/services/move-out-in-cleaning'> Move Out Cleaning </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_office_cleaning' data-mixpanel-trigger='click' href='/services/office-cleaning'> Office Cleaning </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_deep_cleaning' data-mixpanel-trigger='click' href='/services/deep-cleaning-service'> Deep Cleaning </a> </li> </ul> </li> <li> <span> Installation </span> <ul> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_mount_tv' data-mixpanel-trigger='click' href='/services/mount-tv'> TV Mounting </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_hanging_pictures_shelves' data-mixpanel-trigger='click' href='/services/hanging-pictures-shelves'> Picture or Shelf Hanging </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_light_fixtures' data-mixpanel-trigger='click' href='/services/light-fixtures'> Light Fixtures </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_ceiling_fan' data-mixpanel-trigger='click' href='/services/ceiling-fan'> Ceiling Fans </a> </li> </ul> </li> <li> <span> Handyman </span> <ul> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_furniture_assembly' data-mixpanel-trigger='click' href='/services/furniture-assembly'> Furniture Assembly </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_other_handyman_service' data-mixpanel-trigger='click' href='/services/other-handyman-service'> General Handyman </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_other_plumbing' data-mixpanel-trigger='click' href='/services/other-plumbing'> General Plumbing </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_faucets_replacement' data-mixpanel-trigger='click' href='/services/faucets-replacement'> Faucets </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_toilet_trouble' data-mixpanel-trigger='click' href='/services/toilet-trouble'> Toilets </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_other_electrical' data-mixpanel-trigger='click' href='/services/other-electrical'> General Electric </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_outlets' data-mixpanel-trigger='click' href='/services/outlets'> Outlets and Switches </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_moving_help' data-mixpanel-trigger='click' href='/services/moving-help'> Moving Help </a> </li> </ul> </li> <li> <span> Outdoor Projects </span> <ul> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_lawn_care_maintenance_service' data-mixpanel-trigger='click' href='/services/lawn-care-maintenance-service?redirect_source=nav_bar'> Lawn Care </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_gutter_installation' data-mixpanel-trigger='click' href='/services/gutter-installation?redirect_source=nav_bar'> Gutters and Downspouts </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_tree_removal' data-mixpanel-trigger='click' href='/services/tree-removal?redirect_source=nav_bar'> Tree Removal </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_tree_trimming' data-mixpanel-trigger='click' href='/services/tree-trimming?redirect_source=nav_bar'> Tree Trimming </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_fence_installation' data-mixpanel-trigger='click' href='/services/fence-installation?redirect_source=nav_bar'> Wood Fence Installation </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_deck_and_porch_repair' data-mixpanel-trigger='click' href='/services/deck-and-porch-repair?redirect_source=nav_bar'> Deck and Porch Repairs </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_deck_repair_installation' data-mixpanel-trigger='click' href='/services/deck-repair-installation?redirect_source=nav_bar'> Deck Installation </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_exterior_painting' data-mixpanel-trigger='click' href='/services/exterior-painting?redirect_source=nav_bar'> Exterior Painting </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_power_washing' data-mixpanel-trigger='click' href='/services/power-washing?redirect_source=nav_bar'> Exterior Surfaces </a> </li> </ul> </li> <li> <span> Home Renovations <span class='new-category'>NEW!</span> </span> <ul> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_bathroom_remodeling' data-mixpanel-trigger='click' href='/services/bathroom-remodeling?redirect_source=nav_bar'> Remodel a Bathroom </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_kitchen_remodeling' data-mixpanel-trigger='click' href='/services/kitchen-remodeling?redirect_source=nav_bar'> Remodel a Kitchen </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_basement_remodeling' data-mixpanel-trigger='click' href='/services/basement-remodeling?redirect_source=nav_bar'> Remodel a Basement </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_major_home_renovations' data-mixpanel-trigger='click' href='/services/major-home-renovations?redirect_source=nav_bar'> Major Home Renovations </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_installing_wood_flooring' data-mixpanel-trigger='click' href='/services/installing-wood-flooring?redirect_source=nav_bar'> Refinish Wood Flooring </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_install_asphalt_shingle_roofing' data-mixpanel-trigger='click' href='/services/install-asphalt-shingle-roofing?redirect_source=nav_bar'> Install Roofing </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_repair_asphalt_shingle_roofing' data-mixpanel-trigger='click' href='/services/repair-asphalt-shingle-roofing?redirect_source=nav_bar'> Repair Roofing </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_6_windows_installation' data-mixpanel-trigger='click' href='/services/6-windows-installation?redirect_source=nav_bar'> Install New Windows </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_painting' data-mixpanel-trigger='click' href='/services/painting'> Interior Painting </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services_install_window_treatments' data-mixpanel-trigger='click' href='/services/install-window-treatments'> Window Treatments </a> </li> </ul> </li> </ul> </div> </div> <div class='grid-x align-center'> <div class='cell all-services__button'> <a class='button radius mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='services' data-mixpanel-trigger='click' href='/services'> See All Services </a> </div> </div> </div> <script> $('.services-panel').hover( function() { $('.all-services-menu').addClass('chevron-hack'); }, function() { $('.all-services-menu').removeClass('chevron-hack'); } ); </script> <ul class='menu has-submenu dropdown' data-dropdown-menu='' data-options='closingTime:0;'> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='blog' data-mixpanel-trigger='click' href='/blog'> Blog </a> </li> </ul> </div> <div class='navigation__right top-bar-right'> <ul class='menu dropdown' data-dropdown-menu='' data-options='closingTime:0;'> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='apply' data-mixpanel-trigger='click' href='/apply'> Become a Pro </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='help' data-mixpanel-trigger='click' href='/help'> Help </a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='nav_bar_refinery' data-mixpanel-event='nav_bar_cta' data-mixpanel-source='login' data-mixpanel-trigger='click' href='/login'> Log In </a> </li> </ul> </div> </nav> </div> </div> </section> </header> <main id='page' role='main'> <section class='mixpanel' data-is-cms-page='true' data-mixpanel-event-context='booking_funnel_region' data-mixpanel-event='zip_shown' data-mixpanel-page-region='portland' data-mixpanel-service-name='vacation_rental_cleaning' data-mixpanel-trigger='shown' id='region-image'> <div class='grid-x region-image'> <div class='cell region-image__image' data-interchange='[, small], [https://cache-landingpages.services.handy.com/assets/regions/large_portland-66b2c83c7dce1bf5b1497657e15e075f4e61107b41db8179a7079282a9e28d0b.jpg, medium]'></div> </div> </section> <section id='how-it-works'> <div class='grid-container'> <div class='grid-x how-it-works'> <div class='cell small-12 medium-7'> <div class='cell how-it-works__title show-for-medium'> <h1><p>Portland Vacation Rental Cleaning</p></h1> </div> <div class='cell grid-x how-it-works__rating show-for-medium'> <div class='cell small-6 medium-shrink stars'> <div class='rating-stars'> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='far fa-star'> <i class='fas fa-star' style='width: 90%'></i> </i> </div> </div> </div> <div class='cell small-6 medium-auto reviews'> <a data-smooth-scroll='' href='#customer-reviews'> 77 Reviews </a> </div> </div> <div class='cell grid-x how-it-works__media-cards-container'> <div class='media-object stack-for-small align-middle media-card'> <div class='media-object-section media-card__logo'> <img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/pages/region/male_pro_icon-8807bd71063c277c11eed88885087ca744c6594fecc29efd2dd57b71d118cb08.svg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section main-section'> <h3 class='media-card__title'>Vetted professionals</h3> <p class='media-card__description'>Pros using the Handy platform are experienced, friendly, and </p><a class='media-card__link' href='/trust-and-safety'>screened</a>. </div> </div> <div class='media-object stack-for-small align-middle media-card'> <div class='media-object-section media-card__logo'> <img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/pages/region/calendar_icon-67aae12a79a7870d546a9e59a7e53a2e8064b29f9bdc457dee9515fc77222f85.svg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section main-section'> <h3 class='media-card__title'>Next day availability</h3> <p class='media-card__description'>Book online in 60 seconds and schedule your home service for as early as tomorrow.</p> </div> </div> <div class='media-object stack-for-small align-middle media-card'> <div class='media-object-section media-card__logo'> <img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/pages/region/happiness_icon-42eecd0d4f5d332ae57754363c84e798bf462196c6d764574551903e92f2203c.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section main-section'> <h3 class='media-card__title'>Our Happiness Guarantee</h3> <p class='media-card__description'>Your happiness is our goal. If you’re not happy, </p><a class='media-card__link' href='/handy-guarantee'>we’ll work hard to make it right</a>. </div> </div> <div class='media-object stack-for-small align-middle media-card'> <div class='media-object-section media-card__logo'> <img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/pages/region/phone_icon-5e135810cd19021640f4427fa881dcf52db2d6ffe84935671fcb8c103b930aa2.svg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section main-section'> <h3 class='media-card__title'>Manage Everything Online</h3> <p class='media-card__description'>Rescheduling, contacting your professional, and paying are just a tap away.</p> </div> </div> </div> </div> <div class='cell small-12 medium-offset-1 medium-4'> <div class='cell grid-x'> <div data-react-class="QuotesFormContainer" data-react-props="{"service":{"id":52,"machine_name":"vacation_rental_cleaning","name":"Vacation Rental Cleaning","short_display_name":"Vacation Rental Cleaning","description":"\u003cp class=\"service-desc-when\"\u003eHandy takes the hassle out of hosting. The experienced cleaners on Handy's platform provide top-quality cleaning and turndown services to ensure your listing is always guest-ready! Book cleaning, laundry and key management services between guest stays. \u003c/p\u003e","form":{"min_base_hours":2.0,"max_base_hours":10.0,"need_comment_box":false,"questions":[],"all_questions":[],"base_hours_values":{"0":{"0":3.0,"1":3.0,"2":3.0,"3":3.5,"4":4.0,"5":4.5,"6":5.0,"7":5.0,"8":5.0,"9":5.0,"10":5.0},"1":{"0":3.0,"1":3.0,"2":3.5,"3":4.0,"4":4.5,"5":5.0,"6":5.0,"7":5.0,"8":5.0,"9":5.0,"10":5.0},"2":{"0":3.0,"1":3.5,"2":4.0,"3":4.5,"4":5.0,"5":5.5,"6":6.0,"7":6.5,"8":7.0,"9":7.5,"10":8.0},"3":{"0":3.5,"1":4.0,"2":4.5,"3":5.0,"4":5.5,"5":6.0,"6":4.0,"7":5.0,"8":5.0,"9":6.0,"10":6.0},"4":{"0":4.0,"1":4.5,"2":5.0,"3":5.5,"4":6.0,"5":6.5,"6":5.0,"7":6.0,"8":6.0,"9":7.0,"10":7.0},"5":{"0":4.5,"1":5.0,"2":5.5,"3":6.0,"4":6.5,"5":7.0,"6":7.0,"7":7.0,"8":8.0,"9":8.0,"10":9.0},"6":{"0":5.0,"1":6.0,"2":6.0,"3":6.0,"4":7.0,"5":7.0,"6":7.0,"7":8.0,"8":8.0,"9":9.0,"10":9.0},"7":{"0":6.0,"1":7.0,"2":7.0,"3":8.0,"4":8.0,"5":8.0,"6":9.0,"7":9.0,"8":9.0,"9":10.0,"10":10.0},"8":{"0":6.0,"1":7.0,"2":7.0,"3":8.0,"4":8.0,"5":9.0,"6":9.0,"7":10.0,"8":10.0,"9":10.0,"10":10.0},"9":{"0":7.0,"1":7.0,"2":8.0,"3":8.0,"4":9.0,"5":9.0,"6":9.0,"7":10.0,"8":10.0,"9":10.0,"10":10.0},"10":{"0":7.0,"1":8.0,"2":8.0,"3":9.0,"4":9.0,"5":9.0,"6":10.0,"7":10.0,"8":10.0,"9":10.0,"10":10.0}},"service_intro":"Tell us about your listing","tab_name":"Rooms","default_hours":3,"comment_box_placeholder":"Please describe the job in detail. (optional)","comment_box_required":false,"attributes":[{"name":"Bedrooms","default_value":2,"hours_value":null,"description":null},{"name":"Bathrooms","default_value":2,"hours_value":null,"description":null}]},"meta_data":{"review_count":9,"rating":"4.3"}},"region":{"machine_name":"portland","name":"Portland","country":"US","zip_clusters":[{"id":383,"name":"Northeast / North"},{"id":384,"name":"Southeast Portland"},{"id":385,"name":"Southwest / Tigard"},{"id":386,"name":"Downtown"},{"id":387,"name":"Beaverton"},{"id":388,"name":"Northwest Portland"},{"id":389,"name":"Vancouver"},{"id":390,"name":"Oregon City"},{"id":391,"name":"Hillsboro"},{"id":392,"name":"Gresham"},{"id":393,"name":"Camas"},{"id":394,"name":"Boring"},{"id":614,"name":"Airport"}]},"metadata":{"average_rating":"4.9","review_count":77,"pro_count":3307,"reviews_gtet_four_starts":75,"reviews_with_min_rating":75},"mixpanel_metadata":{"product_type":"consumer","referer":null,"browser_uid":"ztbvnrMW1ejTFakuEQzVqBphWBv/DbSigAfCd2m3RbZoupc127TVbmySu5QYIZbJlpJS/P4nRkmSmjPjb43RGw==","device":"web","session_id":"5d387982fb5f36c7","session_uid":"ztbvnrMW1ejTFakuEQzVqBphWBv/DbSigAfCd2m3RbZoupc127TVbmySu5QYIZbJlpJS/P4nRkmSmjPjb43RGw==_5d387982fb5f36c7","session_event_count":0,"logged_in":false},"authenticity_token":"gsfOtC+xS4grjIVtRJOSsbczWi5BkquHz6h+BCRBwwxwA3EWcEb6w9Pwkrq+sq6u1nxdXewBlKw5KmEI4c4lQw==","userIsLoggedIn":false,"userZipcode":null,"quotes_form":{"default_date_start":"11/25/2024","subscription_offer_coupon":null},"voucher_id":null,"promotion":null,"quotes_path":"/services/quotes","ratingStarsHtml":"\u003cdiv class='rating-stars'\u003e\n\u003cdiv class='star'\u003e\n\u003ci class='fas fa-star'\u003e\u003c/i\u003e\n\u003c/div\u003e\n\u003cdiv class='star'\u003e\n\u003ci class='fas fa-star'\u003e\u003c/i\u003e\n\u003c/div\u003e\n\u003cdiv class='star'\u003e\n\u003ci class='fas fa-star'\u003e\u003c/i\u003e\n\u003c/div\u003e\n\u003cdiv class='star'\u003e\n\u003ci class='fas fa-star'\u003e\u003c/i\u003e\n\u003c/div\u003e\n\u003cdiv class='star'\u003e\n\u003ci class='far fa-star'\u003e\n\u003ci class='fas fa-star' style='width: 90%'\u003e\u003c/i\u003e\n\u003c/i\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n","reviewCountText":"77 Reviews","showReviewCount":false,"serviceSlug":"Vacation Rental Cleaning","template":"region_v2","mobileFormTitle":"Portland Vacation Rental Cleaning","email":"","showPhoneCollection":false}" class="quote-form-container"></div> </div> </div> </div> </div> </section> <section id='top-professionals'> <div class='grid-container'> <div class='grid-x align-center top-professionals'> <div class='cell small-12 medium-8 top-professionals__title'> <h2>Meet Some of the Top Professionals on Handy</h2> </div> <div class='cell small-12 medium-8 top-professionals__description'> <p>Download the app to search and book top professionals in your area. Build a pro team so that you always have a great group of go-to professionals for all your household needs.</p> </div> <div class='cell grid-x grid-margin-x grid-margin-y small-12 medium-12 top-professionals__cards-container'> <div class='cell small-12 medium-12 large-4 cards'> <div class='media-object align-middle align-center cards__header'> <div class='media-object-section photo'> <img class="lazyload" data-src="https://handy-media.imgix.net/fc585c5d-cc0f-4b06-b574-0b96f69a53a9?ixlib=rb-1.1.0&w=200&h=200&s=37d4acf4f7775bd6b08dd47139102b6d" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section text-align-left'> <p class='name'>Kristin M.</p> <div class='rating'> <div class='rating-stars'> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='far fa-star'> <i class='fas fa-star' style='width: 33%'></i> </i> </div> </div> </div> <div class='status'> <i class='status__icon'></i> <span class='status__text'>Handy Premium Pro</span> </div> <div class='jobs-counter'> <i class='jobs-counter__icon'></i> <span class='jobs-counter__text'> 73 jobs completed </span> </div> </div> </div> <div class='cell cards__body'> Hi my name is Kristin I have been cleaning houses for about 6 months now I have never had anyone tell me I done a bad job I always do the best of my ability </div> </div> <div class='cell small-12 medium-12 large-4 cards'> <div class='media-object align-middle align-center cards__header'> <div class='media-object-section photo'> <img class="lazyload" data-src="https://handy-media.imgix.net/ddac656f-2115-41f3-8879-d9182aa27348?ixlib=rb-1.1.0&w=200&h=200&s=6817bcfbcbde38769369a757983724d5" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section text-align-left'> <p class='name'>Bryan B.</p> <div class='rating'> <div class='rating-stars'> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='far fa-star'> <i class='fas fa-star' style='width: 68%'></i> </i> </div> </div> </div> <div class='status'> <i class='status__icon'></i> <span class='status__text'>Handy Premium Pro</span> </div> <div class='jobs-counter'> <i class='jobs-counter__icon'></i> <span class='jobs-counter__text'> 201 jobs completed </span> </div> </div> </div> <div class='cell cards__body'> My Name is Bryan I've been a handyman for over 20 years my family owns many properties that I maintain, so I know my way around home improvements. I've also worked for several contractors in my lifetime from paint contractors to all around general contractors. I have many years of experience with these contractors enough to break away and start my own handyman Service. </div> </div> <div class='cell small-12 medium-12 large-4 cards'> <div class='media-object align-middle align-center cards__header'> <div class='media-object-section photo'> <img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/pro@2x-ba8c2abfdea01b0ca086ce0115c8b9497245fa5850df7bf989e04569507c24c3.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section text-align-left'> <p class='name'>Damon T.</p> <div class='rating'> <div class='rating-stars'> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='fas fa-star'></i> </div> <div class='star'> <i class='far fa-star'> <i class='fas fa-star' style='width: 53%'></i> </i> </div> </div> </div> <div class='status'> <i class='status__icon'></i> <span class='status__text'>Handy Premium Pro</span> </div> <div class='jobs-counter'> <i class='jobs-counter__icon'></i> <span class='jobs-counter__text'> 86 jobs completed </span> </div> </div> </div> <div class='cell cards__body'> What-2-Can Do is here to be a helping hand. We have many years of experience working to help others whether it be cleaning, moving, or just a simple handyman job. We can help, so please trust us to be of service to you. </div> </div> </div> </div> </div> </section> <section id='service'> <div class='grid-container'> <div class='grid-x align-center service'> <div class='cell service__title'> <h2 class='text-align-center'>Portland Vacation Rental Cleaning</h2> </div> </div> </div> </section> <section id='region-statistics'> <div class='grid-container'> <div class='grid-x align-center region-statistics'> <div class='cell small-12 text-center region-statistics__title'> <h2>Portland Statistics</h2> </div> <div class='cell grid-x grid-x grid-margin-x grid-margin-y small-12 region-statistics__cards-container'> <div class='cell grid-margin-x small-12 large-4 cards'> <div class='cell cards__counter'> 3,307 </div> <div class='cell cards__description'> Active Pros in Portland </div> </div> <div class='cell grid-margin-x small-12 large-4 cards'> <div class='cell cards__counter'> 77 </div> <div class='cell cards__description'> Portland Vacation Rental Cleaning Reviews </div> </div> <div class='cell grid-margin-x small-12 large-4 cards'> <div class='cell cards__counter'> 97% </div> <div class='cell cards__description'>Positive Reviews</div> </div> <div class='cell small-12 region-statistics__title'> <h2 class='text-align-center'>The Most Reliable Name in Home Services</h2> </div> </div> </div> </div> </section> <section id='happiness-guaranteed'> <div class='grid-container'> <div class='grid-x align-center happiness-guaranteed'> <div class='cell grid-x small-12 medium-8 align-center happiness-guaranteed__media-cards-container'> <div class='media-object align-middle stack-for-small media-card'> <div class='media-object-section media-card__logo'> <img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/pages/region/stamp-d65617ee9a86ea9aee9a17324b1a180a414056a38cf673671fa7624edfc5b083.svg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /> </div> <div class='media-object-section main-section'> <h2 class='media-card__title'>Backed by the Handy Happiness Guarantee</h2> <p class='media-card__description'>Your happiness is our goal. If you're not happy, </p><a class='media-card__link' href='/handy-guarantee'>we’ll work hard to make it right</a>. </div> </div> </div> </div> </div> </section> <section id='blog-content'> <div class='grid-container'> <div class='grid-x grid-margin-x'> <div class='cell small-12 medium-8 header'> <h1> Featured Blog Posts </h1> </div> <div class='cell medium-8'> <div class='grid-container full'> <div class='grid-x grid-margin-x'> <div class='cell medium-12 featured-post-card'> <a class="card-link" href="/blog/press/walmart-adds-handy"></a> <h2> Walmart Adds Handy to 2,000 stores with $59 Furniture Assembly and $79 TV Mounting </h2> <h4> Handy Blog Team | November 21, 2024 </h4> <img src="https://cache-landingpages-images.services.handy.com/2018/10/18/15/37/40/b5c6a860-7e02-4f76-9df8-444d2e997510/Walmart_BlogHeader.jpg" alt="Walmart blogheader" /> </div> </div> </div> </div> <div class='cell small-12 medium-4'> <div class='other-posts'> <a class="card-link" href="/blog/press/facebook-marketplace"></a> <h2> We’re Working with Facebook to Activate Local Commerce and Strengthen Communities! </h2> <h4> Handy Blog Team | November 21, 2024 </h4> </div> <div class='other-posts'> <a class="card-link" href="/blog/handylife/2018-lend-a-hand"></a> <h2> Handy Announces Successful 3rd Annual “Lend A Hand” Event </h2> <h4> Handy Blog Team | November 21, 2024 </h4> </div> <div class='other-posts'> <a class="card-link" href="/blog/tips/how-to-clean-ovens"></a> <h2> How to Clean Ovens and Oven Racks </h2> <h4> Laura Parker | January 11, 2024 </h4> </div> <div class='other-posts'> <a class="card-link" href="/blog/pros/how-to-mount-a-tv"></a> <h2> How to Wall Mount a TV: Get Your TV Mount Perfect </h2> <h4> Laura Parker | January 11, 2024 </h4> </div> </div> </div> </div> </section> <section id='handy-is-the-best'> <div class='grid-container'> <div class='grid-x align-center handy-is-the-best'> <div class='cell grid-x small-12'> <div class='cell handy-is-the-best__title'> <h2 class='text-align-center'>Book with Handy Today</h2> </div> </div> </div> </div> </section> <section id='foot'> <div class='grid-container'> <div class='grid-x align-center foot'> <div class='cell grid-x grid-margin-x medium-margin-collapse grid-margin-y small-12 foot__cards-container'> <div class='cell grid-x grid-margin-x small-12 large-12 cards'> <div class='cell cards__title'> <h3>Top Services in Portland</h3> </div> <div class='cell large-auto cards__list'> <ul> <li> <p> <a href='/services/furniture-assembly/portland'> Furniture Assembly in Portland </a> </p> </li> <li> <p> <a href='/services/other-handyman-service/portland'> Handyman Service in Portland </a> </p> </li> <li> <p> <a href='/services/hanging-pictures-shelves/portland'> Hanging Pictures & Shelves in Portland </a> </p> </li> </ul> </div> <div class='cell large-auto cards__list'> <ul> <li> <p> <a href='/services/home-cleaning/portland'> Home Cleaning in Portland </a> </p> </li> <li> <p> <a href='/services/housekeeping/portland'> Housekeeping in Portland </a> </p> </li> <li> <p> <a href='/services/painting/portland'> Interior Painting in Portland </a> </p> </li> </ul> </div> <div class='cell large-auto cards__list'> <ul> <li> <p> <a href='/services/maid-service/portland'> Maid Service in Portland </a> </p> </li> <li> <p> <a href='/services/moving-help/portland'> Moving Help in Portland </a> </p> </li> <li> <p> <a href='/services/other-plumbing/portland'> Plumbing Service in Portland </a> </p> </li> </ul> </div> <div class='cell cards__link'> <a href='/locations/portland'>More Services</a> </div> </div> </div> </div> </div> <br> </section> </main> <footer role='contentinfo'> <script class="handy-analytics" id="bright_tagjs"> window.pageData = {}; (function() { var btjs = document.createElement('script'), s = document.getElementsByTagName('script')[0]; btjs.async = true; btjs.src = '//s.btstatic.com/tag.js#site=FT5eU6D'; s.parentNode.insertBefore(btjs, s); }()); </script> <noscript> <iframe src="//s.thebrighttag.com/iframe?c=FT5eU6D" width="1" height="1" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe> </noscript> <script src="https://cache-landingpages.services.handy.com/packs/application-66bec3e81f7112b6e7b5.js"></script> <section id='crumbs'> <div class='grid-container'> <div class='grid-x align-center crumbs'> <div class='cell crumbs__content'> <ul class='breadcrumbs'> <li> <i class='fa fa-home'></i> <a href="/">Home</a> <li><a href="/services">services</a></li> <li><a href="/services/vacation-rental-cleaning">vacation-rental-cleaning</a></li> <li>portland</li> </li> </ul> </div> </div> </div> </section> <section id='footer'> <div class='grid-container'> <div class='grid-x align-center footer'> <div class='cell grid-x footer__navigation hide-for-small-only'> <nav class='cell grid-x small-5'> <ul class='menu vertical'> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='happiness_guarantee' data-mixpanel-trigger='click' href='/handy-guarantee'>The Handy Happiness Guarantee</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='about' data-mixpanel-trigger='click' href='/about'>About</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='press' data-mixpanel-trigger='click' href='/press'>Press</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='careers' data-mixpanel-trigger='click' href='/careers'>Careers</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='blog' data-mixpanel-trigger='click' href='/blog'>Blog</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='help' data-mixpanel-trigger='click' href='/help'>Help</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='help' data-mixpanel-trigger='click' href='/help'>Contact Us</a> </li> <br> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='apply' data-mixpanel-trigger='click' href='/apply?utm_source=home_footer'>Be a Professional</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='retail' data-mixpanel-trigger='click' href='/retail'>Retail Partnerships</a> </li> </ul> </nav> <nav class='cell grid-x small-4'> <ul class='menu vertical'> <li class='menu-text'>LOCATIONS</li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_boston' data-mixpanel-trigger='click' href='/services/home-cleaning/boston'>Boston</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_chicago' data-mixpanel-trigger='click' href='/services/home-cleaning/chicago'>Chicago</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_london' data-mixpanel-trigger='click' href='/services/home-cleaning/london'>London</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_los_angeles' data-mixpanel-trigger='click' href='/services/home-cleaning/los-angeles'>Los Angeles</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_new_york' data-mixpanel-trigger='click' href='/services/home-cleaning/new-york'>New York</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_san_francisco' data-mixpanel-trigger='click' href='/services/home-cleaning/san-francisco'>San Francisco</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_toronto' data-mixpanel-trigger='click' href='/services/home-cleaning/toronto'>Toronto</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations_vancouver' data-mixpanel-trigger='click' href='/services/home-cleaning/vancouver'>Vancouver</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='locations' data-mixpanel-trigger='click' href='/locations'>See all locations</a> </li> <li id='locale'> <form action="/country_select" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /> <select name="request_country" id="request_country" onchange="this.form.submit()"><option selected="selected" value="US">United States</option> <option value="CA">Canada</option> <option value="GB">United Kingdom</option></select> </form> </li> </ul> </nav> <nav class='cell grid-x small-3'> <ul class='menu vertical'> <li class='menu-text'>POPULAR SERVICES</li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='services_home_cleaning' data-mixpanel-trigger='click' href='/services/home-cleaning'>Cleaning</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='services_other_handyman_service' data-mixpanel-trigger='click' href='/services/other-handyman-service'>Handyman</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='other_plumbing' data-mixpanel-trigger='click' href='/services/other-plumbing'>Plumbing</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='services_other_electrical' data-mixpanel-trigger='click' href='/services/other-electrical'>Electrical</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='services_moving_help' data-mixpanel-trigger='click' href='/services/moving-help'>Moving Help</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='services_painting' data-mixpanel-trigger='click' href='/services/painting'>Painting</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='services_furniture_assembly' data-mixpanel-trigger='click' href='/services/furniture-assembly'>Furniture Assembly</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='services' data-mixpanel-trigger='click' href='/services'>See all services</a> </li> </ul> </nav> </div> <div class='cell grid-x footer__stores hide-for-small-only'> <a href="https://handy.app.link/app"><img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/app-store-badge-4a71a8c7f185bad9ad8653a3267dafec0a9a649da7d5764c582fec70b8dc9f45.svg" data-alt="Download from Apple Store" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /></a> <a href="https://handy.app.link/app"><img class="lazyload" data-src="https://cache-landingpages.services.handy.com/assets/play-store-badge-49e311a794277c754af75084413fbc788682c55ad83b651c681c99d6197c6bc1.svg" data-alt="Download from Google Play Market" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" /></a> </div> <div class='cell grid-x footer__social hide-for-small-only'> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='twitter' data-mixpanel-trigger='click' href='https://twitter.com/handy' target='_blank'> <i class='fab fa-twitter'></i> </a> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='facebook' data-mixpanel-trigger='click' href='https://facebook.com/handyhq' target='_blank'> <i class='fab fa-facebook'></i> </a> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='instagram' data-mixpanel-trigger='click' href='http://instagram.com/handy_hq' target='_blank'> <i class='fab fa-instagram'></i> </a> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='wikipedia' data-mixpanel-trigger='click' href='https://en.wikipedia.org/wiki/Handy_(company)' target='_blank'> <i class='fab fa-wikipedia-w'></i> </a> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='linkedin' data-mixpanel-trigger='click' href='https://www.linkedin.com/company/handyhq' target='_blank'> <i class='fab fa-linkedin'></i> </a> <a class='mixpanel fa-cb' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='crunchbase' data-mixpanel-trigger='click' href='https://crunchbase.com/organization/handybook' target='_blank'></a> </div> <div class='cell grid-x footer__interlinks'> <div class='cell grid-x headline'>Other Handy Services</div> <div class='cell grid-x medium-5'> <ul class='menu vertical'> <li> <a href="https://www.handy.com/services/cleaning-service/chicago">chicago cleaning services</a> </li> <li> <a href="https://www.handy.com/services/home-cleaning/near-me">cleaning near me</a> </li> <li> <a href="https://www.handy.com/services/office-cleaning/houston">janitorial services houston</a> </li> </ul> </div> <div class='cell grid-x medium-4'> <ul class='menu vertical'> <li> <a href="https://www.handy.com/services/cleaning-service/london">london cleaning service</a> </li> <li> <a href="https://www.handy.com/services/maid-service">maid service</a> </li> <li> <a href="https://www.handy.com/services/maid-service/near-me">maid services near me</a> </li> </ul> </div> <div class='cell grid-x medium-3'> <ul class='menu vertical'> <li> <a href="https://www.handy.com/services/one-time-cleaning">one time cleaning</a> </li> <li> <a href="https://www.handy.com/services/lawn-care-service">lawn care services</a> </li> <li> <a href="https://www.handy.com/services/lawn-mowing-service/near-me">lawn mowing service near me</a> </li> </ul> </div> </div> <div class='cell grid-x footer__lower-footer footer-term-links'> <div class='cell grid-x medium-shrink lower-menu'> <ul class='menu'> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='contact' data-mixpanel-trigger='click' href='/help'>Contact</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='privacy' data-mixpanel-trigger='click' href='/privacy'>Privacy</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='ccpa' data-mixpanel-trigger='click' href='/privacy#section5a'>CA Pre-Collection Notice</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='do_not_sell' data-mixpanel-trigger='click' href='/do_not_sell'>Do Not Sell or Share My Personal Information</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='cookies' data-mixpanel-trigger='click' href='/cookies'>Cookies</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='terms' data-mixpanel-trigger='click' href='/terms'>Terms</a> </li> <li> <a class='mixpanel' data-mixpanel-event-context='footer_refinery' data-mixpanel-event='footer_cta' data-mixpanel-source='cancellation_policy' data-mixpanel-trigger='click' href='https://help.handy.com/hc/en-us/articles/215568487-What-s-the-cancellation-policy-'>Cancellation Policy</a> </li> </ul> </div> <div class='cell grid-x medium-auto align-right copy'> <div class='lower-attribution'> <span> 2024 Handy. All rights reserved. </span> <strong> Handy powered by Angi </strong> </div> </div> </div> </div> </div> </section> <!-- BEGIN TRACERS --> <!-- handy_request_trace_id=cb0fed833bd2764590ab1958d1455053 --> <!-- handy_user_trace_id=CsoE/2dCfdgw+gAHfrUeAg== --> <!-- END TRACERS --> </footer> </div> </div> </body> </html>