{"id":68675,"date":"2024-07-19T02:00:05","date_gmt":"2024-07-19T02:00:05","guid":{"rendered":"https:\/\/mktdev.hostfully.com\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/"},"modified":"2026-02-24T19:33:10","modified_gmt":"2026-02-24T19:33:10","slug":"o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao","status":"publish","type":"blog","link":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/","title":{"rendered":"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o"},"content":{"rendered":"<p>Ter um contrato de arrendamento de curta dura\u00e7\u00e3o tem muitas vantagens. Talvez o mais importante seja o facto de ajudar os gestores de propriedades a evitar dores de cabe\u00e7a desnecess\u00e1rias e a prevenir danos. A import\u00e2ncia deste arrendamento de curta dura\u00e7\u00e3o pode <a href=\"https:\/\/www.hostfully.com\/blog\/the-5-steps-to-vacation-rental-listing-site-independence\/\">depender das plataformas que est\u00e1 a utilizar<\/a> para arrendar as suas propriedades.  <\/p>\n<p>Neste artigo, vamos explorar por que raz\u00e3o os contratos s\u00e3o importantes, quem precisa deles e o que incluir neles. Como b\u00f3nus, cri\u00e1mos um modelo de contrato de arrendamento de curta dura\u00e7\u00e3o que pode descarregar e personalizar para se adequar \u00e0s necessidades da sua empresa.     <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;\">Modelo de Contrato de Arrendamento de F\u00e9rias Gratuito<\/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=\"pt-pt\">\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=\"ebooks\">\n        <input type=\"hidden\" name=\"form_token\" value=\"eyJrIjoiZWJvb2tzIiwidHMiOjE3NzU1ODcyNTgsImlkIjoiaGYtZm9ybS0xIiwiZXhwIjoxNzc2NDUxMjU4fQ.c4ac0dad09fd5f2f627136b984bdf648facf79f47533130b806da9039f8c2ccc\">\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            \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                            \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', '');\n                formData.append('form_title', 'Modelo de Contrato de Arrendamento de F\u00e9rias Gratuito');\n                formData.append('email_template', 'ebook');\n                formData.append('email_subject', 'Free Vacation Rental Agreement Template');\n                formData.append('email_body', '');\n                formData.append('email_pdf', 'https:\/\/www.hostfully.com\/wp-content\/uploads\/2025\/08\/Short-Term-Rental-Agreement-Template-Hostfully.pdf');\n                formData.append('send_email', 'true');\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', 'Free Vacation Rental Agreement Template');\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    <\/p>\n<h2><strong>Qual \u00e9 o objetivo de um<\/strong> <strong>contrato de arrendamento de curta dura\u00e7\u00e3o<\/strong><strong>?<\/strong><\/h2>\n<p>Um contrato de arrendamento de curta dura\u00e7\u00e3o ajuda a garantir que um inquilino deixar\u00e1 a sua propriedade nas mesmas condi\u00e7\u00f5es em que a encontrou. Tamb\u00e9m coloca todos os detalhes importantes por escrito para que n\u00e3o haja confus\u00e3o sobre o que \u00e9 fornecido da sua parte e o que \u00e9 esperado do inquilino. Depois de assinado, torna-se uma obriga\u00e7\u00e3o legal para si e para o seu h\u00f3spede cumprir o seu contrato de arrendamento de f\u00e9rias. A maioria dos contratos de arrendamento fora dos sites de an\u00fancios como o Airbnb ou o Vrbo s\u00e3o escritos de forma a favorecer os propriet\u00e1rios.   <\/p>\n<p>Tenha em aten\u00e7\u00e3o que os contratos de arrendamento de curta dura\u00e7\u00e3o s\u00e3o muito diferentes dos de um arrendamento imobili\u00e1rio tradicional. Os h\u00f3spedes de arrendamento de curta dura\u00e7\u00e3o normalmente t\u00eam menos prote\u00e7\u00f5es do que os inquilinos de longa dura\u00e7\u00e3o. Tamb\u00e9m existem poucas (ou nenhumas) obriga\u00e7\u00f5es de senhorio e inquilino como num arrendamento de longa dura\u00e7\u00e3o. Isso significa que pode sobrecarregar os seus contratos com muito mais estipula\u00e7\u00f5es que o favore\u00e7am (independentemente de ser um gestor ou propriet\u00e1rio).   <\/p>\n<h2><strong>Precisa mesmo de um<\/strong> <strong>contrato de arrendamento de curta dura\u00e7\u00e3o<\/strong><strong>?<\/strong><\/h2>\n<p>Se estiver a arrendar a sua propriedade atrav\u00e9s de sites como o Airbnb, o Vrbo ou o <a href=\"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#elementor-toc__heading-anchor-0\">Booking.com<\/a>, ent\u00e3o, resumidamente, n\u00e3o precisa de um contrato de arrendamento de curta dura\u00e7\u00e3o. Porqu\u00ea? Estes OTAs t\u00eam os seus pr\u00f3prios contratos, escritos nos seus termos e condi\u00e7\u00f5es. No entanto, estes contratos de arrendamento de curta dura\u00e7\u00e3o tendem a ser incrivelmente amplos e n\u00e3o cobrem detalhes importantes relacionados com a sua propriedade.   <\/p>\n<p>Tamb\u00e9m tem de se lembrar que os contratos de arrendamento de curta dura\u00e7\u00e3o encontrados nestes sites foram escritos no melhor interesse da plataforma \u2014 n\u00e3o necessariamente dos propriet\u00e1rios ou de si, o gestor. Assim, alguns pontos mais delicados podem n\u00e3o ser cobertos ou podem favorecer um h\u00f3spede. Afinal, o objetivo destes sites de an\u00fancios \u00e9 conseguir h\u00f3spedes repetidos, n\u00e3o necessariamente proteger os gestores ou propriet\u00e1rios.  <\/p>\n<p>Se estiver a receber h\u00f3spedes fora de uma plataforma de terceiros, como atrav\u00e9s de um site de reserva direta, ent\u00e3o algum tipo de <a href=\"https:\/\/www.hostfully.com\/pmp-features\/digital-rental-agreements-digital-signatures\/\">contrato de arrendamento de f\u00e9rias<\/a> \u00e9 uma garantia necess\u00e1ria no caso de algo correr mal.<\/p>\n<h2><strong>O que incluir num<\/strong> <strong>contrato de arrendamento de f\u00e9rias<\/strong><\/h2>\n<p>Independentemente da plataforma que estiver a utilizar, pedir aos h\u00f3spedes para assinarem o que \u00e9 essencialmente um arrendamento de curta dura\u00e7\u00e3o nunca \u00e9 uma m\u00e1 ideia. O contrato garante que os arrendat\u00e1rios leram efetivamente as suas condi\u00e7\u00f5es para a sua estadia e mitiga o risco de um potencial desacordo ou erro de comunica\u00e7\u00e3o. Funciona como um documento legalmente vinculativo e responsabiliza ambas as partes pelos termos do contrato de arrendamento de f\u00e9rias. Tamb\u00e9m mostra o seu compromisso como anfitri\u00e3o de propriedade com a justi\u00e7a e o profissionalismo.   <\/p>\n<p>Ent\u00e3o, o que deve incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o? As informa\u00e7\u00f5es cr\u00edticas a incluir podem ser divididas em cinco categorias: <\/p>\n<ul>\n<li aria-level=\"1\">Informa\u00e7\u00f5es de contacto e informa\u00e7\u00f5es b\u00e1sicas<\/li>\n<li aria-level=\"1\"><a href=\"https:\/\/www.hostfully.com\/pt-pt\/blog\/regras-da-casa-do-airbnb-que-todas-as-listagens-devem-ter-modelo-gratuito\/\">Regras da casa<\/a><\/li>\n<li aria-level=\"1\">Descri\u00e7\u00e3o da propriedade, expectativas e log\u00edstica<\/li>\n<li aria-level=\"1\">Diretrizes de dep\u00f3sito de seguran\u00e7a e pol\u00edticas de cancelamento<\/li>\n<li aria-level=\"1\">Assinaturas digitais<\/li>\n<\/ul>\n<h3><strong>Informa\u00e7\u00f5es de contacto<\/strong> <strong>e informa\u00e7\u00f5es b\u00e1sicas<\/strong><\/h3>\n<p>A primeira coisa que deve ter num contrato de arrendamento de curta dura\u00e7\u00e3o s\u00e3o todas as informa\u00e7\u00f5es sobre ambas as partes do arrendamento, a estadia em si e a propriedade. Certifique-se de que inclui: <\/p>\n<ul>\n<li aria-level=\"1\">Nomes completos, endere\u00e7os e informa\u00e7\u00f5es de contacto (e-mail e n\u00fameros de telefone) tanto do anfitri\u00e3o da propriedade como do h\u00f3spede.<\/li>\n<li aria-level=\"1\">A data de chegada e partida da estadia (\u00e0s vezes chamada de per\u00edodo de arrendamento)<\/li>\n<li aria-level=\"1\">Hor\u00e1rios de check-in e check-out e <a href=\"https:\/\/www.hostfully.com\/blog\/airbnb-check-in-process\/\">se os h\u00f3spedes podem fazer o check-in autom\u00e1tico<\/a><\/li>\n<li aria-level=\"1\">A taxa de arrendamento di\u00e1ria, semanal ou mensal, os termos de pagamento e os m\u00e9todos de pagamento<\/li>\n<li aria-level=\"1\">Estat\u00edsticas b\u00e1sicas sobre a propriedade, como o n\u00famero de camas ou quartos e a ocupa\u00e7\u00e3o m\u00e1xima<\/li>\n<li aria-level=\"1\">Se o h\u00f3spede <a href=\"https:\/\/www.hostfully.com\/blog\/best-vacation-rental-cleaning-practices\/\">ser\u00e1 cobrado uma taxa de limpeza<\/a> e quando essa taxa \u00e9 cobrada.<\/li>\n<li aria-level=\"1\">Tamb\u00e9m deve <a href=\"https:\/\/www.hostfully.com\/blog\/cancellation-policy-for-vacation-rentals\/\">incluir pol\u00edticas de cancelamento<\/a> para que os arrendat\u00e1rios estejam cientes com anteced\u00eancia caso acabem por cancelar<\/li>\n<\/ul>\n<p>Esta parte de um contrato de arrendamento tamb\u00e9m lhe d\u00e1 a oportunidade de comunicar outros servi\u00e7os pagos que possa ter. Isto incluiria coisas como aluguer de bicicletas, excurs\u00f5es, transporte de e para o aeroporto ou outros servi\u00e7os que ofere\u00e7a mediante uma taxa. Certifique-se de incluir tamb\u00e9m a sua taxa para animais de estima\u00e7\u00e3o ou <a href=\"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-sao-hospedes-extra-do-airbnb-e-por-que-importam\/\">h\u00f3spedes adicionais<\/a>, se os tiver.  <\/p>\n<h3><strong>Regras da casa<\/strong><\/h3>\n<p>Nenhum contrato de arrendamento de f\u00e9rias estaria completo sem <a href=\"https:\/\/www.hostfully.com\/blog\/airbnb-house-rules\/\">algumas regras b\u00e1sicas da casa<\/a>. As regras da casa s\u00e3o baseadas nas suas prefer\u00eancias como anfitri\u00e3o ou gestor. Alguns itens a considerar incluir s\u00e3o:  <\/p>\n<ul>\n<li aria-level=\"1\">As suas pol\u00edticas de festas (e regras para fumadores!)<\/li>\n<li aria-level=\"1\">N\u00famero m\u00e1ximo de h\u00f3spedes permitidos e quaisquer festas adequadas (ou n\u00e3o!), incluindo crian\u00e7as<\/li>\n<li aria-level=\"1\">Se a propriedade aderir a hor\u00e1rios de sil\u00eancio, \u00e9 bom inclu\u00ed-los tamb\u00e9m nas suas regras<\/li>\n<li aria-level=\"1\">Regras sobre o uso de comodidades (incluindo piscina, uso de banheira de hidromassagem ou uso de barco)<\/li>\n<li aria-level=\"1\">\u00c9 sempre uma boa ideia mencionar que nenhuma atividade ilegal \u00e9 permitida, mesmo que pare\u00e7a estar a afirmar o \u00f3bvio<\/li>\n<li aria-level=\"1\">Tamb\u00e9m pode reiterar t\u00f3picos abordados anteriormente, como pol\u00edticas de cancelamento e <a href=\"https:\/\/www.hostfully.com\/blog\/pet-friendly-vacation-rental\/\">taxas de animais de estima\u00e7\u00e3o<\/a> (ou falta delas)<\/li>\n<li aria-level=\"1\">Taxas adicionais\/potenciais de que os seus h\u00f3spedes devem estar cientes<\/li>\n<li aria-level=\"1\">Regras locais aplic\u00e1veis, leis estaduais e regulamentos e portarias municipais. <em>Nota: Quebrar algumas destas regras pode<\/em> <em>levar<\/em> <em>ao despejo da<\/em> <em>casa de f\u00e9rias<\/em> <em>se houver uma visita das autoridades policiais. Portanto, \u00e9 importante lembrar ao h\u00f3spede que, se isso acontecer, a sua empresa n\u00e3o \u00e9 respons\u00e1vel por fornecer acomoda\u00e7\u00f5es alternativas.<\/em><\/li>\n<li aria-level=\"1\">Embora seja improv\u00e1vel que algu\u00e9m subarrende uma casa de f\u00e9rias, ainda assim quer reduzir a sua exposi\u00e7\u00e3o a arrendamentos obscuros, especialmente em per\u00edodos de arrendamento de longo prazo<\/li>\n<\/ul>\n<h3><strong>Descri\u00e7\u00e3o do arrendamento de f\u00e9rias<\/strong> <strong>e log\u00edstica<\/strong><\/h3>\n<p>O seu contrato de arrendamento de curta dura\u00e7\u00e3o tamb\u00e9m deve incluir informa\u00e7\u00f5es sobre a propriedade \u00fateis para os h\u00f3spedes durante a sua estadia. Alguns exemplos podem ser: <\/p>\n<ul>\n<li aria-level=\"1\">Dire\u00e7\u00f5es espec\u00edficas para a propriedade<\/li>\n<li aria-level=\"1\">Onde encontrar as chaves ou como entrar no edif\u00edcio (c\u00f3digo PIN, etc.)<\/li>\n<li aria-level=\"1\">Qualquer informa\u00e7\u00e3o sobre estacionamento<\/li>\n<li aria-level=\"1\">Expectativas espec\u00edficas sobre como espera que a propriedade seja deixada (por exemplo, roupa de cama suja deixada no ch\u00e3o da casa de banho ou loi\u00e7a colocada na m\u00e1quina de lavar loi\u00e7a)<\/li>\n<li aria-level=\"1\">Informa\u00e7\u00f5es sobre quaisquer funcion\u00e1rios de limpeza que possam aparecer ou mudan\u00e7as de roupa de cama a esperar<\/li>\n<li aria-level=\"1\">Finalmente, outro item a incluir s\u00e3o os seus direitos como anfitri\u00e3o da propriedade, como o direito de entrar na propriedade durante a estadia de um h\u00f3spede no caso de manuten\u00e7\u00e3o necess\u00e1ria ou uma emerg\u00eancia. No entanto, especifique o per\u00edodo de tempo que pode precisar de acesso \u00e0 propriedade. <\/li>\n<\/ul>\n<p>Conhece melhor a sua propriedade de arrendamento! Portanto, pense no que os h\u00f3spedes precisar\u00e3o de saber para se instalarem da forma mais f\u00e1cil e sem complica\u00e7\u00f5es poss\u00edvel \u2014 o que tamb\u00e9m o ajudar\u00e1 a dar aos seus arrendat\u00e1rios uma melhor experi\u00eancia de h\u00f3spede. <\/p>\n<h3><strong>Diretrizes de dep\u00f3sito de seguran\u00e7a<\/strong><\/h3>\n<p>Tamb\u00e9m \u00e9 importante incluir diretrizes de dep\u00f3sito de seguran\u00e7a e quaisquer pol\u00edticas de cancelamento com o seguinte:<\/p>\n<ul>\n<li aria-level=\"1\">Se houver um <a href=\"https:\/\/www.hostfully.com\/pt-pt\/blog\/caucoes-de-alojamento-de-ferias-tudo-o-que-precisa-de-saber\/\">dep\u00f3sito de seguran\u00e7a<\/a>, deve incluir o valor, bem como os seus termos em torno da sua devolu\u00e7\u00e3o. A maioria dos contratos tem uma sec\u00e7\u00e3o dedicada para isso. \u00c9 importante destacar que a reserva s\u00f3 ser\u00e1 v\u00e1lida depois de ter recebido o dep\u00f3sito na totalidade. Tamb\u00e9m ter\u00e1 de detalhar o valor exigido para o dep\u00f3sito de seguran\u00e7a e o prazo em que \u00e9 esperado. Geralmente, a maioria dos anfitri\u00f5es ou gestores lista um ou dois m\u00e9todos de detalhes de pagamento.    <\/li>\n<li aria-level=\"1\">Tamb\u00e9m ter\u00e1 de explicar o que o dep\u00f3sito cobre, que cobre um per\u00edodo de arrendamento espec\u00edfico e as condi\u00e7\u00f5es sob as quais a sua empresa de gest\u00e3o de arrendamento de f\u00e9rias reter\u00e1 o dep\u00f3sito em caso de danos. Esta sec\u00e7\u00e3o geralmente termina com uma frase ou duas sobre quando o dep\u00f3sito ser\u00e1 devolvido (geralmente 2-3 dias \u00fateis ap\u00f3s o t\u00e9rmino do per\u00edodo de arrendamento). <\/li>\n<\/ul>\n<h3><strong>Assinaturas digitais<\/strong><\/h3>\n<p>Finalmente, o seu contrato de arrendamento de curta dura\u00e7\u00e3o tamb\u00e9m deve ser um contrato de arrendamento de curta dura\u00e7\u00e3o, o que significa que quer atingir todos os pontos necess\u00e1rios, mas tamb\u00e9m torn\u00e1-lo breve o suficiente para que algu\u00e9m que queira come\u00e7ar as suas f\u00e9rias realmente o leia at\u00e9 ao fim. Ambas as partes tamb\u00e9m devem assinar o contrato para torn\u00e1-lo legalmente vinculativo. <\/p>\n<p>Pode usar um servi\u00e7o online para que os seus h\u00f3spedes possam assinar eletronicamente o contrato antes da sua chegada, o que d\u00e1 a muitos gestores paz de esp\u00edrito. Tamb\u00e9m pode exigir que os arrendat\u00e1rios assinem pessoalmente \u00e0 chegada. No entanto, como quer que o fa\u00e7a, este passo n\u00e3o deve ser ignorado!  <\/p>\n<h2><strong>Considera\u00e7\u00f5es adicionais<\/strong><\/h2>\n<p>Aqui est\u00e3o alguns outros fatores a considerar ao preparar um contrato de arrendamento de f\u00e9rias:<\/p>\n<ul>\n<li aria-level=\"1\">Leis locais e estaduais<\/li>\n<li aria-level=\"1\">Um plano de apoio s\u00f3lido<\/li>\n<li aria-level=\"1\">Benef\u00edcios do contrato de arrendamento de f\u00e9rias<\/li>\n<li aria-level=\"1\">Dilig\u00eancia devida<\/li>\n<li aria-level=\"1\">Como come\u00e7ar<\/li>\n<\/ul>\n<h3><strong>Leis locais e<\/strong> <strong>estaduais<\/strong><\/h3>\n<p>\u00c9 importante garantir que o seu contrato de arrendamento de curta dura\u00e7\u00e3o est\u00e1 em conformidade com as leis de propriedade locais, bem como com as leis estaduais. Em geral, quer certificar-se de que compreende as leis que regem e quaisquer implica\u00e7\u00f5es que possam ter para si. Re\u00fana-se com um advogado para obter uma compreens\u00e3o das leis de propriedade locais e para rever o seu contrato de arrendamento.  <\/p>\n<h3><strong>Um plano de apoio s\u00f3lido<\/strong><\/h3>\n<p>Embora um contrato de arrendamento de curta dura\u00e7\u00e3o assinado responsabilize legalmente ambas as partes por seguir os termos do contrato, nunca \u00e9 uma garantia de que nada de mau acontecer\u00e1. \u00c9 por isso que tamb\u00e9m deve considerar <a href=\"https:\/\/www.hostfully.com\/blog\/vacation-rental-insurance\/\">um seguro de arrendamento de f\u00e9rias para a sua propriedade<\/a>. De facto, provavelmente ser\u00e1 obrigado a ter um seguro de responsabilidade civil, mas pode querer considerar as suas op\u00e7\u00f5es de seguro para cobrir propriedades danificadas ou roubadas.  <\/p>\n<h3><strong>Benef\u00edcios do contrato de arrendamento de f\u00e9rias<\/strong><\/h3>\n<p>Ter um contrato de arrendamento de curta dura\u00e7\u00e3o entre si e os seus inquilinos tempor\u00e1rios n\u00e3o beneficia apenas voc\u00ea. Tamb\u00e9m protege os seus h\u00f3spedes. Assinar um contrato de arrendamento de curta dura\u00e7\u00e3o dar-lhes-\u00e1 paz de esp\u00edrito de que o seu anfitri\u00e3o n\u00e3o tentar\u00e1 fazer nada obscuro, como adicionar taxas extras. Essencialmente, melhora a experi\u00eancia do h\u00f3spede.   <\/p>\n<h3><strong>Dilig\u00eancia devida<\/strong><\/h3>\n<p>Como parte da sua dilig\u00eancia devida de gest\u00e3o de propriedade, deve ler os termos e condi\u00e7\u00f5es dos sites de reserva de terceiros que est\u00e1 a usar para ver o qu\u00e3o adequados s\u00e3o para as suas necessidades.<\/p>\n<h3><strong>Como come\u00e7ar<\/strong><\/h3>\n<p>Por onde come\u00e7ar?! Pode come\u00e7ar por escrever o seu pr\u00f3prio contrato de arrendamento de curta dura\u00e7\u00e3o seguindo as diretrizes acima ou descarregar um modelo. Em seguida, leve o seu modelo bruto a um advogado ou solicitador para revis\u00e3o final. Se parte do trabalho foi feito com anteced\u00eancia, as taxas do advogado podem n\u00e3o ser t\u00e3o caras quanto pensa.   <\/p>\n<h2><strong>Conclus\u00e3o<\/strong><\/h2>\n<p>Pode ter notado que muitas das informa\u00e7\u00f5es listadas acima j\u00e1 s\u00e3o fornecidas em sites como o Vrbo e o Airbnb. Como mencionado anteriormente, para os h\u00f3spedes que reservam atrav\u00e9s destes sites, n\u00e3o \u00e9 necess\u00e1rio incluir um contrato de arrendamento de f\u00e9rias adicional, mas nunca \u00e9 demais dar aos arrendat\u00e1rios as informa\u00e7\u00f5es novamente. <\/p>\n<p>No caso de os arrendat\u00e1rios estarem a <a href=\"\/direct-booking-sites\">reservar diretamente consigo<\/a>, todas estas informa\u00e7\u00f5es devem ser absolutamente inclu\u00eddas no contrato. Novamente, cada propriedade de arrendamento \u00e9 diferente e a f\u00f3rmula n\u00e3o \u00e9 \u00fanica para todos. Pense em qualquer outra pol\u00edtica ou termos que gostaria que os seus h\u00f3spedes concordassem.  <\/p>\n<p>No final do dia, conhece as suas propriedades melhor do que ningu\u00e9m. Portanto, quando se trata do seu contrato de arrendamento de curta dura\u00e7\u00e3o, o quando, o porqu\u00ea, o como e o que ele inclui, tudo depende do que precisa para ser um anfitri\u00e3o de propriedade bem-sucedido. <\/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;\">Modelo de Contrato de Arrendamento de F\u00e9rias Gratuito<\/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=\"pt-pt\">\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=\"ebooks\">\n        <input type=\"hidden\" name=\"form_token\" value=\"eyJrIjoiZWJvb2tzIiwidHMiOjE3NzU1ODcyNTgsImlkIjoiaGYtZm9ybS0yIiwiZXhwIjoxNzc2NDUxMjU4fQ.025b2143c7da6ff781b3ba8680cd53766f64980266c35c474316eeb5e727a554\">\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            \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                            \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', '');\n                formData.append('form_title', 'Modelo de Contrato de Arrendamento de F\u00e9rias Gratuito');\n                formData.append('email_template', 'ebook');\n                formData.append('email_subject', 'Free Vacation Rental Agreement Template');\n                formData.append('email_body', '');\n                formData.append('email_pdf', 'https:\/\/www.hostfully.com\/wp-content\/uploads\/2025\/08\/Short-Term-Rental-Agreement-Template-Hostfully.pdf');\n                formData.append('send_email', 'true');\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', 'Free Vacation Rental Agreement Template');\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>Ter um contrato de arrendamento de curta dura\u00e7\u00e3o tem muitas vantagens. Talvez o mais importante seja o facto de ajudar os gestores de propriedades a evitar dores de cabe\u00e7a desnecess\u00e1rias e a prevenir danos. A import\u00e2ncia deste arrendamento de curta dura\u00e7\u00e3o pode depender das plataformas que est\u00e1 a utilizar para arrendar as suas propriedades. Neste [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":60187,"template":"","blog-categories":[2545],"class_list":["post-68675","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-categories-gestao-de-arrendamentos-de-ferias"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o | Hostfully<\/title>\n<meta name=\"description\" content=\"Um contrato de arrendamento de curta dura\u00e7\u00e3o \u00e9 uma ferramenta poderosa que os gestores de propriedades podem usar para proteger os ativos dos seus clientes. Eis o que incluir neles\" \/>\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\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o\" \/>\n<meta property=\"og:description\" content=\"Um contrato de arrendamento de curta dura\u00e7\u00e3o \u00e9 uma ferramenta poderosa que os gestores de propriedades podem usar para proteger os ativos dos seus clientes. Eis o que incluir neles\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/\" \/>\n<meta property=\"og:site_name\" content=\"Hostfully\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hostfully\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-24T19:33:10+00:00\" \/>\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=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/\"},\"author\":{\"name\":\"Pablo Pereyra\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/#\\\/schema\\\/person\\\/d776e1b2fafaf165fba39e4f4b587baa\"},\"headline\":\"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o\",\"datePublished\":\"2024-07-19T02:00:05+00:00\",\"dateModified\":\"2026-02-24T19:33:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/\"},\"wordCount\":2490,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/03-4.png\",\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/\",\"name\":\"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o | Hostfully\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hostfully.com\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/03-4.png\",\"datePublished\":\"2024-07-19T02:00:05+00:00\",\"dateModified\":\"2026-02-24T19:33:10+00:00\",\"description\":\"Um contrato de arrendamento de curta dura\u00e7\u00e3o \u00e9 uma ferramenta poderosa que os gestores de propriedades podem usar para proteger os ativos dos seus clientes. Eis o que incluir neles\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/#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\\\/pt-pt\\\/blog\\\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blogue\",\"item\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/#website\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/\",\"name\":\"Hostfully\",\"description\":\"Award Winning Vacation Rental Software\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/#organization\",\"name\":\"Hostfully\",\"url\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/www.hostfully.com\\\/pt-pt\\\/#\\\/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\\\/pt-pt\\\/#\\\/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\\\/pt-pt\\\/#\\\/schema\\\/person\\\/d776e1b2fafaf165fba39e4f4b587baa\",\"name\":\"Pablo Pereyra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@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":"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o | Hostfully","description":"Um contrato de arrendamento de curta dura\u00e7\u00e3o \u00e9 uma ferramenta poderosa que os gestores de propriedades podem usar para proteger os ativos dos seus clientes. Eis o que incluir neles","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\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/","og_locale":"pt_PT","og_type":"article","og_title":"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o","og_description":"Um contrato de arrendamento de curta dura\u00e7\u00e3o \u00e9 uma ferramenta poderosa que os gestores de propriedades podem usar para proteger os ativos dos seus clientes. Eis o que incluir neles","og_url":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/","og_site_name":"Hostfully","article_publisher":"https:\/\/www.facebook.com\/hostfully","article_modified_time":"2026-02-24T19:33:10+00:00","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":{"Tempo estimado de leitura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#article","isPartOf":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/"},"author":{"name":"Pablo Pereyra","@id":"https:\/\/www.hostfully.com\/pt-pt\/#\/schema\/person\/d776e1b2fafaf165fba39e4f4b587baa"},"headline":"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o","datePublished":"2024-07-19T02:00:05+00:00","dateModified":"2026-02-24T19:33:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/"},"wordCount":2490,"commentCount":0,"publisher":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/#organization"},"image":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png","inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/","url":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/","name":"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o | Hostfully","isPartOf":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#primaryimage"},"image":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hostfully.com\/wp-content\/uploads\/2026\/02\/03-4.png","datePublished":"2024-07-19T02:00:05+00:00","dateModified":"2026-02-24T19:33:10+00:00","description":"Um contrato de arrendamento de curta dura\u00e7\u00e3o \u00e9 uma ferramenta poderosa que os gestores de propriedades podem usar para proteger os ativos dos seus clientes. Eis o que incluir neles","breadcrumb":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.hostfully.com\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#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\/pt-pt\/blog\/o-que-incluir-no-seu-contrato-de-arrendamento-de-curta-duracao\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hostfully.com\/pt-pt\/"},{"@type":"ListItem","position":2,"name":"Blogue","item":"https:\/\/www.hostfully.com\/pt-pt\/blog\/"},{"@type":"ListItem","position":3,"name":"O que incluir no seu contrato de arrendamento de curta dura\u00e7\u00e3o"}]},{"@type":"WebSite","@id":"https:\/\/www.hostfully.com\/pt-pt\/#website","url":"https:\/\/www.hostfully.com\/pt-pt\/","name":"Hostfully","description":"Award Winning Vacation Rental Software","publisher":{"@id":"https:\/\/www.hostfully.com\/pt-pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hostfully.com\/pt-pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/www.hostfully.com\/pt-pt\/#organization","name":"Hostfully","url":"https:\/\/www.hostfully.com\/pt-pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.hostfully.com\/pt-pt\/#\/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\/pt-pt\/#\/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\/pt-pt\/#\/schema\/person\/d776e1b2fafaf165fba39e4f4b587baa","name":"Pablo Pereyra","image":{"@type":"ImageObject","inLanguage":"pt-PT","@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\/pt-pt\/wp-json\/wp\/v2\/blog\/68675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":1,"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/blog\/68675\/revisions"}],"predecessor-version":[{"id":74529,"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/blog\/68675\/revisions\/74529"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/media\/60187"}],"wp:attachment":[{"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=68675"}],"wp:term":[{"taxonomy":"blog-categories","embeddable":true,"href":"https:\/\/www.hostfully.com\/pt-pt\/wp-json\/wp\/v2\/blog-categories?post=68675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}