{"id":108785,"date":"2024-07-19T02:00:05","date_gmt":"2024-07-19T02:00:05","guid":{"rendered":"https:\/\/www.hostfully.com\/blog\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/"},"modified":"2024-07-19T02:00:05","modified_gmt":"2024-07-19T02:00:05","slug":"hva-du-bor-inkludere-i-din-korttidsleieavtale","status":"publish","type":"blog","link":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/","title":{"rendered":"Hva du b\u00f8r inkludere i din korttidsleieavtale"},"content":{"rendered":"<p>\u00c5 ha en korttidsleieavtale p\u00e5 plass har mange fordeler. Kanskje viktigst av alt, hjelper det eiendomsforvaltere \u00e5 unng\u00e5 un\u00f8dvendige problemer og forebygge skader. Hvor avgj\u00f8rende denne korttidsleieavtalen er, kan <a href=\"https:\/\/www.hostfully.com\/blog\/the-5-steps-to-vacation-rental-listing-site-independence\/\">avhenge av plattformene du bruker<\/a> for \u00e5 leie ut eiendommene dine.  <\/p>\n<p>I denne artikkelen vil vi utforske hvorfor avtaler er viktige, hvem som trenger dem, og hva du b\u00f8r inkludere i dem. Som en bonus har vi laget en mal for korttidsleieavtale som du kan laste ned og tilpasse for \u00e5 passe dine forretningsbehov. <\/p>\n    <form\n        id=\"hf-form-1\"\n        action=\"#\"\n        method=\"post\"\n        accept-charset=\"UTF-8\"\n        class=\"hf-form-1 hf-ebook-theme default\"\n        style=\"width:100%;\"    >\n                    <p class=\"hf-pre-title\">Download it now for free:<\/p>\n        \n                    <h2 style=\"text-align: left;\">Gratis mal for ferieutleieavtale<\/h2>\n        \n                    <p class=\"hf-description\">Protecting yourself and your property is essential when running a vacation rental. Customize our template to fit your needs.<\/p>\n        \n        <div class=\"hf-loading\" style=\"display: none; margin-bottom: 1em;\">\n            <svg class=\"hf-spinner\" width=\"48\" height=\"48\" viewBox=\"0 0 50 50\">\n                <circle cx=\"25\" cy=\"25\" r=\"20\" stroke=\"#0073aa\" stroke-width=\"5\" fill=\"none\" stroke-linecap=\"round\" stroke-dasharray=\"100\" stroke-dashoffset=\"75\">\n                    <animateTransform attributeName=\"transform\" type=\"rotate\" dur=\"1s\" repeatCount=\"indefinite\" from=\"0 25 25\" to=\"360 25 25\" \/>\n                <\/circle>\n            <\/svg>\n        <\/div>\n\n                <div class=\"hf-fields\">\n            <fieldset>\n                                <div class=\"hf-field\">\n                    <label for=\"hf-form-1-first_name\">First Name <span class=\"hf-required\">*<\/span><\/label>\n                    <input type=\"text\" name=\"first_name\" id=\"hf-form-1-first_name\" placeholder=\"First Name *\" required>\n                <\/div>\n                <div class=\"hf-field\">\n                    <label for=\"hf-form-1-last_name\">Last Name <span class=\"hf-required\">*<\/span><\/label>\n                    <input type=\"text\" name=\"last_name\" id=\"hf-form-1-last_name\" placeholder=\"Last Name *\" required>\n                <\/div>\n                                <div class=\"hf-field\">\n                    <label for=\"hf-form-1-email\">Email <span class=\"hf-required\">*<\/span><\/label>\n                    <input type=\"email\" name=\"email\" id=\"hf-form-1-email\" placeholder=\"Email *\" required>\n                <\/div>\n                                            <\/fieldset>\n        <\/div>\n        \n        <input type=\"hidden\" name=\"utm_source\"   value=\"website\">\n        <input type=\"hidden\" name=\"utm_medium\"   value=\"\">\n        <input type=\"hidden\" name=\"utm_campaign\" value=\"\">\n        <input type=\"hidden\" name=\"utm_content\"  value=\"\">\n        <input type=\"hidden\" name=\"utm_keyword\"  value=\"\">\n        <input type=\"hidden\" name=\"utm_term\"     value=\"\">\n        <input type=\"hidden\" name=\"lead_source\"  value=\"\">\n        <input type=\"hidden\" name=\"website_language\" value=\"no\">\n        <input type=\"hidden\" name=\"website_interested_in\" value=\"\">\n        <input type=\"hidden\" name=\"hf_captcha_provider\" value=\"recaptcha\">\n        <input type=\"hidden\" name=\"hf_captcha_mode\" value=\"checkbox\">\n        <input type=\"hidden\" name=\"form_key\"   value=\"conversion_ai\">\n        <input type=\"hidden\" name=\"form_token\" value=\"eyJrIjoiY29udmVyc2lvbl9haSIsInRzIjoxNzc2NTMyNTg3LCJpZCI6ImhmLWZvcm0tMSIsImV4cCI6MTc3NzM5NjU4N30.a9c41c453e319ac69e16e60e5200b97a08d27836c61b4f7c8d19f325faaea127\">\n                    <input type=\"hidden\" name=\"hf_submission_target\" value=\"conversion_ai\">\n        \n\n                    <label class=\"hf-privacy-policy\">\n                <input type=\"checkbox\" name=\"privacy_policy\" required>\n                <span>I consent to receive marketing communications from Hostfully and agree to the <a href=\"\/privacy-policy\/\">Privacy Policy<\/a>.<\/span>\n            <\/label>\n        \n                            <div class=\"hf-field hf-recaptcha\">\n                                                            <div class=\"g-recaptcha\"\n                             data-sitekey=\"6Lf5iyYUAAAAAGoSPPx3go6y7pgsMvBHyiBQnx2o\"><\/div>\n                                                <\/div>\n        \n\n        <button type=\"submit\" class=\"submit-button hf-submit\">Submit<\/button>\n\n            <\/form>\n\n    <script>\n        (function () {\n            \/\/ --- Register this form id for your own form JS\n            window.hfFormIds = window.hfFormIds || [];\n            window.hfFormIds.push(\"hf-form-1\");\n\n            \/\/ --- Store per-form captcha config\n            window.hfCaptchaConfig = window.hfCaptchaConfig || {};\n            window.hfCaptchaConfig[\"hf-form-1\"] = {\n                provider: \"recaptcha\", \/\/ 'hcaptcha' | 'recaptcha' | 'off'\n                mode: \"checkbox\"          \/\/ 'checkbox' | 'invisible'\n            };\n\n            \/\/ --- Widget map (one per element)\n            window.__hfWidgets = window.__hfWidgets || new WeakMap();\n\n            \/\/ --- Utility: load external script once\n            function loadScriptOnce(src) {\n                var key = '__hfLoad__' + src;\n                if (window[key]) return;\n                window[key] = true;\n                var s = document.createElement('script');\n                s.src = src;\n                s.async = true;\n                s.defer = true;\n                document.head.appendChild(s);\n            }\n\n                        \/\/ Load Conversion.ai Forms SDK\n            loadScriptOnce('https:\/\/forms.conversion.ai\/script.js');\n            \n            \/\/ --- Detect user interests from hf_analytics cookie (set by behavior tracking)\n            window.hfDetectInterests = window.hfDetectInterests || function () {\n                try {\n                    var match = document.cookie.match(\/(?:^|;\\s*)hf_analytics=([^;]*)\/);\n                    if (!match) return '';\n                    var data = JSON.parse(decodeURIComponent(match[1]));\n                    if (!data.pages || !Array.isArray(data.pages)) return '';\n\n                    var patterns = {\n                        'Guidebooks': \/guidebook|guia|guias|guide-numerique|livrets\/i,\n                        'Devices': \/device|dispositivo|aparelho|appareil\/i,\n                        'PMS': \/property-management-software|pms|software-de-gestao|logiciel-de-gestion\/i,\n                        'Integrations': \/integration|integracion|integracao|integrations\/i,\n                        'Book a Demo': \/book.*demo|agendar.*demo|reservar.*demo|demander.*demo|solicitar.*demo|marcar.*demonstracao\/i,\n                        'Solutions': \/solution|solucao|solucion\/i,\n                        'Pricing': \/pricing|precios|preco|tarif\/i,\n                        'Resources': \/resource|recurso\/i,\n                        'Blog': \/blog\/i,\n                        'Influencers': \/influencer\/i,\n                        'Success Stories': \/success.*stor|caso.*exito|historia.*exito|caso.*sucesso|historia.*sucesso|reussite\/i,\n                        'Webinars': \/webinar\/i,\n                        'Support': \/support|soporte|suporte|apoio\/i,\n                        'Growth Tools': \/growth.*tool|ferramenta.*crescimento|herramienta.*crecimiento|outil.*croissance\/i,\n                        'Events': \/event|evento|evenement\/i,\n                        'Features': \/feature|caracteristica|funcionalidade|fonctionnalite\/i\n                    };\n\n                    var found = {};\n                    var interests = [];\n                    for (var i = 0; i < data.pages.length; i++) {\n                        var url = data.pages[i].url || '';\n                        for (var interest in patterns) {\n                            if (!found[interest] && patterns[interest].test(url)) {\n                                found[interest] = true;\n                                interests.push(interest);\n                            }\n                        }\n                    }\n                    return interests.join(', ');\n                } catch (e) {\n                    return '';\n                }\n            }\n\n            \/\/ --- hCaptcha render callback\n            window.hfHcaptchaInit = function () {\n                document.querySelectorAll('.h-captcha[data-sitekey]').forEach(function (el) {\n                    if (!window.__hfWidgets.has(el) && window.hcaptcha && hcaptcha.render) {\n                        var id = hcaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            theme:   el.getAttribute('data-theme') || 'light',\n                            size:    el.getAttribute('data-size')  || 'normal'\n                        });\n                        window.__hfWidgets.set(el, id);\n                    }\n                });\n            };\n\n            \/\/ --- reCAPTCHA render callback\n            window.hfRecaptchaInit = function () {\n                if (!window.grecaptcha || !grecaptcha.render) return;\n\n                \/\/ Explicit render for v2 CHECKBOX widgets\n                document.querySelectorAll('.g-recaptcha[data-sitekey]').forEach(function (el) {\n                    if (!window.__hfWidgets.has(el)) {\n                        var id = grecaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            theme:   el.getAttribute('data-theme') || 'light',   \/\/ optional\n                            size:    el.getAttribute('data-size')  || 'normal'   \/\/ 'normal' | 'compact'\n                        });\n                        window.__hfWidgets.set(el, id);\n                    }\n                });\n\n                \/\/ Explicit render for v2 INVISIBLE widgets\n                document.querySelectorAll('.g-recaptcha-invisible[data-sitekey]').forEach(function (el) {\n                    if (!window.__hfWidgets.has(el)) {\n                        var id = grecaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            size: 'invisible',\n                            badge: el.getAttribute('data-badge') || 'bottomleft',\n                            callback: function () {\n                                \/\/ token will be auto-set in hidden textarea\n                            }\n                        });\n                        window.__hfWidgets.set(el, id);\n                    }\n                });\n            };\n\n            \/\/ --- Ensure needed scripts load (based on DOM, supports multiple forms)\n            function ensureProviderScripts() {\n                var needsH = !!document.querySelector('.h-captcha[data-sitekey]');\n                var needsG = !!document.querySelector('.g-recaptcha[data-sitekey], .g-recaptcha-invisible[data-sitekey]');\n                if (needsH) loadScriptOnce('https:\/\/hcaptcha.com\/1\/api.js?onload=hfHcaptchaInit&render=explicit');\n                if (needsG) loadScriptOnce('https:\/\/www.google.com\/recaptcha\/api.js?onload=hfRecaptchaInit&render=explicit');\n            }\n\n            \/\/ --- Ensure needed scripts load (based on DOM, supports multiple forms)\n            function ensureProviderScripts() {\n                var needsH = !!document.querySelector('.h-captcha[data-sitekey]');\n                var needsG = !!document.querySelector('.g-recaptcha[data-sitekey], .g-recaptcha-invisible[data-sitekey]');\n                if (needsH) loadScriptOnce('https:\/\/hcaptcha.com\/1\/api.js?onload=hfHcaptchaInit&render=explicit');\n                if (needsG) loadScriptOnce('https:\/\/www.google.com\/recaptcha\/api.js?onload=hfRecaptchaInit&render=explicit');\n            }\n\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', ensureProviderScripts);\n            } else {\n                ensureProviderScripts();\n            }\n\n            \/\/ --- Reset captcha tokens on page load (fixes WP Rocket cache issue) ---\n            window.addEventListener('load', function() {\n                \/\/ Reset reCAPTCHA widgets\n                if (typeof grecaptcha !== 'undefined' && grecaptcha.reset) {\n                    \/\/ Reset checkbox reCAPTCHA\n                    document.querySelectorAll('.g-recaptcha[data-sitekey]').forEach(function (el) {\n                        var widgetId = window.__hfWidgets && window.__hfWidgets.get(el);\n                        if (typeof widgetId !== 'undefined') {\n                            try {\n                                grecaptcha.reset(widgetId);\n                            } catch (e) {\n                                console.warn('Failed to reset reCAPTCHA checkbox:', e);\n                            }\n                        }\n                    });\n\n                    \/\/ Reset invisible reCAPTCHA\n                    document.querySelectorAll('.g-recaptcha-invisible[data-sitekey]').forEach(function (el) {\n                        var widgetId = window.__hfWidgets && window.__hfWidgets.get(el);\n                        if (typeof widgetId !== 'undefined') {\n                            try {\n                                grecaptcha.reset(widgetId);\n                            } catch (e) {\n                                console.warn('Failed to reset reCAPTCHA invisible:', e);\n                            }\n                        }\n                    });\n                }\n\n                \/\/ Reset hCaptcha widgets\n                if (typeof hcaptcha !== 'undefined' && hcaptcha.reset) {\n                    document.querySelectorAll('.h-captcha[data-sitekey]').forEach(function (el) {\n                        var widgetId = window.__hfWidgets && window.__hfWidgets.get(el);\n                        if (typeof widgetId !== 'undefined') {\n                            try {\n                                hcaptcha.reset(widgetId);\n                            } catch (e) {\n                                console.warn('Failed to reset hCaptcha:', e);\n                            }\n                        }\n                    });\n                }\n            });\n        })();\n    <\/script>\n\n\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            const form = document.getElementById('hf-form-1');\n            if (!form) return;\n\n            const loader       = form.querySelector('.hf-loading');\n            const fields       = form.querySelector('.hf-fields');\n            const submitButton = form.querySelector('button[type=\"submit\"].hf-submit');\n            const privacy      = form.querySelector('.hf-privacy-policy');\n            const footerNote   = form.querySelector('.hf-footer-note');\n\n            \/\/ Read provider\/mode from hidden inputs (per form)\n            const provider = (form.querySelector('input[name=\"hf_captcha_provider\"]')?.value || 'off');     \/\/ 'hcaptcha' | 'recaptcha' | 'off'\n            const mode     = (form.querySelector('input[name=\"hf_captcha_mode\"]')?.value || 'checkbox');    \/\/ 'checkbox' | 'invisible'\n\n            function showError(msg) {\n                if (!fields) return;\n                \/\/ remove old errors\n                fields.querySelectorAll('.hf-error,[data-hf-error]').forEach(el => el.remove());\n\n                const p = document.createElement('p');\n                p.className = 'hf-error';\n                p.setAttribute('data-hf-error', '1'); \/\/ fallback if class gets stripped\n                p.textContent = msg;\n                fields.appendChild(p);\n            }\n\n            function setLoading(state) {\n                if (loader) loader.style.display = state ? 'block' : 'none';\n                if (submitButton) {\n                    submitButton.disabled = !!state;\n                    submitButton.classList.toggle('loading', !!state);\n                }\n            }\n\n            function submitWith(formData) {\n                \/\/ Let backend know which provider\/mode were used (for logging\/analytics)\n                formData.append('hcaptcha_mode', mode);\n                formData.append('hf_captcha_provider', provider);\n                formData.append('hf_captcha_mode', mode);\n\n                setLoading(true);\n                fetch('https:\/\/www.hostfully.com\/wp-admin\/admin-ajax.php', { method:'POST', body: formData })\n                    .then(r => r.json())\n                    .then(response => {\n                        setLoading(false);\n\n                        if (response.success) {\n                            const customMsg = formData.get('success_message') || 'Thanks! We\u2019ve received your submission.';\n                            if (fields) fields.innerHTML = '<div class=\"hf-success\">' + customMsg + '<\/div>';\n                            if (submitButton) submitButton.style.display = 'none';\n                            if (privacy) privacy.style.display = 'none';\n                            if (footerNote) footerNote.style.display = 'none';\n\n                            \n                                                        \/\/ Conversion.ai integration\n                            if (window.ConversionFormsV1) {\n                                var caiFields = {\"email\":\"e88eae4c-bb70-475d-b515-e7af6733f7d6\",\"first_name\":\"7df4d311-4bc8-4cd9-b334-2016bd132dd6\",\"last_name\":\"7145e5d0-0c47-4f6c-b423-0a9ec509d2ad\"};\n                                var caiPayload = {};\n                                for (var fieldName in caiFields) {\n                                    var val = formData.get(fieldName);\n                                    if (val !== null) caiPayload[caiFields[fieldName]] = val;\n                                }\n                                                                                                var caiStatic = {\"b24e0ba6-aacc-4090-b3a3-1e9b4c9afc6c\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Short-Term-Rental-Agreement-Template-Hostfully.pdf\",\"e41d3e03-99ca-464c-b382-373cab475047\":\"Free Vacation Rental Agreement Template\",\"17b38450-0d9b-4a1c-b4e4-dc1cc801b4d3\":\"Free Vacation Rental Agreement Template\"};\n                                for (var uuid in caiStatic) {\n                                    caiPayload[uuid] = caiStatic[uuid];\n                                }\n                                                                window.ConversionFormsV1.submit(\n                                    \"4695d0e6-39f9-4f58-bbc6-99bb6bd62150\",\n                                    caiPayload\n                                ).then(function(ok) {\n                                    console.log('[HF Form] Conversion.ai submit:', ok);\n                                }).catch(function(err) {\n                                    console.warn('[HF Form] Conversion.ai error:', err);\n                                });\n                            } else {\n                                console.warn('[HF Form] ConversionFormsV1 SDK not loaded');\n                            }\n                            \n                        } else {\n                            console.warn('Salesforce error', response.data);\n                            const errMsg = (response.data && response.data.message) ? response.data.message : 'Something went wrong. Please try again later.';\n                            fields?.insertAdjacentHTML('beforeend','<p class=\"hf-error\">' + errMsg + '<\/p>');\n                        }\n                    })\n                    .catch(() => {\n                        setLoading(false);\n                        fields?.querySelectorAll('.hf-error').forEach(el => el.remove());\n                        fields?.insertAdjacentHTML('beforeend','<p class=\"hf-error\">There was a problem with your submission.<\/p>');\n                    });\n            }\n\n            function tokenPresent(name) {\n                return (form.querySelector('textarea[name=\"'+name+'\"]')?.value || '').trim().length > 0;\n            }\n\n            \/\/ Helper to wait for reCAPTCHA v2 invisible response\n            function waitForRecaptchaResponse(widgetId, timeoutMs, intervalMs) {\n                return new Promise(function (resolve, reject) {\n                    var waited = 0;\n                    function check() {\n                        try {\n                            var resp = grecaptcha.getResponse(widgetId);\n                            if (resp && resp.length > 0) return resolve(resp);\n                        } catch (e) { \/* ignore *\/ }\n                        waited += intervalMs;\n                        if (waited >= timeoutMs) return reject(new Error('recaptcha_timeout'));\n                        setTimeout(check, intervalMs);\n                    }\n                    check();\n                });\n            }\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                \/\/ Clear previous errors (optional)\n                fields?.querySelectorAll('.hf-error').forEach(el => el.remove());\n\n                \/\/ Populate interest detection from behavior cookie\n                var interestsField = form.querySelector('input[name=\"website_interested_in\"]');\n                if (interestsField && window.hfDetectInterests) interestsField.value = window.hfDetectInterests();\n\n                const formData = new FormData(form);\n                formData.append('action', 'hf_submit_form');\n                \/\/formData.append('form_action', 'http:\/\/conversion_ai');\n                formData.append('form_title', 'Gratis mal for ferieutleieavtale');\n                formData.append('email_template', '');\n                formData.append('email_subject', '');\n                formData.append('email_body', '');\n                formData.append('email_pdf', '');\n                formData.append('send_email', 'false');\n                formData.append('force_email', 'false');\n                formData.append('success_message', \"Success! Your ebook is on its way. Check your inbox for the download link. Enjoy the read!\");\n                formData.append('ebook_name', '');\n\n                \/\/ --- Captcha OFF ---\n                if (provider === 'off') {\n                    submitWith(formData);\n                    return;\n                }\n\n                \/\/ --- Checkbox flows: token must already be present ---\n                if (mode === 'checkbox') {\n                    if (provider === 'hcaptcha') {\n                        if (!tokenPresent('h-captcha-response')) {\n                            showError('Please complete the captcha.');\n                            return;\n                        }\n                        submitWith(formData);\n                        return;\n                    }\n                    if (provider === 'recaptcha') {\n                        if (!tokenPresent('g-recaptcha-response')) {\n                            showError('Please complete the captcha.');\n                            return;\n                        }\n                        submitWith(formData);\n                        return;\n                    }\n                }\n\n                \/\/ --- Invisible flows: execute programmatically, then submit ---\n                if (mode === 'invisible') {\n                    \/\/ hCaptcha invisible\n                    if (provider === 'hcaptcha') {\n                        const el = form.querySelector('.h-captcha[data-sitekey]');\n                        if (!el || typeof hcaptcha === 'undefined') {\n                            showError('Captcha is not ready. Please refresh and try again.');\n                            return;\n                        }\n                        const widgetId = (window.__hfWidgets && window.__hfWidgets.get(el)) || hcaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            size: 'invisible'\n                        });\n                        setLoading(true);\n                        hcaptcha.execute(widgetId).then(function () {\n                            if (!tokenPresent('h-captcha-response')) {\n                                setLoading(false);\n                                showError('Captcha could not be validated. Please try again.');\n                                return;\n                            }\n                            \/\/ Manually append the hCaptcha token to FormData\n                            const token = hcaptcha.getResponse(widgetId);\n                            if (token) formData.append('h-captcha-response', token);\n                            submitWith(formData);\n                        }).catch(function () {\n                            setLoading(false);\n                            showError('Captcha error. Please try again.');\n                        });\n                        return;\n                    }\n\n                    \/\/ reCAPTCHA v2 invisible\n                    if (provider === 'recaptcha') {\n                        const el = form.querySelector('.g-recaptcha-invisible[data-sitekey]');\n                        if (!el || typeof grecaptcha === 'undefined') {\n                            showError('Captcha is not ready. Please refresh and try again.');\n                            return;\n                        }\n\n                        \/\/ Render if needed, with a callback as a safety net\n                        let widgetId = (window.__hfWidgets && window.__hfWidgets.get(el));\n                        if (typeof widgetId === 'undefined') {\n                            widgetId = grecaptcha.render(el, {\n                                sitekey: el.getAttribute('data-sitekey'),\n                                size: 'invisible',\n                                callback: function () {\n                                    \/\/ Google will also set the textarea; we still wait below to be safe.\n                                }\n                            });\n                            window.__hfWidgets && window.__hfWidgets.set(el, widgetId);\n                        }\n\n                        setLoading(true);\n                        try {\n                            grecaptcha.execute(widgetId);\n                        } catch (err) {\n                            setLoading(false);\n                            showError('Captcha error. Please try again.');\n                            return;\n                        }\n\n                        \/\/ Wait until token appears or timeout\n                        waitForRecaptchaResponse(widgetId, 10000, 100).then(function () {\n                            \/\/ Double-check token presence\n                            if (!tokenPresent('g-recaptcha-response')) {\n                                setLoading(false);\n                                showError('Captcha could not be validated. Please try again.');\n                                return;\n                            }\n                            \/\/ Manually append the reCAPTCHA token to FormData\n                            const token = grecaptcha.getResponse(widgetId);\n                            if (token) formData.append('g-recaptcha-response', token);\n                            submitWith(formData);\n                        }).catch(function () {\n                            setLoading(false);\n                            showError('Captcha timed out. Please try again.');\n                        });\n                        return;\n                    }\n                }\n\n                \/\/ Fallback\n                submitWith(formData);\n            });\n\n        });\n    <\/script>\n\n\n\n    \n<h2><strong>Hva er form\u00e5let med en <\/strong><strong>korttidsleieavtale<\/strong><strong>?<\/strong><\/h2>\n<p>En korttidsleieavtale bidrar til \u00e5 sikre at en leietaker vil forlate eiendommen din i samme stand som den ble funnet. Den nedtegner ogs\u00e5 alle viktige detaljer skriftlig, slik at det ikke oppst\u00e5r forvirring om hva som tilbys fra din side, og hva som forventes av leietakeren. N\u00e5r den er signert, blir den en juridisk forpliktelse for b\u00e5de deg og gjesten din \u00e5 overholde din ferieutleieavtale. De fleste leieavtaler utenfor bookingsidene som Airbnb eller Vrbo er skrevet p\u00e5 en m\u00e5te som favoriserer eiendomseierne.   <\/p>\n<p>Merk at korttidsleieavtaler er sv\u00e6rt forskjellige fra en tradisjonell eiendomsleieavtale. Korttidsleietakere har vanligvis f\u00e6rre beskyttelser enn langtidsleietakere. Det er ogs\u00e5 f\u00e5 (eller ingen i det hele tatt) utleier- og leietakerforpliktelser som i en langtidsleie. Det betyr at du kan fylle avtalene dine med mange flere betingelser som favoriserer deg (uavhengig av om du er forvalter eller eiendomseier).   <\/p>\n<h2><strong>Trenger du i det hele tatt en <\/strong><strong>korttidsleieavtale<\/strong><strong>?<\/strong><\/h2>\n<p>Hvis du leier ut eiendommen din gjennom nettsteder som Airbnb, Vrbo eller <a href=\"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#elementor-toc__heading-anchor-0\">Booking.com<\/a>, s\u00e5 er svaret enkelt: nei, du trenger ikke en korttidsleieavtale. Hvorfor? Disse OTA-ene har sine egne avtaler, skrevet inn i deres vilk\u00e5r og betingelser. Imidlertid har disse korte leieavtalene en tendens til \u00e5 v\u00e6re utrolig brede og dekker ikke viktige spesifikke forhold knyttet til eiendommen din.   <\/p>\n<p>Du m\u00e5 ogs\u00e5 huske at korttidsleieavtalene som finnes p\u00e5 disse nettstedene, ble skrevet i plattformens beste interesse \u2013 ikke n\u00f8dvendigvis eiendomseiernes eller din, forvalterens. S\u00e5 noen finere punkter er kanskje ikke dekket, eller kan svinge i fav\u00f8r av en gjest. Tross alt er m\u00e5let med disse bookingsidene \u00e5 f\u00e5 gjentatte gjester, ikke n\u00f8dvendigvis \u00e5 beskytte eiendomsforvaltere eller eiere.  <\/p>\n<p>Hvis du er vert for gjester utenfor en tredjepartsplattform, for eksempel via et direkte bookingside, er en form for <a href=\"https:\/\/www.hostfully.com\/no\/eiendomsforvaltningsprogramvare\/funksjoner\/digitale-leieavtaler-digitale-signaturer\/\">ferieutleieavtale<\/a> n\u00f8dvendig for \u00e5 sikre deg i tilfelle noe g\u00e5r galt.<\/p>\n<h2><strong>Hva du b\u00f8r inkludere i en <\/strong><strong>ferieutleieavtale<\/strong><\/h2>\n<p>Uansett hvilken plattform du bruker, er det aldri en d\u00e5rlig id\u00e9 \u00e5 be gjestene signere det som i bunn og grunn er en korttidsleieavtale. Avtalen sikrer at leietakerne faktisk har lest dine betingelser for oppholdet og reduserer risikoen for en potensiell uenighet eller misforst\u00e5else. Den fungerer som et juridisk bindende dokument og holder begge parter ansvarlige for vilk\u00e5rene i ferieutleieavtalen. Den viser ogs\u00e5 ditt engasjement som eiendomsvert for rettferdighet og profesjonalitet.   <\/p>\n<p>S\u00e5 hva b\u00f8r du inkludere i din korttidsleieavtale? Den kritiske informasjonen som b\u00f8r inkluderes, kan deles inn i fem kategorier: <\/p>\n<ul>\n<li aria-level=\"1\">Kontaktinformasjon og grunnleggende<\/li>\n<li aria-level=\"1\"><a href=\"https:\/\/www.hostfully.com\/no\/blogg\/airbnb-husregler-alle-utleieannonser-bor-ha-gratis-mal\/\">Husregler<\/a><\/li>\n<li aria-level=\"1\">Eiendomsbeskrivelse, forventninger og logistikk<\/li>\n<li aria-level=\"1\">Retningslinjer for depositum og avbestillingsregler<\/li>\n<li aria-level=\"1\">Digitale signaturer<\/li>\n<\/ul>\n<h3><strong>Kontaktinformasjon<\/strong><strong> og grunnleggende<\/strong><\/h3>\n<p>Det f\u00f8rste du b\u00f8r ha i en korttidsleieavtale er all informasjon om begge leieparter, selve oppholdet og eiendommen. S\u00f8rg for \u00e5 inkludere: <\/p>\n<ul>\n<li aria-level=\"1\">Fullt navn, adresser og kontaktinformasjon (e-post og telefonnumre) til b\u00e5de eiendomsvert og gjest.<\/li>\n<li aria-level=\"1\">Ankomst- og avreisedato for oppholdet (noen ganger kalt leieperioden)<\/li>\n<li aria-level=\"1\">Innsjekkings- og utsjekkingstider og <a href=\"https:\/\/www.hostfully.com\/blog\/airbnb-check-in-process\/\">om gjestene kan sjekke inn selv<\/a><\/li>\n<li aria-level=\"1\">Daglig, ukentlig eller m\u00e5nedlig leiepris, betalingsbetingelser og betalingsm\u00e5ter<\/li>\n<li aria-level=\"1\">Grunnleggende statistikk om eiendommen, som antall senger eller soverom, og maksimalt antall beboere<\/li>\n<li aria-level=\"1\">Om gjesten <a href=\"https:\/\/www.hostfully.com\/blog\/best-vacation-rental-cleaning-practices\/\">vil bli belastet et rengj\u00f8ringsgebyr<\/a>, og n\u00e5r dette gebyret belastes.<\/li>\n<li aria-level=\"1\">Du b\u00f8r ogs\u00e5 <a href=\"https:\/\/www.hostfully.com\/blog\/cancellation-policy-for-vacation-rentals\/\">inkludere avbestillingsregler<\/a> slik at leietakerne er klar over dette p\u00e5 forh\u00e5nd, dersom de skulle avbestille.<\/li>\n<\/ul>\n<p>Denne delen av en leieavtale gir deg ogs\u00e5 muligheten til \u00e5 kommunisere andre gebyrbaserte tjenester du m\u00e5tte ha. Dette inkluderer ting som sykkelutleie, turer, flyplasshenting eller andre tjenester du tilbyr mot et gebyr. S\u00f8rg ogs\u00e5 for \u00e5 inkludere gebyrsatsen for kj\u00e6ledyr eller <a href=\"https:\/\/www.hostfully.com\/no\/blogg\/hva-er-ekstra-gjester-pa-airbnb-og-hvorfor-er-de-viktige\/\">ekstra gjester<\/a>, hvis du har det.  <\/p>\n<h3><strong>Husregler<\/strong><\/h3>\n<p>Ingen ferieutleieavtale ville v\u00e6rt komplett uten <a href=\"https:\/\/www.hostfully.com\/blog\/airbnb-house-rules\/\">noen grunnleggende husregler<\/a>. Husregler er basert p\u00e5 dine preferanser som vert eller forvalter. Noen punkter \u00e5 vurdere \u00e5 inkludere er:  <\/p>\n<ul>\n<li aria-level=\"1\">Dine festregler (og r\u00f8ykerestriksjoner!)<\/li>\n<li aria-level=\"1\">Maksimalt antall tillatte gjester og eventuelle passende (eller upassende!) selskaper, inkludert barn<\/li>\n<li aria-level=\"1\">Hvis eiendommen har stille timer, er det fint \u00e5 inkludere disse i reglene dine ogs\u00e5<\/li>\n<li aria-level=\"1\">Regler for bruk av fasiliteter (inkludert sv\u00f8mmebasseng, boblebad eller b\u00e5tbruk)<\/li>\n<li aria-level=\"1\">Det er alltid en god id\u00e9 \u00e5 nevne at ingen ulovlige aktiviteter er tillatt, selv om det f\u00f8les som \u00e5 si det \u00e5penbare<\/li>\n<li aria-level=\"1\">Du kan ogs\u00e5 gjenta tidligere omtalte emner, som avbestillingsregler og <a href=\"https:\/\/www.hostfully.com\/blog\/pet-friendly-vacation-rental\/\">kj\u00e6ledyrgebyrer<\/a> (eller mangel p\u00e5 s\u00e5danne)<\/li>\n<li aria-level=\"1\">Ytterligere\/potensielle gebyrer gjestene dine b\u00f8r v\u00e6re klar over<\/li>\n<li aria-level=\"1\">Gjeldende lokale regler, statlige lover og kommunale vedtekter og forskrifter. <em>Merk: Brudd p\u00e5 noen av disse reglene kan <\/em><em>f\u00f8re<\/em><em> til utkastelse fra <\/em><em>ferieboligen<\/em><em> hvis politiet kommer p\u00e5 bes\u00f8k. Det er derfor viktig \u00e5 minne gjesten p\u00e5 at hvis det skjer, er selskapet ditt ikke ansvarlig for \u00e5 skaffe alternativ innkvartering.<\/em><\/li>\n<li aria-level=\"1\">Selv om det er usannsynlig at noen vil fremleie en feriebolig, \u00f8nsker du likevel \u00e5 redusere din eksponering for tvilsomme leieforhold, spesielt i lengre leieperioder.<\/li>\n<\/ul>\n<h3><strong>Ferieutleie<\/strong><strong>beskrivelse og logistikk<\/strong><\/h3>\n<p>Din korttidsleieavtale b\u00f8r ogs\u00e5 inneholde eiendomsinformasjon som er nyttig for gjestene under oppholdet. Noen eksempler kan v\u00e6re: <\/p>\n<ul>\n<li aria-level=\"1\">Spesifikke veibeskrivelser til eiendommen<\/li>\n<li aria-level=\"1\">Hvor n\u00f8klene finnes eller hvordan man kommer inn i bygningen (PIN-kode, etc.)<\/li>\n<li aria-level=\"1\">All informasjon om parkering<\/li>\n<li aria-level=\"1\">Spesifikke forventninger til hvordan eiendommen skal forlates (for eksempel skittent senget\u00f8y liggende p\u00e5 baderomsgulvet eller oppvask i oppvaskmaskinen)<\/li>\n<li aria-level=\"1\">Informasjon om eventuelle rengj\u00f8rere som kan komme innom eller forventede skift av senget\u00f8y<\/li>\n<li aria-level=\"1\">Til slutt, et annet punkt \u00e5 inkludere er dine rettigheter som eiendomsvert, for eksempel retten til \u00e5 komme inn i eiendommen under en gjests opphold i tilfelle n\u00f8dvendig vedlikehold eller en n\u00f8dsituasjon. Spesifiser imidlertid tidsperioden du kan trenge tilgang til eiendommen. <\/li>\n<\/ul>\n<p>Du kjenner din utleieeiendom best! S\u00e5 tenk p\u00e5 hva gjestene trenger \u00e5 vite for \u00e5 komme seg til rette s\u00e5 enkelt og problemfritt som mulig \u2013 noe som ogs\u00e5 vil hjelpe deg \u00e5 gi leietakerne en bedre gjesteopplevelse. <\/p>\n<h3><strong>Retningslinjer for <\/strong><strong>depositum<\/strong><\/h3>\n<p>Det er ogs\u00e5 viktig \u00e5 inkludere retningslinjer for depositum og eventuelle avbestillingsregler med f\u00f8lgende:<\/p>\n<ul>\n<li aria-level=\"1\">Hvis det er et <a href=\"https:\/\/www.hostfully.com\/no\/blogg\/sikkerhetsdepositum-for-ferieboliger-alt-du-trenger-a-vite\/\">depositum<\/a>, b\u00f8r du inkludere bel\u00f8pet samt dine betingelser for tilbakebetaling. De fleste avtaler har en dedikert seksjon for dette. Det er viktig \u00e5 fremheve at reservasjonen kun vil v\u00e6re gyldig n\u00e5r du har mottatt depositumet i sin helhet. Du m\u00e5 ogs\u00e5 spesifisere bel\u00f8pet som kreves for depositumet, og fristen for n\u00e5r det forventes. Generelt lister de fleste verter eller forvaltere opp en eller to betalingsdetaljmetoder.    <\/li>\n<li aria-level=\"1\">Du m\u00e5 ogs\u00e5 forklare hva depositumet dekker, at det dekker en spesifikk leieperiode, og betingelser under hvilke ditt ferieutleieselskap vil holde tilbake depositumet i tilfelle skader. Denne seksjonen avsluttes vanligvis med en setning eller to om n\u00e5r depositumet vil bli returnert (vanligvis 2-3 virkedager etter at leieperioden er avsluttet). <\/li>\n<\/ul>\n<h3><strong>Digitale signaturer<\/strong><\/h3>\n<p>Til slutt b\u00f8r din korttidsleieavtale ogs\u00e5 v\u00e6re en kort leieavtale, noe som betyr at du \u00f8nsker \u00e5 dekke alle n\u00f8dvendige punkter, men ogs\u00e5 gj\u00f8re den kort nok til at noen som \u00f8nsker \u00e5 starte ferien faktisk vil lese den. Begge parter b\u00f8r ogs\u00e5 signere avtalen for \u00e5 gj\u00f8re den juridisk bindende. <\/p>\n<p>Du kan bruke en nettjeneste slik at gjestene dine kan e-signere avtalen f\u00f8r ankomst, noe som gir mange forvaltere trygghet. Du kan ogs\u00e5 kreve at leietakerne signerer personlig ved ankomst. Uansett hvordan du gj\u00f8r det, b\u00f8r dette trinnet ikke hoppes over!  <\/p>\n<h2><strong>Ytterligere hensyn<\/strong><\/h2>\n<p>Her er noen andre faktorer \u00e5 vurdere n\u00e5r du utarbeider en ferieutleieavtale:<\/p>\n<ul>\n<li aria-level=\"1\">Lokale og statlige lover<\/li>\n<li aria-level=\"1\">En solid reserveplan<\/li>\n<li aria-level=\"1\">Fordeler med ferieutleieavtale<\/li>\n<li aria-level=\"1\">Due diligence<\/li>\n<li aria-level=\"1\">Hvordan begynne<\/li>\n<\/ul>\n<h3><strong>Lokale og <\/strong><strong>statlige lover<\/strong><\/h3>\n<p>Det er viktig \u00e5 s\u00f8rge for at din korttidsleieavtale er i samsvar med lokale eiendomslover samt statlige lover. Generelt sett \u00f8nsker du \u00e5 s\u00f8rge for at du forst\u00e5r gjeldende lover og eventuelle implikasjoner de kan ha for deg. M\u00f8t med en advokat for \u00e5 f\u00e5 en forst\u00e5else av lokale eiendomslover og for \u00e5 gjennomg\u00e5 leieavtalen din.  <\/p>\n<h3><strong>En solid reserveplan<\/strong><\/h3>\n<p>Selv om en signert korttidsleieavtale holder begge parter juridisk ansvarlige for \u00e5 f\u00f8lge vilk\u00e5rene i avtalen, er det aldri en garanti for at ingenting d\u00e5rlig vil skje. Derfor b\u00f8r du ogs\u00e5 vurdere <a href=\"https:\/\/www.hostfully.com\/blog\/vacation-rental-insurance\/\">ferieutleieforsikring for eiendommen din<\/a>. Faktisk vil du sannsynligvis bli p\u00e5lagt \u00e5 ha ansvarsforsikring, men du kan vurdere dine forsikringsalternativer ytterligere for \u00e5 dekke skadet eller stj\u00e5let eiendom.  <\/p>\n<h3><strong>Fordeler med <\/strong><strong>ferieutleieavtale<\/strong><\/h3>\n<p>\u00c5 ha en korttidsleieavtale mellom deg og dine midlertidige leietakere gagner ikke bare deg. Den beskytter ogs\u00e5 gjestene dine. \u00c5 signere en korttidsleieavtale vil gi dem trygghet om at verten deres ikke vil pr\u00f8ve \u00e5 gj\u00f8re noe tvilsomt, som \u00e5 legge til ekstra gebyrer. I hovedsak forbedrer det gjesteopplevelsen.   <\/p>\n<h3><strong>Due diligence<\/strong><\/h3>\n<p>Som en del av din due diligence for eiendomsforvaltning, b\u00f8r du lese gjennom vilk\u00e5rene og betingelsene for tredjeparts bookingsidene du bruker for \u00e5 se hvor tilstrekkelige de er for dine behov.<\/p>\n<h3><strong>Hvordan begynne<\/strong><\/h3>\n<p>Hvor skal man starte?! Du kan begynne med \u00e5 skrive ned din egen korttidsleieavtale ved \u00e5 f\u00f8lge retningslinjene ovenfor, eller laste ned en mal. Ta deretter med din forel\u00f8pige mal til en advokat for endelig gjennomgang. Hvis deler av arbeidet ble gjort p\u00e5 forh\u00e5nd, er advokatens honorarer kanskje ikke s\u00e5 dyre som du skulle tro.   <\/p>\n<h2><strong>Konklusjon<\/strong><\/h2>\n<p>Du har kanskje lagt merke til at mye av informasjonen nevnt ovenfor allerede er tilgjengelig p\u00e5 nettsteder som Vrbo og Airbnb. Som tidligere nevnt, for gjester som bestiller via disse nettstedene, er det ikke n\u00f8dvendig \u00e5 inkludere en ytterligere ferieutleieavtale, men det skader aldri \u00e5 gi leietakerne informasjonen igjen. <\/p>\n<p>I tilfelle leietakere <a href=\"\/direct-booking-sites\">bestiller direkte gjennom deg<\/a>, b\u00f8r all denne informasjonen absolutt inkluderes i kontrakten. Igjen, hver utleieeiendom er forskjellig, og formelen er ikke en universall\u00f8sning. Tenk over andre retningslinjer eller vilk\u00e5r du \u00f8nsker at gjestene dine skal godta.  <\/p>\n<p>Til syvende og sist kjenner du eiendommene dine bedre enn noen andre. S\u00e5 n\u00e5r det gjelder din korttidsleieavtale, avhenger n\u00e5r, hvorfor, hvordan og hva den inkluderer, alt av hva du trenger for \u00e5 v\u00e6re en vellykket eiendomsvert. <\/p>\n    <form\n        id=\"hf-form-2\"\n        action=\"#\"\n        method=\"post\"\n        accept-charset=\"UTF-8\"\n        class=\"hf-form-2 hf-ebook-theme default\"\n        style=\"width:100%;\"    >\n                    <p class=\"hf-pre-title\">Download it now for free:<\/p>\n        \n                    <h2 style=\"text-align: left;\">Gratis mal for ferieutleieavtale<\/h2>\n        \n                    <p class=\"hf-description\">Protecting yourself and your property is essential when running a vacation rental. Customize our template to fit your needs.<\/p>\n        \n        <div class=\"hf-loading\" style=\"display: none; margin-bottom: 1em;\">\n            <svg class=\"hf-spinner\" width=\"48\" height=\"48\" viewBox=\"0 0 50 50\">\n                <circle cx=\"25\" cy=\"25\" r=\"20\" stroke=\"#0073aa\" stroke-width=\"5\" fill=\"none\" stroke-linecap=\"round\" stroke-dasharray=\"100\" stroke-dashoffset=\"75\">\n                    <animateTransform attributeName=\"transform\" type=\"rotate\" dur=\"1s\" repeatCount=\"indefinite\" from=\"0 25 25\" to=\"360 25 25\" \/>\n                <\/circle>\n            <\/svg>\n        <\/div>\n\n                <div class=\"hf-fields\">\n            <fieldset>\n                                <div class=\"hf-field\">\n                    <label for=\"hf-form-2-first_name\">First Name <span class=\"hf-required\">*<\/span><\/label>\n                    <input type=\"text\" name=\"first_name\" id=\"hf-form-2-first_name\" placeholder=\"First Name *\" required>\n                <\/div>\n                <div class=\"hf-field\">\n                    <label for=\"hf-form-2-last_name\">Last Name <span class=\"hf-required\">*<\/span><\/label>\n                    <input type=\"text\" name=\"last_name\" id=\"hf-form-2-last_name\" placeholder=\"Last Name *\" required>\n                <\/div>\n                                <div class=\"hf-field\">\n                    <label for=\"hf-form-2-email\">Email <span class=\"hf-required\">*<\/span><\/label>\n                    <input type=\"email\" name=\"email\" id=\"hf-form-2-email\" placeholder=\"Email *\" required>\n                <\/div>\n                                            <\/fieldset>\n        <\/div>\n        \n        <input type=\"hidden\" name=\"utm_source\"   value=\"website\">\n        <input type=\"hidden\" name=\"utm_medium\"   value=\"\">\n        <input type=\"hidden\" name=\"utm_campaign\" value=\"\">\n        <input type=\"hidden\" name=\"utm_content\"  value=\"\">\n        <input type=\"hidden\" name=\"utm_keyword\"  value=\"\">\n        <input type=\"hidden\" name=\"utm_term\"     value=\"\">\n        <input type=\"hidden\" name=\"lead_source\"  value=\"\">\n        <input type=\"hidden\" name=\"website_language\" value=\"no\">\n        <input type=\"hidden\" name=\"website_interested_in\" value=\"\">\n        <input type=\"hidden\" name=\"hf_captcha_provider\" value=\"recaptcha\">\n        <input type=\"hidden\" name=\"hf_captcha_mode\" value=\"checkbox\">\n        <input type=\"hidden\" name=\"form_key\"   value=\"conversion_ai\">\n        <input type=\"hidden\" name=\"form_token\" value=\"eyJrIjoiY29udmVyc2lvbl9haSIsInRzIjoxNzc2NTMyNTg3LCJpZCI6ImhmLWZvcm0tMiIsImV4cCI6MTc3NzM5NjU4N30.14697baf155254b52b54ac1d6c31033260c143fe8bbe7a8a710fad1e878b8d87\">\n                    <input type=\"hidden\" name=\"hf_submission_target\" value=\"conversion_ai\">\n        \n\n                    <label class=\"hf-privacy-policy\">\n                <input type=\"checkbox\" name=\"privacy_policy\" required>\n                <span>I consent to receive marketing communications from Hostfully and agree to the <a href=\"\/privacy-policy\/\">Privacy Policy<\/a>.<\/span>\n            <\/label>\n        \n                            <div class=\"hf-field hf-recaptcha\">\n                                                            <div class=\"g-recaptcha\"\n                             data-sitekey=\"6Lf5iyYUAAAAAGoSPPx3go6y7pgsMvBHyiBQnx2o\"><\/div>\n                                                <\/div>\n        \n\n        <button type=\"submit\" class=\"submit-button hf-submit\">Submit<\/button>\n\n            <\/form>\n\n    <script>\n        (function () {\n            \/\/ --- Register this form id for your own form JS\n            window.hfFormIds = window.hfFormIds || [];\n            window.hfFormIds.push(\"hf-form-2\");\n\n            \/\/ --- Store per-form captcha config\n            window.hfCaptchaConfig = window.hfCaptchaConfig || {};\n            window.hfCaptchaConfig[\"hf-form-2\"] = {\n                provider: \"recaptcha\", \/\/ 'hcaptcha' | 'recaptcha' | 'off'\n                mode: \"checkbox\"          \/\/ 'checkbox' | 'invisible'\n            };\n\n            \/\/ --- Widget map (one per element)\n            window.__hfWidgets = window.__hfWidgets || new WeakMap();\n\n            \/\/ --- Utility: load external script once\n            function loadScriptOnce(src) {\n                var key = '__hfLoad__' + src;\n                if (window[key]) return;\n                window[key] = true;\n                var s = document.createElement('script');\n                s.src = src;\n                s.async = true;\n                s.defer = true;\n                document.head.appendChild(s);\n            }\n\n                        \/\/ Load Conversion.ai Forms SDK\n            loadScriptOnce('https:\/\/forms.conversion.ai\/script.js');\n            \n            \/\/ --- Detect user interests from hf_analytics cookie (set by behavior tracking)\n            window.hfDetectInterests = window.hfDetectInterests || function () {\n                try {\n                    var match = document.cookie.match(\/(?:^|;\\s*)hf_analytics=([^;]*)\/);\n                    if (!match) return '';\n                    var data = JSON.parse(decodeURIComponent(match[1]));\n                    if (!data.pages || !Array.isArray(data.pages)) return '';\n\n                    var patterns = {\n                        'Guidebooks': \/guidebook|guia|guias|guide-numerique|livrets\/i,\n                        'Devices': \/device|dispositivo|aparelho|appareil\/i,\n                        'PMS': \/property-management-software|pms|software-de-gestao|logiciel-de-gestion\/i,\n                        'Integrations': \/integration|integracion|integracao|integrations\/i,\n                        'Book a Demo': \/book.*demo|agendar.*demo|reservar.*demo|demander.*demo|solicitar.*demo|marcar.*demonstracao\/i,\n                        'Solutions': \/solution|solucao|solucion\/i,\n                        'Pricing': \/pricing|precios|preco|tarif\/i,\n                        'Resources': \/resource|recurso\/i,\n                        'Blog': \/blog\/i,\n                        'Influencers': \/influencer\/i,\n                        'Success Stories': \/success.*stor|caso.*exito|historia.*exito|caso.*sucesso|historia.*sucesso|reussite\/i,\n                        'Webinars': \/webinar\/i,\n                        'Support': \/support|soporte|suporte|apoio\/i,\n                        'Growth Tools': \/growth.*tool|ferramenta.*crescimento|herramienta.*crecimiento|outil.*croissance\/i,\n                        'Events': \/event|evento|evenement\/i,\n                        'Features': \/feature|caracteristica|funcionalidade|fonctionnalite\/i\n                    };\n\n                    var found = {};\n                    var interests = [];\n                    for (var i = 0; i < data.pages.length; i++) {\n                        var url = data.pages[i].url || '';\n                        for (var interest in patterns) {\n                            if (!found[interest] && patterns[interest].test(url)) {\n                                found[interest] = true;\n                                interests.push(interest);\n                            }\n                        }\n                    }\n                    return interests.join(', ');\n                } catch (e) {\n                    return '';\n                }\n            }\n\n            \/\/ --- hCaptcha render callback\n            window.hfHcaptchaInit = function () {\n                document.querySelectorAll('.h-captcha[data-sitekey]').forEach(function (el) {\n                    if (!window.__hfWidgets.has(el) && window.hcaptcha && hcaptcha.render) {\n                        var id = hcaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            theme:   el.getAttribute('data-theme') || 'light',\n                            size:    el.getAttribute('data-size')  || 'normal'\n                        });\n                        window.__hfWidgets.set(el, id);\n                    }\n                });\n            };\n\n            \/\/ --- reCAPTCHA render callback\n            window.hfRecaptchaInit = function () {\n                if (!window.grecaptcha || !grecaptcha.render) return;\n\n                \/\/ Explicit render for v2 CHECKBOX widgets\n                document.querySelectorAll('.g-recaptcha[data-sitekey]').forEach(function (el) {\n                    if (!window.__hfWidgets.has(el)) {\n                        var id = grecaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            theme:   el.getAttribute('data-theme') || 'light',   \/\/ optional\n                            size:    el.getAttribute('data-size')  || 'normal'   \/\/ 'normal' | 'compact'\n                        });\n                        window.__hfWidgets.set(el, id);\n                    }\n                });\n\n                \/\/ Explicit render for v2 INVISIBLE widgets\n                document.querySelectorAll('.g-recaptcha-invisible[data-sitekey]').forEach(function (el) {\n                    if (!window.__hfWidgets.has(el)) {\n                        var id = grecaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            size: 'invisible',\n                            badge: el.getAttribute('data-badge') || 'bottomleft',\n                            callback: function () {\n                                \/\/ token will be auto-set in hidden textarea\n                            }\n                        });\n                        window.__hfWidgets.set(el, id);\n                    }\n                });\n            };\n\n            \/\/ --- Ensure needed scripts load (based on DOM, supports multiple forms)\n            function ensureProviderScripts() {\n                var needsH = !!document.querySelector('.h-captcha[data-sitekey]');\n                var needsG = !!document.querySelector('.g-recaptcha[data-sitekey], .g-recaptcha-invisible[data-sitekey]');\n                if (needsH) loadScriptOnce('https:\/\/hcaptcha.com\/1\/api.js?onload=hfHcaptchaInit&render=explicit');\n                if (needsG) loadScriptOnce('https:\/\/www.google.com\/recaptcha\/api.js?onload=hfRecaptchaInit&render=explicit');\n            }\n\n            \/\/ --- Ensure needed scripts load (based on DOM, supports multiple forms)\n            function ensureProviderScripts() {\n                var needsH = !!document.querySelector('.h-captcha[data-sitekey]');\n                var needsG = !!document.querySelector('.g-recaptcha[data-sitekey], .g-recaptcha-invisible[data-sitekey]');\n                if (needsH) loadScriptOnce('https:\/\/hcaptcha.com\/1\/api.js?onload=hfHcaptchaInit&render=explicit');\n                if (needsG) loadScriptOnce('https:\/\/www.google.com\/recaptcha\/api.js?onload=hfRecaptchaInit&render=explicit');\n            }\n\n            if (document.readyState === 'loading') {\n                document.addEventListener('DOMContentLoaded', ensureProviderScripts);\n            } else {\n                ensureProviderScripts();\n            }\n\n            \/\/ --- Reset captcha tokens on page load (fixes WP Rocket cache issue) ---\n            window.addEventListener('load', function() {\n                \/\/ Reset reCAPTCHA widgets\n                if (typeof grecaptcha !== 'undefined' && grecaptcha.reset) {\n                    \/\/ Reset checkbox reCAPTCHA\n                    document.querySelectorAll('.g-recaptcha[data-sitekey]').forEach(function (el) {\n                        var widgetId = window.__hfWidgets && window.__hfWidgets.get(el);\n                        if (typeof widgetId !== 'undefined') {\n                            try {\n                                grecaptcha.reset(widgetId);\n                            } catch (e) {\n                                console.warn('Failed to reset reCAPTCHA checkbox:', e);\n                            }\n                        }\n                    });\n\n                    \/\/ Reset invisible reCAPTCHA\n                    document.querySelectorAll('.g-recaptcha-invisible[data-sitekey]').forEach(function (el) {\n                        var widgetId = window.__hfWidgets && window.__hfWidgets.get(el);\n                        if (typeof widgetId !== 'undefined') {\n                            try {\n                                grecaptcha.reset(widgetId);\n                            } catch (e) {\n                                console.warn('Failed to reset reCAPTCHA invisible:', e);\n                            }\n                        }\n                    });\n                }\n\n                \/\/ Reset hCaptcha widgets\n                if (typeof hcaptcha !== 'undefined' && hcaptcha.reset) {\n                    document.querySelectorAll('.h-captcha[data-sitekey]').forEach(function (el) {\n                        var widgetId = window.__hfWidgets && window.__hfWidgets.get(el);\n                        if (typeof widgetId !== 'undefined') {\n                            try {\n                                hcaptcha.reset(widgetId);\n                            } catch (e) {\n                                console.warn('Failed to reset hCaptcha:', e);\n                            }\n                        }\n                    });\n                }\n            });\n        })();\n    <\/script>\n\n\n\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            const form = document.getElementById('hf-form-2');\n            if (!form) return;\n\n            const loader       = form.querySelector('.hf-loading');\n            const fields       = form.querySelector('.hf-fields');\n            const submitButton = form.querySelector('button[type=\"submit\"].hf-submit');\n            const privacy      = form.querySelector('.hf-privacy-policy');\n            const footerNote   = form.querySelector('.hf-footer-note');\n\n            \/\/ Read provider\/mode from hidden inputs (per form)\n            const provider = (form.querySelector('input[name=\"hf_captcha_provider\"]')?.value || 'off');     \/\/ 'hcaptcha' | 'recaptcha' | 'off'\n            const mode     = (form.querySelector('input[name=\"hf_captcha_mode\"]')?.value || 'checkbox');    \/\/ 'checkbox' | 'invisible'\n\n            function showError(msg) {\n                if (!fields) return;\n                \/\/ remove old errors\n                fields.querySelectorAll('.hf-error,[data-hf-error]').forEach(el => el.remove());\n\n                const p = document.createElement('p');\n                p.className = 'hf-error';\n                p.setAttribute('data-hf-error', '1'); \/\/ fallback if class gets stripped\n                p.textContent = msg;\n                fields.appendChild(p);\n            }\n\n            function setLoading(state) {\n                if (loader) loader.style.display = state ? 'block' : 'none';\n                if (submitButton) {\n                    submitButton.disabled = !!state;\n                    submitButton.classList.toggle('loading', !!state);\n                }\n            }\n\n            function submitWith(formData) {\n                \/\/ Let backend know which provider\/mode were used (for logging\/analytics)\n                formData.append('hcaptcha_mode', mode);\n                formData.append('hf_captcha_provider', provider);\n                formData.append('hf_captcha_mode', mode);\n\n                setLoading(true);\n                fetch('https:\/\/www.hostfully.com\/wp-admin\/admin-ajax.php', { method:'POST', body: formData })\n                    .then(r => r.json())\n                    .then(response => {\n                        setLoading(false);\n\n                        if (response.success) {\n                            const customMsg = formData.get('success_message') || 'Thanks! We\u2019ve received your submission.';\n                            if (fields) fields.innerHTML = '<div class=\"hf-success\">' + customMsg + '<\/div>';\n                            if (submitButton) submitButton.style.display = 'none';\n                            if (privacy) privacy.style.display = 'none';\n                            if (footerNote) footerNote.style.display = 'none';\n\n                            \n                                                        \/\/ Conversion.ai integration\n                            if (window.ConversionFormsV1) {\n                                var caiFields = {\"email\":\"e88eae4c-bb70-475d-b515-e7af6733f7d6\",\"first_name\":\"7df4d311-4bc8-4cd9-b334-2016bd132dd6\",\"last_name\":\"7145e5d0-0c47-4f6c-b423-0a9ec509d2ad\"};\n                                var caiPayload = {};\n                                for (var fieldName in caiFields) {\n                                    var val = formData.get(fieldName);\n                                    if (val !== null) caiPayload[caiFields[fieldName]] = val;\n                                }\n                                                                                                var caiStatic = {\"b24e0ba6-aacc-4090-b3a3-1e9b4c9afc6c\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Short-Term-Rental-Agreement-Template-Hostfully.pdf\",\"e41d3e03-99ca-464c-b382-373cab475047\":\"Free Vacation Rental Agreement Template\",\"17b38450-0d9b-4a1c-b4e4-dc1cc801b4d3\":\"Free Vacation Rental Agreement Template\"};\n                                for (var uuid in caiStatic) {\n                                    caiPayload[uuid] = caiStatic[uuid];\n                                }\n                                                                window.ConversionFormsV1.submit(\n                                    \"4695d0e6-39f9-4f58-bbc6-99bb6bd62150\",\n                                    caiPayload\n                                ).then(function(ok) {\n                                    console.log('[HF Form] Conversion.ai submit:', ok);\n                                }).catch(function(err) {\n                                    console.warn('[HF Form] Conversion.ai error:', err);\n                                });\n                            } else {\n                                console.warn('[HF Form] ConversionFormsV1 SDK not loaded');\n                            }\n                            \n                        } else {\n                            console.warn('Salesforce error', response.data);\n                            const errMsg = (response.data && response.data.message) ? response.data.message : 'Something went wrong. Please try again later.';\n                            fields?.insertAdjacentHTML('beforeend','<p class=\"hf-error\">' + errMsg + '<\/p>');\n                        }\n                    })\n                    .catch(() => {\n                        setLoading(false);\n                        fields?.querySelectorAll('.hf-error').forEach(el => el.remove());\n                        fields?.insertAdjacentHTML('beforeend','<p class=\"hf-error\">There was a problem with your submission.<\/p>');\n                    });\n            }\n\n            function tokenPresent(name) {\n                return (form.querySelector('textarea[name=\"'+name+'\"]')?.value || '').trim().length > 0;\n            }\n\n            \/\/ Helper to wait for reCAPTCHA v2 invisible response\n            function waitForRecaptchaResponse(widgetId, timeoutMs, intervalMs) {\n                return new Promise(function (resolve, reject) {\n                    var waited = 0;\n                    function check() {\n                        try {\n                            var resp = grecaptcha.getResponse(widgetId);\n                            if (resp && resp.length > 0) return resolve(resp);\n                        } catch (e) { \/* ignore *\/ }\n                        waited += intervalMs;\n                        if (waited >= timeoutMs) return reject(new Error('recaptcha_timeout'));\n                        setTimeout(check, intervalMs);\n                    }\n                    check();\n                });\n            }\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                \/\/ Clear previous errors (optional)\n                fields?.querySelectorAll('.hf-error').forEach(el => el.remove());\n\n                \/\/ Populate interest detection from behavior cookie\n                var interestsField = form.querySelector('input[name=\"website_interested_in\"]');\n                if (interestsField && window.hfDetectInterests) interestsField.value = window.hfDetectInterests();\n\n                const formData = new FormData(form);\n                formData.append('action', 'hf_submit_form');\n                \/\/formData.append('form_action', 'http:\/\/conversion_ai');\n                formData.append('form_title', 'Gratis mal for ferieutleieavtale');\n                formData.append('email_template', '');\n                formData.append('email_subject', '');\n                formData.append('email_body', '');\n                formData.append('email_pdf', '');\n                formData.append('send_email', 'false');\n                formData.append('force_email', 'false');\n                formData.append('success_message', \"Success! Your ebook is on its way. Check your inbox for the download link. Enjoy the read!\");\n                formData.append('ebook_name', '');\n\n                \/\/ --- Captcha OFF ---\n                if (provider === 'off') {\n                    submitWith(formData);\n                    return;\n                }\n\n                \/\/ --- Checkbox flows: token must already be present ---\n                if (mode === 'checkbox') {\n                    if (provider === 'hcaptcha') {\n                        if (!tokenPresent('h-captcha-response')) {\n                            showError('Please complete the captcha.');\n                            return;\n                        }\n                        submitWith(formData);\n                        return;\n                    }\n                    if (provider === 'recaptcha') {\n                        if (!tokenPresent('g-recaptcha-response')) {\n                            showError('Please complete the captcha.');\n                            return;\n                        }\n                        submitWith(formData);\n                        return;\n                    }\n                }\n\n                \/\/ --- Invisible flows: execute programmatically, then submit ---\n                if (mode === 'invisible') {\n                    \/\/ hCaptcha invisible\n                    if (provider === 'hcaptcha') {\n                        const el = form.querySelector('.h-captcha[data-sitekey]');\n                        if (!el || typeof hcaptcha === 'undefined') {\n                            showError('Captcha is not ready. Please refresh and try again.');\n                            return;\n                        }\n                        const widgetId = (window.__hfWidgets && window.__hfWidgets.get(el)) || hcaptcha.render(el, {\n                            sitekey: el.getAttribute('data-sitekey'),\n                            size: 'invisible'\n                        });\n                        setLoading(true);\n                        hcaptcha.execute(widgetId).then(function () {\n                            if (!tokenPresent('h-captcha-response')) {\n                                setLoading(false);\n                                showError('Captcha could not be validated. Please try again.');\n                                return;\n                            }\n                            \/\/ Manually append the hCaptcha token to FormData\n                            const token = hcaptcha.getResponse(widgetId);\n                            if (token) formData.append('h-captcha-response', token);\n                            submitWith(formData);\n                        }).catch(function () {\n                            setLoading(false);\n                            showError('Captcha error. Please try again.');\n                        });\n                        return;\n                    }\n\n                    \/\/ reCAPTCHA v2 invisible\n                    if (provider === 'recaptcha') {\n                        const el = form.querySelector('.g-recaptcha-invisible[data-sitekey]');\n                        if (!el || typeof grecaptcha === 'undefined') {\n                            showError('Captcha is not ready. Please refresh and try again.');\n                            return;\n                        }\n\n                        \/\/ Render if needed, with a callback as a safety net\n                        let widgetId = (window.__hfWidgets && window.__hfWidgets.get(el));\n                        if (typeof widgetId === 'undefined') {\n                            widgetId = grecaptcha.render(el, {\n                                sitekey: el.getAttribute('data-sitekey'),\n                                size: 'invisible',\n                                callback: function () {\n                                    \/\/ Google will also set the textarea; we still wait below to be safe.\n                                }\n                            });\n                            window.__hfWidgets && window.__hfWidgets.set(el, widgetId);\n                        }\n\n                        setLoading(true);\n                        try {\n                            grecaptcha.execute(widgetId);\n                        } catch (err) {\n                            setLoading(false);\n                            showError('Captcha error. Please try again.');\n                            return;\n                        }\n\n                        \/\/ Wait until token appears or timeout\n                        waitForRecaptchaResponse(widgetId, 10000, 100).then(function () {\n                            \/\/ Double-check token presence\n                            if (!tokenPresent('g-recaptcha-response')) {\n                                setLoading(false);\n                                showError('Captcha could not be validated. Please try again.');\n                                return;\n                            }\n                            \/\/ Manually append the reCAPTCHA token to FormData\n                            const token = grecaptcha.getResponse(widgetId);\n                            if (token) formData.append('g-recaptcha-response', token);\n                            submitWith(formData);\n                        }).catch(function () {\n                            setLoading(false);\n                            showError('Captcha timed out. Please try again.');\n                        });\n                        return;\n                    }\n                }\n\n                \/\/ Fallback\n                submitWith(formData);\n            });\n\n        });\n    <\/script>\n\n\n\n    \n","protected":false},"excerpt":{"rendered":"<p>\u00c5 ha en korttidsleieavtale p\u00e5 plass har mange fordeler. Kanskje viktigst av alt, hjelper det eiendomsforvaltere \u00e5 unng\u00e5 un\u00f8dvendige problemer og forebygge skader. Hvor avgj\u00f8rende denne korttidsleieavtalen er, kan avhenge av plattformene du bruker for \u00e5 leie ut eiendommene dine. I denne artikkelen vil vi utforske hvorfor avtaler er viktige, hvem som trenger dem, og [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":60187,"template":"","blog-categories":[4966],"class_list":["post-108785","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-categories-ferieutleieadministrasjon"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Hva du b\u00f8r inkludere i din korttidsleieavtale | Hostfully<\/title>\n<meta name=\"description\" content=\"En korttidsleieavtale er et kraftig verkt\u00f8y eiendomsforvaltere kan bruke for \u00e5 beskytte klientens eiendeler. Her er hva du b\u00f8r inkludere i dem.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/\" \/>\n<meta property=\"og:locale\" content=\"nb_NO\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hva du b\u00f8r inkludere i din korttidsleieavtale\" \/>\n<meta property=\"og:description\" content=\"En korttidsleieavtale er et kraftig verkt\u00f8y eiendomsforvaltere kan bruke for \u00e5 beskytte klientens eiendeler. Her er hva du b\u00f8r inkludere i dem.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/\" \/>\n<meta property=\"og:site_name\" content=\"Hostfully\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hostfully\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"762\" \/>\n\t<meta property=\"og:image:height\" content=\"762\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@hostfully\" \/>\n<meta name=\"twitter:label1\" content=\"Ansl. lesetid\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/\"},\"author\":{\"name\":\"Pablo Pereyra\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#\\\/schema\\\/person\\\/d776e1b2fafaf165fba39e4f4b587baa\"},\"headline\":\"Hva du b\u00f8r inkludere i din korttidsleieavtale\",\"datePublished\":\"2024-07-19T02:00:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/\"},\"wordCount\":1856,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/03-4.png\",\"inLanguage\":\"nb-NO\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/\",\"name\":\"Hva du b\u00f8r inkludere i din korttidsleieavtale | Hostfully\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/03-4.png\",\"datePublished\":\"2024-07-19T02:00:05+00:00\",\"description\":\"En korttidsleieavtale er et kraftig verkt\u00f8y eiendomsforvaltere kan bruke for \u00e5 beskytte klientens eiendeler. Her er hva du b\u00f8r inkludere i dem.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/#breadcrumb\"},\"inLanguage\":\"nb-NO\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/03-4.png\",\"contentUrl\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/03-4.png\",\"width\":762,\"height\":762,\"caption\":\"learn how to run a longterm airbnb\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/hva-du-bor-inkludere-i-din-korttidsleieavtale\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/blogg\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Hva du b\u00f8r inkludere i din korttidsleieavtale\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#website\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/\",\"name\":\"Hostfully\",\"description\":\"Award Winning Vacation Rental Software\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nb-NO\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#organization\",\"name\":\"Hostfully\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Hostfully_bluecircle_isotype_R-.png\",\"contentUrl\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/Hostfully_bluecircle_isotype_R-.png\",\"width\":321,\"height\":321,\"caption\":\"Hostfully\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hostfully\",\"https:\\\/\\\/x.com\\\/hostfully\",\"https:\\\/\\\/www.instagram.com\\\/hostfully_\\\/\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/Hostfully\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/hostfully-inc-\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/no\\\/#\\\/schema\\\/person\\\/d776e1b2fafaf165fba39e4f4b587baa\",\"name\":\"Pablo Pereyra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nb-NO\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/373e91f8a44dd96d44b3df477f8ddc4967f6868684a2a728c92eac4d91056e62?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/373e91f8a44dd96d44b3df477f8ddc4967f6868684a2a728c92eac4d91056e62?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/373e91f8a44dd96d44b3df477f8ddc4967f6868684a2a728c92eac4d91056e62?s=96&d=mm&r=g\",\"caption\":\"Pablo Pereyra\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Hva du b\u00f8r inkludere i din korttidsleieavtale | Hostfully","description":"En korttidsleieavtale er et kraftig verkt\u00f8y eiendomsforvaltere kan bruke for \u00e5 beskytte klientens eiendeler. Her er hva du b\u00f8r inkludere i dem.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/","og_locale":"nb_NO","og_type":"article","og_title":"Hva du b\u00f8r inkludere i din korttidsleieavtale","og_description":"En korttidsleieavtale er et kraftig verkt\u00f8y eiendomsforvaltere kan bruke for \u00e5 beskytte klientens eiendeler. Her er hva du b\u00f8r inkludere i dem.","og_url":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/","og_site_name":"Hostfully","article_publisher":"https:\/\/www.facebook.com\/hostfully","og_image":[{"width":762,"height":762,"url":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@hostfully","twitter_misc":{"Ansl. lesetid":"9 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#article","isPartOf":{"@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/"},"author":{"name":"Pablo Pereyra","@id":"https:\/\/www.hostfully.com\/no\/#\/schema\/person\/d776e1b2fafaf165fba39e4f4b587baa"},"headline":"Hva du b\u00f8r inkludere i din korttidsleieavtale","datePublished":"2024-07-19T02:00:05+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/"},"wordCount":1856,"commentCount":0,"publisher":{"@id":"https:\/\/www.hostfully.com\/no\/#organization"},"image":{"@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png","inLanguage":"nb-NO"},{"@type":"WebPage","@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/","url":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/","name":"Hva du b\u00f8r inkludere i din korttidsleieavtale | Hostfully","isPartOf":{"@id":"https:\/\/www.hostfully.com\/no\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#primaryimage"},"image":{"@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png","datePublished":"2024-07-19T02:00:05+00:00","description":"En korttidsleieavtale er et kraftig verkt\u00f8y eiendomsforvaltere kan bruke for \u00e5 beskytte klientens eiendeler. Her er hva du b\u00f8r inkludere i dem.","breadcrumb":{"@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#breadcrumb"},"inLanguage":"nb-NO","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/"]}]},{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#primaryimage","url":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png","contentUrl":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png","width":762,"height":762,"caption":"learn how to run a longterm airbnb"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hostfully.com\/no\/blogg\/hva-du-bor-inkludere-i-din-korttidsleieavtale\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hostfully.com\/no\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.hostfully.com\/no\/blogg\/"},{"@type":"ListItem","position":3,"name":"Hva du b\u00f8r inkludere i din korttidsleieavtale"}]},{"@type":"WebSite","@id":"https:\/\/www.hostfully.com\/no\/#website","url":"https:\/\/www.hostfully.com\/no\/","name":"Hostfully","description":"Award Winning Vacation Rental Software","publisher":{"@id":"https:\/\/www.hostfully.com\/no\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hostfully.com\/no\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nb-NO"},{"@type":"Organization","@id":"https:\/\/www.hostfully.com\/no\/#organization","name":"Hostfully","url":"https:\/\/www.hostfully.com\/no\/","logo":{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/www.hostfully.com\/no\/#\/schema\/logo\/image\/","url":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2025\/08\/Hostfully_bluecircle_isotype_R-.png","contentUrl":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2025\/08\/Hostfully_bluecircle_isotype_R-.png","width":321,"height":321,"caption":"Hostfully"},"image":{"@id":"https:\/\/www.hostfully.com\/no\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hostfully","https:\/\/x.com\/hostfully","https:\/\/www.instagram.com\/hostfully_\/","https:\/\/www.youtube.com\/c\/Hostfully","https:\/\/www.linkedin.com\/company\/hostfully-inc-\/"]},{"@type":"Person","@id":"https:\/\/www.hostfully.com\/no\/#\/schema\/person\/d776e1b2fafaf165fba39e4f4b587baa","name":"Pablo Pereyra","image":{"@type":"ImageObject","inLanguage":"nb-NO","@id":"https:\/\/secure.gravatar.com\/avatar\/373e91f8a44dd96d44b3df477f8ddc4967f6868684a2a728c92eac4d91056e62?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/373e91f8a44dd96d44b3df477f8ddc4967f6868684a2a728c92eac4d91056e62?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/373e91f8a44dd96d44b3df477f8ddc4967f6868684a2a728c92eac4d91056e62?s=96&d=mm&r=g","caption":"Pablo Pereyra"}}]}},"_links":{"self":[{"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/blog\/108785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/blog\/108785\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/media\/60187"}],"wp:attachment":[{"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/media?parent=108785"}],"wp:term":[{"taxonomy":"blog-categories","embeddable":true,"href":"https:\/\/www.hostfully.com\/no\/wp-json\/wp\/v2\/blog-categories?post=108785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}