{"id":5178,"date":"2025-10-15T16:23:38","date_gmt":"2025-10-15T16:23:38","guid":{"rendered":"https:\/\/www.villa-finder.com\/magazine\/?p=5178"},"modified":"2026-04-14T05:17:10","modified_gmt":"2026-04-14T05:17:10","slug":"revenue-growth-with-villa-finder","status":"publish","type":"post","link":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/","title":{"rendered":"How This Villa Increased Bookings by +49.3% in 9 Months With Villa Finder"},"content":{"rendered":"\n<p>When <a href=\"https:\/\/www.villa-bali.com\/en\/villa\/berawa\/villa-lapis-1\" target=\"_blank\" rel=\"noreferrer noopener\">Villa Lapis 1<\/a> first came to Villa Finder, the numbers revealed challenges no villa owner wants to face. Located in the heart of <a href=\"https:\/\/www.villa-finder.com\/en\/berawa\" target=\"_blank\" rel=\"noreferrer noopener\">Berawa<\/a>, one of Canggu\u2019s hottest lifestyle districts, the villa had everything going for it: a prime location, modern simplicity, and a homey, relaxed vibe that should have made it a top choice for travelers. Yet bookings were inconsistent, revenue was lagging, and the villa wasn\u2019t living up to its potential.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_75 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#The_Starting_Point_Control_at_the_Expense_of_Growth\" >The Starting Point: Control at the Expense of Growth<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#The_Turning_Point_A_Leap_of_Faith\" >The Turning Point: A Leap of Faith<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#The_Results_From_Inconsistent_to_Consistently_Thriving\" >The Results: From Inconsistent to Consistently Thriving<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#What_Drove_the_Growth_%E2%80%93_Before_and_After\" >What Drove the Growth &#8211;&nbsp; Before and After<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#Not_Without_Challenges\" >Not Without Challenges<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#The_Owners_Perspective\" >The Owner\u2019s Perspective<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#The_Bigger_Picture\" >The Bigger Picture<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#Your_Villa_Could_Be_the_Next_Success_Story\" >Your Villa Could Be the Next Success Story<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Starting_Point_Control_at_the_Expense_of_Growth\"><\/span><strong>The Starting Point: Control at the Expense of Growth<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The owner of Villa Lapis 1 had tried the agency route before and left disappointed. Their previous marketing partner had overpromised, underdelivered, and left them skeptical of outside management altogether. So they decided to handle bookings, pricing, and strategy themselves.<\/p>\n\n\n\n<p>On paper, it made sense\u2014retain control, avoid disappointment, and keep transparency. But in practice, the self-managed strategy had critical flaws:<\/p>\n\n\n\n<ul>\n<li>Pricing didn\u2019t shift with market trends, so the villa was often misaligned with guest expectations.<\/li>\n\n\n\n<li>Distribution was limited, which meant fewer eyes on the property.<\/li>\n\n\n\n<li>Performance monitoring was reactive instead of proactive, leaving gaps in occupancy.<\/li>\n<\/ul>\n\n\n\n<p>The result? <em>Occupancy in 2024 hovered around 43.9%<\/em>. Worse, there were entire months\u2014like February and March\u2014when no bookings came in at all.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Turning_Point_A_Leap_of_Faith\"><\/span><strong>The Turning Point: A Leap of Faith<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>December 5th, 2024, marked the moment of change. After months of conversation and careful analysis, the owner decided to hand full control to <a href=\"https:\/\/www.villa-finder.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Villa Finder<\/a>.<\/p>\n\n\n\n<p>Convincing a cautious owner to let go wasn\u2019t about making grand promises. Instead, Villa Finder laid out a clear, data-driven case:<\/p>\n\n\n\n<ul>\n<li>Realistic projections based on actual market dynamics.<\/li>\n\n\n\n<li>Transparent pricing strategies that could flex with demand.<\/li>\n\n\n\n<li>Evidence of consistent support, with a team ready to manage not just the numbers but the relationship itself.<\/li>\n<\/ul>\n\n\n\n<p>This balance of professionalism and accountability built trust. No smoke and mirrors, no inflated expectations\u2014just a steady partnership.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"350\" src=\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Living-Room.jpg\" alt=\"Villa Lapis 1 Living Room: Revenue Success Story with Villa Finder\" class=\"wp-image-5184\" style=\"width:750px;height:auto\" srcset=\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Living-Room.jpg 630w, https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Living-Room-300x167.jpg 300w, https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Living-Room-600x333.jpg 600w\" sizes=\"(max-width: 630px) 100vw, 630px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Results_From_Inconsistent_to_Consistently_Thriving\"><\/span><strong>The Results: From Inconsistent to Consistently Thriving<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Nine months later, the numbers paint a very different picture:<\/p>\n\n\n\n<p><strong>Occupancy<\/strong><\/p>\n\n\n\n<ul>\n<li>2024 YTD (Q1-Q3, 2025) Average: <strong>48.4%<\/strong><\/li>\n\n\n\n<li>2025 YTD (Q1-Q3, 2026) Average: <strong>74.1%<\/strong><strong><br><\/strong> \u2192 That\u2019s a +25.7 percentage point jump, translating into about <strong><em>53.1% year-on-year growth<\/em><\/strong><strong>.<\/strong><\/li>\n<\/ul>\n\n\n\n<p><strong>Gross Booking Value: From Steady to Surging<\/strong><\/p>\n\n\n\n<ul>\n<li>In 2024, our villas generated <strong>USD 29,556<\/strong> in booking value between Q1 and Q3. Fast forward a year, and that figure climbed to <strong>USD 44,120<\/strong> over the same period. That\u2019s not just an uptick\u2014it\u2019s a <strong>49.3% year-on-year<\/strong><\/li>\n<\/ul>\n\n\n\n<p>At this stage, we observe a <strong>+49.3% overall increase in revenue<\/strong> compared to last year, with three months still ahead of us. The villa is right on track to meet Villa Finder\u2019s <strong>USD 45K\u201346K projection<\/strong>, despite challenges from nearby construction, a clear sign of both the resilience of the villa\u2019s performance and the strength of Villa Finder\u2019s strategy.<\/p>\n\n\n\n<p>Even more telling: after Villa Finder stepped in, revenue stabilized. July 2025 hit a record high of USD 9,041\u2014the villa\u2019s best month ever.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_Drove_the_Growth_%E2%80%93_Before_and_After\"><\/span><strong>What Drove the Growth &#8211;&nbsp; Before and After<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Behind the scenes, Villa Finder implemented a multi-layered strategy:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Smart Pricing<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>Before: <\/strong>Rates were set manually, with little to no market research. Prices stayed the same even when demand shifted.<\/li>\n\n\n\n<li><strong>After: <\/strong>We don\u2019t just \u201cset and forget\u201d pricing. Our team runs daily market monitoring, adjusting rates so the villa always stays competitive. We combine advanced tools like PriceLabs and AirDNA with our own market research and competitor tracking. Flexible discounts capture last-minute bookings without cheapening the property\u2019s appeal. Best of all, we have a dedicated pricing team watching trends and making adjustments so owners don\u2019t have to.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visibility<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>Before: <\/strong>The villa relied only on Airbnb, depending on a single stream of bookings.<\/li>\n\n\n\n<li><strong>After: <\/strong>We expanded exposure to all the major platforms\u2014Booking.com, Agoda, Expedia, Airbnb\u2014and niche sites that attract targeted guests. In total, that\u2019s 15 distribution channels plus the villa\u2019s own direct website (<a href=\"https:\/\/www.villalapis.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.villalapis.com\/<\/a>). On top of that, the property now benefits from the reach of Villa Finder\u2019s 1,500+ global travel partners, putting it in front of audiences worldwide. And for this villa, we also implemented a dual-channel manager strategy to reach even wider audiences. Our team and system make it possible to use two channel managers simultaneously. Why two? Each channel manager has its own strengths and syncs with different platforms. Using more than one lets us capture the best of both worlds.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Calendar Sync<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>Before: <\/strong>The owner manually updated calendars\u2014slow, error-prone, and stressful.<\/li>\n\n\n\n<li><strong>After:<\/strong> We implemented a channel manager (at our cost) to automate calendar updates across every platform in real-time. The result? No more double bookings, maximized availability, and far less hassle.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Clear Positioning<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>Before: <\/strong>Listings used smartphone photos and generic descriptions that didn\u2019t match the villa\u2019s personality.<\/li>\n\n\n\n<li><strong>After: <\/strong>We invested in professional photography and crafted tailored descriptions that highlighted the villa\u2019s strengths\u2014its prime Berawa location and modern, family-friendly design. The listing now attracts the right audience: stylish groups and young families seeking comfort close to the beach. We also monitor each platform\u2019s algorithm and adjust regularly to maintain top visibility.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Performance Monitoring<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>Before: <\/strong>No proactive monitoring. The villa relied solely on Airbnb\u2019s reports.<\/li>\n\n\n\n<li><strong>After: <\/strong>We track occupancy, revenue, and shifting market dynamics in real-time. If demand changes, strategies change too. Nothing sits static. This level of monitoring keeps the villa ahead of the curve\u2014and for owners who want to DIY, here\u2019s the secret: <em>proactive tracking and quick adjustments are what really keep performance strong.<\/em><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Client Support<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>Before: <\/strong>No structured support. The owner handled everything themselves.<\/li>\n\n\n\n<li><strong>After: <\/strong>Guests now enjoy the support of a 24\/7 travel consultant team, available to handle inquiries from anywhere in the world. Once a booking is made, our dedicated concierge team steps in\u2014arranging personalized requests, managing guest expectations, and ensuring smooth stays from check-in to check-out. They also collect reviews and handle feedback, turning happy guests into repeat visitors.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Not_Without_Challenges\"><\/span><strong>Not Without Challenges<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>The villa wasn\u2019t operating in perfect conditions. Ongoing construction nearby was an unavoidable factor, something that might have discouraged bookings. Yet thanks to sharp positioning and flexible pricing, performance still improved. The resilience of the strategy proved that even external challenges don\u2019t have to hold a villa back when the fundamentals are strong.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"630\" height=\"350\" src=\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Dining-Room.jpg\" alt=\"Villa Lapis 1 Dining Room\" class=\"wp-image-5183\" style=\"width:750px;height:auto\" srcset=\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Dining-Room.jpg 630w, https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Dining-Room-300x167.jpg 300w, https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/Villa-Lapis-1-Dining-Room-600x333.jpg 600w\" sizes=\"(max-width: 630px) 100vw, 630px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Owners_Perspective\"><\/span><strong>The Owner\u2019s Perspective<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>For the owner of Villa Lapis 1, the transformation was more than just financial\u2014it was about regaining peace of mind. Here\u2019s how they described their experience with Villa Finder:<\/p>\n\n\n\n<p><em>\u201cI trust Villa Finder because they always share clear, real data and useful insights. Communication is straightforward, and having one point of contact makes everything simple and efficient. The team is open about strategies, revenues, and even challenges, which really helps me feel less anxious and more confident about how my villas are being managed.\u201d<\/em><\/p>\n\n\n\n<p>Handing over control wasn\u2019t about losing involvement\u2014it was about gaining a partner who could deliver results without the stress of constant micromanagement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Bigger_Picture\"><\/span><strong>The Bigger Picture<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Villa Lapis 1\u2019s turnaround is more than just a nice case study\u2014it\u2019s hard proof that professional management translates directly into stronger revenue. In less than a year, the villa went from inconsistent occupancy and stagnant income to delivering a <strong>+49.3% increase in gross booking value<\/strong> and hitting its <strong>highest revenue month ever<\/strong>. That\u2019s not theory, it\u2019s cash in the bank.<\/p>\n\n\n\n<p>Even with external challenges like nearby construction, the villa stayed on track to meet Villa Finder\u2019s <strong>USD 45K\u201346K annual projection<\/strong>, a milestone that once felt out of reach. Occupancy is up, visibility is broader, but the headline is clear: <strong>revenue is growing, and it\u2019s growing fast.<\/strong><\/p>\n\n\n\n<p>For owners, this means one thing\u2014your villa doesn\u2019t just need to be online, it needs to be managed with precision. Pricing, positioning, and proactive monitoring aren\u2019t \u201cnice-to-haves.\u201d They\u2019re the difference between flatlining and thriving. Villa Lapis 1 proves that when experts handle these fundamentals, revenue follows.At the end of the day, results aren\u2019t measured in clicks, likes, or impressions. They\u2019re measured in <strong>dollars earned and nights booked<\/strong>. And that\u2019s exactly what Villa Finder delivers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Your_Villa_Could_Be_the_Next_Success_Story\"><\/span>Your Villa Could Be the Next Success Story<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Beyond revenue growth, we offer complete <a href=\"https:\/\/www.villa-finder.com\/en\/static\/villa-management-service\" target=\"_blank\" rel=\"noreferrer noopener\">villa management services<\/a> to care for every aspect of your home. If you are ready to make your villa grow like Villa Lapis 1, subscribe to our Newsletter to gain exclusive access to expert strategies, villa market insights, and insider tips trusted by owners. Straight to your inbox.<\/p>\n\n\n\n<style>@import url(https:\/\/fonts.bunny.net\/css?family=space-mono:400,700);<\/style>\n<style>\n#_form_15_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_15_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_15_._form-top{top:0}#_form_15_._form-bottom{bottom:0}#_form_15_._form-left{left:0}#_form_15_._form-right{right:0}#_form_15_ input[type=\"text\"],#_form_15_ input[type=\"tel\"],#_form_15_ input[type=\"date\"],#_form_15_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_15_ textarea{resize:none}#_form_15_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#FB306F !important;border:0 !important;-moz-border-radius:1px !important;-webkit-border-radius:1px !important;border-radius:1px !important;color:#FFFFFF !important;padding:12px !important}#_form_15_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_15_ ._submit.processing{position:relative}#_form_15_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#FB306F, #FB306F), conic-gradient(#FB306F, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_15_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#FB306F !important;border:0 !important;-moz-border-radius:1px !important;-webkit-border-radius:1px !important;border-radius:1px !important;color:#FFFFFF !important;padding:12px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_15_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_15_ ._close-icon:before{position:relative}#_form_15_ ._form-body{margin-bottom:30px}#_form_15_ ._form-image-left{width:150px;float:left}#_form_15_ ._form-content-right{margin-left:164px}#_form_15_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_15_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_15_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_15_ ._form-label,#_form_15_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_15_._dark ._form-branding{color:#333}#_form_15_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_15_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_15_ ._form_element *{font-size:14px}#_form_15_ ._form_element._clear{clear:both;width:100%;float:none}#_form_15_ ._form_element._clear:after{clear:left}#_form_15_ ._form_element input[type=\"text\"],#_form_15_ ._form_element input[type=\"date\"],#_form_15_ ._form_element select,#_form_15_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_15_ ._field-wrapper{position:relative}#_form_15_ ._inline-style{float:left}#_form_15_ ._inline-style input[type=\"text\"]{width:150px}#_form_15_ ._inline-style:not(._clear){margin-right:20px}#_form_15_ ._form_element img._form-image{max-width:100%}#_form_15_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_15_ ._clear-element{clear:left}#_form_15_ ._full_width{width:100%}#_form_15_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_15_ input[type=\"text\"]._has_error,#_form_15_ textarea._has_error{border:#F37C7B 1px solid}#_form_15_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_15_ ._show_be_error{float:left}#_form_15_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_15_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_15_ ._error._below{padding-top:8px;top:100%;right:0}#_form_15_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_15_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_15_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_15_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_15_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_15_ ._button-wrapper ._error-inner._form_error{position:static}#_form_15_ ._error-inner._no_arrow{margin-bottom:10px}#_form_15_ ._error-arrow{position:absolute;width:0;height:0}#_form_15_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_15_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_15_ select.datetime_time{width:29%;display:inline;height:32px}#_form_15_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_15_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_15_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_15_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_15_ ._form-content{margin:0;width:100%}#_form_15_ ._form-inner{display:block;min-width:100%}#_form_15_ ._form-title,#_form_15_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_15_ ._form-title{font-size:1.2em}#_form_15_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_15_ ._form-element,#_form_15_ ._inline-style,#_form_15_ input[type=\"text\"],#_form_15_ label,#_form_15_ p,#_form_15_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_15_ ._row._checkbox-radio label{display:inline}#_form_15_ ._row,#_form_15_ p,#_form_15_ label{margin-bottom:0.7em;width:100%}#_form_15_ ._row input[type=\"checkbox\"],#_form_15_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_15_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_15_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_15_ ._form-image{max-width:100%;height:auto !important}#_form_15_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_15_ input[type=\"radio\"],#_form_15_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_15_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_15_ ._inline-style{margin:20px 0 0 !important}#_form_15_ ._inline-style input[type=\"text\"]{width:100%}}#_form_15_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_15_ .sms_consent_checkbox input[type=\"checkbox\"]{float:left;margin:5px 10px 10px 0}#_form_15_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_15_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_15_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_15_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_15_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_15_ .field-required{color:#FF0000}#_form_15_{position:relative;text-align:left;margin:25px auto 0;padding-top:5px;padding-right:5px;padding-bottom:5px;padding-left:5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:#f7f7f7 !important;border-top:0px solid black !important;border-right:0px solid black !important;border-bottom:0px solid black !important;border-left:0px solid black !important;max-width:400px;-moz-border-radius:0px !important;-webkit-border-radius:0px !important;border-radius:0px !important;color:#000000}#_form_15_ ._show_be_error{min-width:100%}#_form_15_._inline-form,#_form_15_._inline-form ._form-content{font-family:Space Mono;font-size:15px;font-weight:400}#_form_15_._inline-form ._row span,#_form_15_._inline-form ._row label{font-family:Space Mono;font-size:14px;font-weight:400;line-height:1.6em;color:black !important}#_form_15__inlineform input[type=\"text\"],#_form_15__inlineform input[type=\"date\"],#_form_15__inlineform input[type=\"tel\"],#_form_15__inlineform select,#_form_15__inlineform textarea:not(.g-recaptcha-response){font-family:Space Mono;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_15_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_15_._inline-form .sms_consent_message,#_form_15_._inline-form ._form-thank-you{font-family:Space Mono;font-size:15px;font-weight:400;color:black !important}#_form_15_._inline-form ._form-label,#_form_15_._inline-form ._form-emailidentifier,#_form_15_._inline-form ._form-checkbox-option-label{font-family:Space Mono;font-size:14px;font-weight:700;line-height:1.6em;color:black !important}#_form_15_._inline-form ._submit{margin-top:12px;font-family:Space Mono;font-size:14px;font-weight:400}#_form_15_._inline-form ._html-code h1,#_form_15_._inline-form ._html-code h2,#_form_15_._inline-form ._html-code h3,#_form_15_._inline-form ._html-code h4,#_form_15_._inline-form ._html-code h5,#_form_15_._inline-form ._html-code h6,#_form_15_._inline-form ._form-title{font-family:Space Mono;font-size:22px;line-height:normal;font-weight:700;color:black;margin-bottom:0;display:block}#_form_15_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_15_:before,#_form_15_:after{content:\" \";display:table}#_form_15_:after{clear:both}#_form_15_._inline-style{width:auto;display:inline-block}#_form_15_._inline-style input[type=\"text\"],#_form_15_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_15_._inline-style button._inline-style{position:relative;top:27px}#_form_15_._inline-style p{margin:0}#_form_15_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_15_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_15_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_15_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_15_ .iti{width:100%}#_form_15_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_15_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_15_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_15_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_15_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_15_ .iti__country-list--dropup{margin-bottom:4px}#_form_15_ .phone-error-hidden{display:none}#_form_15_ .phone-error{color:#E40E49}#_form_15_ .phone-input-error{border:1px solid #E40E49 !important}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_15_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}<\/style>\n<form method=\"POST\" action=\"https:\/\/villa-finder10367.activehosted.com\/proc.php\" id=\"_form_15_\" class=\"_form _form_15 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"15\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"15\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"f390cddcdda38d733e0eb39d4e976abf\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x18824887 _full_width \" >\n      <label for=\"fullname\" class=\"_form-label\">\n        Full Name<span class=\"field-required\">\n        *\n      <\/span>\n    <\/label>\n    <div class=\"_field-wrapper\">\n      <input type=\"text\" id=\"fullname\" name=\"fullname\" placeholder=\"Type your name\" required\/>\n    <\/div>\n  <\/div>\n  <div class=\"_form_element _x60547161 _full_width \" >\n    <label for=\"email\" class=\"_form-label\">\n      Email<span class=\"field-required\">\n      *\n    <\/span>\n  <\/label>\n  <div class=\"_field-wrapper\">\n    <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"Enter your email address\" required\/>\n  <\/div>\n<\/div>\n<div class=\"_form_element _x67895068 _full_width \" >\n  <label for=\"phone\" class=\"_form-label\">\n    Phone\n  <\/label>\n  <div class=\"_field-wrapper\">\n    <input type=\"text\" id=\"phone\" name=\"phone\" placeholder=\"Type your phone number\" \/>\n  <\/div>\n<\/div>\n<div class=\"_form_element _x89149023 _full_width \" >\n  <label for=\"field[30]\" class=\"_form-label\">\n    Let Us Know You Better\n  <\/label>\n  <div class=\"_field-wrapper\">\n    <input type=\"text\" id=\"field[30]\" name=\"field[30]\" value=\"\" placeholder=\"the villa&#039;s name, location of interest, development plans, or other relevant details.\" \/>\n  <\/div>\n<\/div>\n<label for=\"sms_consent\" class=\"sms_consent_checkbox\">\n  <input type=\"checkbox\" id=\"sms_consent\" name=\"sms_consent\" required \/>\n  <div class=\"sms_consent_message\">\n    By submitting this form and signing up for texts, you consent to receive marketing text messages (e.g. promos, cart reminders) from [Your Company Name] at the number provided. Consent is not a condition of purchase. Msg &#038; data rates may apply. Msg frequency varies. Unsubscribe at any time by replying STOP.\n  <\/div>\n<\/label>\n<div class=\"_button-wrapper _full_width\">\n  <button id=\"_form_15_submit\" class=\"_submit\" type=\"submit\">\n    Submit\n  <\/button>\n<\/div>\n<div class=\"_clear-element\">\n<\/div>\n<\/div>\n<div class=\"_form-thank-you\" style=\"display:none;\">\n<\/div>\n<\/form><script>\nwindow.cfields = {\"30\":\"let_us_know_you_better\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button[type=\"submit\"]'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner _show_be_error';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._show_pc_confirmation = function(id, header, detail, show, email) {\n    var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');\n    if (pc_confirmation.style.display === 'none') {\n        form.querySelector('._form-content').style.display = 'none';\n        pc_confirmation.innerHTML = \"<div class='_form-title'>\" + header + \"<\/div>\" + \"<p>\" + detail + \"<\/p>\" +\n        \"<button class='_submit' id='hideButton'>Manage preferences<\/button>\";\n        pc_confirmation.style.display = 'block';\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '0';\n    } else {\n        form.querySelector('._form-content').style.display = 'inline';\n        pc_confirmation.style.display = 'none';\n    }\n\n    var hideButton = document.getElementById('hideButton');\n    \/\/ Add event listener to the button\n    hideButton.addEventListener('click', function() {\n        var submitButton = document.querySelector('#_form_15_submit');\n        submitButton.disabled = false;\n        submitButton.classList.remove('processing');\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '1';\n        const cacheBuster = new URL(window.location.href);\n        cacheBuster.searchParams.set('v', new Date().getTime());\n        window.location.href = cacheBuster.toString();\n    });\n\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_15_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"15\", \"Sorry, your submission failed. Please shorten your responses and try again.\");\n            } else {\n                _show_error(\"15\", \"Sorry, your submission failed. Please try again.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    var iti;\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n    var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_15_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%m-%d-%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat &#038;&#038; acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' &#038;&#038; (elem.type != 'checkbox' || elem.name === 'sms_consent')) {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' &#038;&#038; \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Please select an option.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found &#038;&#038; elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"Checking %s is required\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            &#038;&#038; (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Please select an option.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"This field is required.\");\n            }\n        }\n        if (no_error &#038;&#038; elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&#038;=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Enter a valid email address.\");\n            }\n        }\n        if (no_error &#038;&#038; (elem.id == 'phone')) {\n            if (elem.value.trim() &#038;&#038; typeof iti != 'undefined' &#038;&#038; !iti.isValidNumber()) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Enter a valid phone number.\");\n            }\n        }\n        if (no_error &#038;&#038; \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Enter a valid date.\");\n            }\n        }\n\n        if (no_error &#038;&#038; elem.name === 'sms_consent') {\n            const elemShouldBeChecked = (!!elem.attributes.required &#038;&#038; !elem.checked);\n            if (elemShouldBeChecked) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Please check this box to continue\");\n            } else {\n                elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true;\n        }\n        if((el.name === 'email' || el.id === 'phone') &#038;&#038; el.value !== \"\"){\n            return true;\n        }\n\n        return false;\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time' || input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            function getElementsArray(name){\n                                const value =  form_to_submit.elements[name];\n                                if (Array.isArray(value)){\n                                    return value;\n                                }\n                                return [value];\n                            }\n                            var radios = getElementsArray(el.name);\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'change', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error &#038;&#038; e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&#038;\")};\n\n    const formSupportsPost = false;\n    var form_submit = function(e) {\n\n        e.preventDefault();\n        if (validate_form()) {\n            if(form_to_submit.querySelector('input[name=\"phone\"]') &#038;&#038; typeof iti != 'undefined') {\n                form_to_submit.querySelector('input[name=\"phone\"]').value = iti.getNumber();\n            }\n            \/\/ use this trick to get the submit button &#038; disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_15_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                    var serialized = _form_serialize(document.getElementById('_form_15_')).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n                var formData = new FormData();\n                const searchParams = new URLSearchParams(serialized);\n                searchParams.forEach((value, key) => {\n                    if (key !== 'hideButton') {\n                        formData.append(key, value);\n                    }\n                });\n                let request = {\n                    headers: {\n                        \"Accept\": \"application\/json\"\n                    },\n                    body: formData,\n                    method: \"POST\"\n                };\n\n                let pageUrlParams = new URLSearchParams(window.location.search);\n                if (pageUrlParams.has('t')) {\n                    request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');\n                }\n                const response = await fetch('https:\/\/villa-finder10367.activehosted.com\/proc.php?jsonp=true', request);\n\n                return response.json();\n            }\n            if (formSupportsPost) {\n                submitForm().then((data) => {\n                    eval(data.js);\n                }).catch(() => {\n                    _show_error(\"15\", \"Sorry, your submission failed. Please try again.\");\n                });\n            } else {\n                _load_script('https:\/\/villa-finder10367.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n            }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script>\n\n\n\n<p><strong>Related Articles<\/strong>:<\/p>\n\n\n\n<p><a href=\"https:\/\/www.villa-finder.com\/magazine\/bali-villa-market-2025\/\" target=\"_blank\" rel=\"noreferrer noopener\">Standing Out in Bali\u2019s Villa Market: Why 2025 Is No Time to Play It Safe<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.villa-finder.com\/magazine\/are-otas-helping-you-grow\/\" target=\"_blank\" rel=\"noreferrer noopener\">Are OTAs Helping You or Owning You?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.villa-finder.com\/magazine\/the-rupiah-rule\/\" target=\"_blank\" rel=\"noreferrer noopener\">The Rupiah Rule: A Must-Know for Every Property Owner in Indonesia<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>When Villa Lapis 1 first came to Villa Finder, the numbers revealed challenges no villa owner wants to face. Located in the heart of Berawa, one of Canggu\u2019s hottest lifestyle districts, the villa had everything going for it: a prime location, modern simplicity, and a homey, relaxed vibe that should have made it a top <\/p>\n","protected":false},"author":16,"featured_media":5182,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[93,29],"tags":[309,214,54,243,235],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>+49.3% Revenue Growth in 9 Months for This Villa with Villa Finder<\/title>\n<meta name=\"description\" content=\"This case study shows how Villa Finder helped a villa increase revenue by 49.3% through expert pricing, visibility, and proactive management.\" \/>\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.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"+49.3% Revenue Growth in 9 Months for This Villa with Villa Finder\" \/>\n<meta property=\"og:description\" content=\"This case study shows how Villa Finder helped a villa increase revenue by 49.3% through expert pricing, visibility, and proactive management.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/\" \/>\n<meta property=\"og:site_name\" content=\"Villa Finder Magazine\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-15T16:23:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-14T05:17:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Arie Lesmana\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arie Lesmana\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/\"},\"author\":{\"name\":\"Arie Lesmana\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/person\/bcbbbbc2539ffd44a416a3af449e35e1\"},\"headline\":\"How This Villa Increased Bookings by +49.3% in 9 Months With Villa Finder\",\"datePublished\":\"2025-10-15T16:23:38+00:00\",\"dateModified\":\"2026-04-14T05:17:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/\"},\"wordCount\":1501,\"publisher\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg\",\"keywords\":[\"case study\",\"market study\",\"rental tips\",\"villa management\",\"villa owners\"],\"articleSection\":[\"Market Study\",\"Rental Tips\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/\",\"url\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/\",\"name\":\"+49.3% Revenue Growth in 9 Months for This Villa with Villa Finder\",\"isPartOf\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg\",\"datePublished\":\"2025-10-15T16:23:38+00:00\",\"dateModified\":\"2026-04-14T05:17:10+00:00\",\"description\":\"This case study shows how Villa Finder helped a villa increase revenue by 49.3% through expert pricing, visibility, and proactive management.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage\",\"url\":\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg\",\"contentUrl\":\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg\",\"width\":1200,\"height\":630,\"caption\":\"How This Villa Increased Bookings by +49.3% in 9 Months With Villa Finder\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.villa-finder.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How This Villa Increased Bookings by +49.3% in 9 Months With Villa Finder\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#website\",\"url\":\"https:\/\/www.villa-finder.com\/magazine\/\",\"name\":\"Villa Finder Magazine\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.villa-finder.com\/magazine\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#organization\",\"name\":\"Villa Finder\",\"url\":\"https:\/\/www.villa-finder.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2019\/06\/villa-finder-logo-small.png\",\"contentUrl\":\"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2019\/06\/villa-finder-logo-small.png\",\"width\":480,\"height\":150,\"caption\":\"Villa Finder\"},\"image\":{\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/person\/bcbbbbc2539ffd44a416a3af449e35e1\",\"name\":\"Arie Lesmana\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/20462a365072a3ebbeb158ac7dab8143?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/20462a365072a3ebbeb158ac7dab8143?s=96&d=mm&r=g\",\"caption\":\"Arie Lesmana\"},\"url\":\"https:\/\/www.villa-finder.com\/magazine\/author\/arie\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"+49.3% Revenue Growth in 9 Months for This Villa with Villa Finder","description":"This case study shows how Villa Finder helped a villa increase revenue by 49.3% through expert pricing, visibility, and proactive management.","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.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/","og_locale":"en_US","og_type":"article","og_title":"+49.3% Revenue Growth in 9 Months for This Villa with Villa Finder","og_description":"This case study shows how Villa Finder helped a villa increase revenue by 49.3% through expert pricing, visibility, and proactive management.","og_url":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/","og_site_name":"Villa Finder Magazine","article_published_time":"2025-10-15T16:23:38+00:00","article_modified_time":"2026-04-14T05:17:10+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg","type":"image\/jpeg"}],"author":"Arie Lesmana","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Arie Lesmana","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#article","isPartOf":{"@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/"},"author":{"name":"Arie Lesmana","@id":"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/person\/bcbbbbc2539ffd44a416a3af449e35e1"},"headline":"How This Villa Increased Bookings by +49.3% in 9 Months With Villa Finder","datePublished":"2025-10-15T16:23:38+00:00","dateModified":"2026-04-14T05:17:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/"},"wordCount":1501,"publisher":{"@id":"https:\/\/www.villa-finder.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage"},"thumbnailUrl":"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg","keywords":["case study","market study","rental tips","villa management","villa owners"],"articleSection":["Market Study","Rental Tips"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/","url":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/","name":"+49.3% Revenue Growth in 9 Months for This Villa with Villa Finder","isPartOf":{"@id":"https:\/\/www.villa-finder.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage"},"image":{"@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage"},"thumbnailUrl":"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg","datePublished":"2025-10-15T16:23:38+00:00","dateModified":"2026-04-14T05:17:10+00:00","description":"This case study shows how Villa Finder helped a villa increase revenue by 49.3% through expert pricing, visibility, and proactive management.","breadcrumb":{"@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#primaryimage","url":"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg","contentUrl":"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2025\/10\/How-This-Villa-Increased-Bookings-by-49.3-in-9-Months-With-Villa-Finder.jpg","width":1200,"height":630,"caption":"How This Villa Increased Bookings by +49.3% in 9 Months With Villa Finder"},{"@type":"BreadcrumbList","@id":"https:\/\/www.villa-finder.com\/magazine\/revenue-growth-with-villa-finder\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.villa-finder.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"How This Villa Increased Bookings by +49.3% in 9 Months With Villa Finder"}]},{"@type":"WebSite","@id":"https:\/\/www.villa-finder.com\/magazine\/#website","url":"https:\/\/www.villa-finder.com\/magazine\/","name":"Villa Finder Magazine","description":"","publisher":{"@id":"https:\/\/www.villa-finder.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.villa-finder.com\/magazine\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.villa-finder.com\/magazine\/#organization","name":"Villa Finder","url":"https:\/\/www.villa-finder.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2019\/06\/villa-finder-logo-small.png","contentUrl":"https:\/\/www.villa-finder.com\/magazine\/wp-content\/uploads\/2019\/06\/villa-finder-logo-small.png","width":480,"height":150,"caption":"Villa Finder"},"image":{"@id":"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/person\/bcbbbbc2539ffd44a416a3af449e35e1","name":"Arie Lesmana","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.villa-finder.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/20462a365072a3ebbeb158ac7dab8143?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/20462a365072a3ebbeb158ac7dab8143?s=96&d=mm&r=g","caption":"Arie Lesmana"},"url":"https:\/\/www.villa-finder.com\/magazine\/author\/arie\/"}]}},"_links":{"self":[{"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/posts\/5178"}],"collection":[{"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/comments?post=5178"}],"version-history":[{"count":2,"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/posts\/5178\/revisions"}],"predecessor-version":[{"id":6375,"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/posts\/5178\/revisions\/6375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/media\/5182"}],"wp:attachment":[{"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/media?parent=5178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/categories?post=5178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.villa-finder.com\/magazine\/wp-json\/wp\/v2\/tags?post=5178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}