LIMITED OFFER! BUY NOW STAY LATER.
Terms & conditions applied.

/****************************** * Editable section -- Start -- ******************************/ // DATE SETTINGS - EDIT AS REQUIRED var daysinAdvance = 2; // Sets default days in advance from current date var numberNights = 2; // Sets default number of nights var numberYears = 3; // Sets default number of years to display in year select list var numberNightsMin = 1; // Sets minimum number of nights accepted var imgDir = "images/"; // Directory for the dynamic calendar script and images. Trailing slash must be included. // FLAG SETTINGS ON/OFF - SET TO 1 FOR ON & 0 FOR OFF var wdDisplay = 1; //weekday display var numberNightsDisplay = 0; //number of nights display var departDateDisplay = 1; //departure dates display var departDateUpdate = 1; //auto update departure date // WEEK DAY AND NUMBER NIGHTS TEXT - EDIT TEXT AS REQUIRED var wdArray = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"); var nightTxt = " Night"; var nightsTxt = " Nights"; // ERROR MESSAGE TEXT - EDIT TEXT AS REQUIRED var invalidDateTxt = "Invalid Arrival Date. Please check number of days selected"; var invalidDatePriorTxt = "Arrival Date selected is prior Today's date. Please change..."; var invalidDepartDateTxt = "Invalid Departure Date. Please check number of days selected"; var invalidDepartTxt = "Departure Date is prior to Arrival Date selected. Please change..."; var invalidNightsTxt = "Sorry, reservations under "+numberNightsMin+" nights are not accepted."; /****************************** * Editable section -- End -- ******************************/ /************************************************** * DO NOT CHANGE JAVASCRIPT SETTINGS BELOW THIS LINE **************************************************/ //Days in each month Array var aNumDays = new Array (31,0,31,30,31,30,31,31,30,31,30,31); //Cancel out if no departure date display if(departDateDisplay == 0) { numberNightsDisplay = 0; departDateUpdate = 0; } //Sets dates selected from dyncalendar function calendarCallback(day, month, year, objName, formName) { if(objName == "calendarArrive"){ document.forms[formName].fd.selectedIndex = day-1; document.forms[formName].fm.selectedIndex = month-1; document.forms[formName].fy.selectedIndex = year - document.forms[formName].fy.options[0].text; updateDates(document.forms[formName]); if(wdDisplay == 1) setWkd(formName, 1); }else{ //objName == calendarDepart document.forms[formName].td.selectedIndex = day-1; document.forms[formName].tm.selectedIndex = month-1; document.forms[formName].ty.selectedIndex = year - document.forms[formName].ty.options[0].text; if(wdDisplay == 1) setWkd(formName, 1); } } //Update form with selected dates function updateDates(form, loadDates) { //check Leap Year if(form.fm.selectedIndex==1) { var leapYear = new Date (form.fy.options[form.fy.selectedIndex].text,form.fm.selectedIndex+1,1); var leapYear = new Date (leapYear - (24*60*60*1000)); var numDaysInMonth = leapYear.getDate(); }else{ var numDaysInMonth = aNumDays[form.fm.selectedIndex]; } // Update departure date only when loading the form and/or departDateUpdate is set to 1 if(loadDates == 1 || departDateUpdate == 1) { var selectDate = new Date(form.fy.options[form.fy.selectedIndex].text, form.fm.selectedIndex, form.fd.selectedIndex); var setDate = new Date(selectDate.getTime() + ((numberNights+1) * 86400000)); var setDay = setDate.getDate(); var setMonth = setDate.getMonth(); var setYear = setDate.getFullYear() - form.fy.options[0].text; var checkinDate = new Date(form.fy.options[form.fy.selectedIndex].text,form.fm.selectedIndex,form.fd.selectedIndex+1); var checkoutDate = new Date(form.ty.options[form.ty.selectedIndex].text,form.tm.selectedIndex,form.td.selectedIndex+1); if(checkinDate > checkoutDate) { if(setYear == form.ty.length) { form.td.options[30].selected=1; form.tm.options[11].selected=1; form.ty.options[form.ty.length-1].selected=1; } else { form.td.options[setDay-1].selected=1; form.tm.options[setMonth].selected=1; form.ty.options[setYear].selected=1; } } } if(form.fd.selectedIndex+1 > numDaysInMonth) { alert(invalidDateTxt); form.fd.selectedIndex = numDaysInMonth-1; } } function setWkd(form, calendar) { // change form object if returned from calendar if(calendar) form = document.forms[form]; for (var i = 0; i < form.fy.length; i++) { if (form.fy.options[i].selected) var fyear = form.fy.options[i].text; if (departDateDisplay == 1 && form.ty.options[i].selected) var tyear = form.ty.options[i].text; } var checkinDate = new Date(fyear,form.fm.selectedIndex,form.fd.selectedIndex+1); if (departDateDisplay == 1) var checkoutDate = new Date(tyear,form.tm.selectedIndex,form.td.selectedIndex+1); var numNights = Math.round((checkoutDate - checkinDate) / 86400000); if (numNights == 1) numNights += nightTxt; else numNights += nightsTxt; //Set Days of the week display if(wdDisplay == 1 && document.getElementById) { document.getElementById('inWd').firstChild.nodeValue = '(' + wdArray[checkinDate.getDay()] + ')'; if (departDateDisplay == 1) document.getElementById('outWd').firstChild.nodeValue = '(' + wdArray[checkoutDate.getDay()] + ')'; } //Set number of nights display if(numberNightsDisplay == 1 && document.getElementById) document.getElementById('lengthStay').firstChild.nodeValue = numNights; } //Load current dates on form load function LoadDates(form) { var curDate = new Date(); var setDate = new Date(curDate.getTime() + (daysinAdvance * 86400000)); var setDay = setDate.getDate(); var setMonth = setDate.getMonth(); var setYear = setDate.getFullYear() - form.fy.options[0].text; // Set Arrival Dates form.fd.selectedIndex = setDay-1; form.fm.selectedIndex = setMonth; form.fy.selectedIndex = setYear; // Set the Departure Dates updateDates(form, departDateDisplay); if(wdDisplay == 1 || numberNightsDisplay == 1) setWkd(form); } //Load current dates on form load function checkDates(form) { var curDate = new Date(); for (var i = 0; i numDaysInMonth) { alert(invalidDepartDateTxt); form.td.selectedIndex = numDaysInMonth-1; return false; } var checkoutDate = new Date(tyear,form.tm.selectedIndex,form.td.selectedIndex+2); var numNights = Math.round((checkoutDate - checkinDate) / 86400000); } else { var numNights = form.numnights.selectedIndex+1; } if(checkinDate.getTime() < curDate.getTime()) { alert(invalidDatePriorTxt); return false; } if(numNights < 1) { alert(invalidDepartTxt ); return false; } if(numNights < numberNightsMin) { alert(invalidNightsTxt); return false; } } //Generate years options for year select list function year_option(form){ curDate = new Date(); curYear = curDate.getFullYear(); for(i = curYear ; i <= curYear+(numberYears-1) ; i++ ){ document.write('' + i + ''); } }
Check In: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec year_option(); Check Out: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec year_option(); Adults: 1 2 3 4 5 6 7 Child: 0 1 2
LoadDates(document.DateSelect);

Luxury Petitenget Villa With Tropical Atmosphere

 

Nestled on 2,983 m2 lands, the 11 individual villas are well equipped and well maintained. Consists of 7 units of One-Bedroom Villa, 2 unit of Two-Bedroom Villa, and 2 units of Three-Bedroom Villa, all with king-size bed in each and every room. Each villa has a private pool with sun loungers and an outdoor shower, a guest bathroom, and a spacious living area equipped with western standard kitchen and dining facilities. KoenoKoeni Villa itself also has Tenong Cafe that opens seven days a week from 7am to 11pm.

One Bedroom Villa in Seminyak Bali

One Bedroom Villa

The villa is equipped with one king size bed, perfect for couple who’s cherishing their love on honeymoon trip or a romantic gateway.

 

Sits on a 180 m² land with detail as follow:

 

  • Bedroom: 32.19 m²
  • Bathroom: 14.54 m²
  • Living room: 30.00 m²
  • Swimming pool: 24.00 m²
  • Pool deck area: 25.74 m²
Luxury Petitenget Villa With Tropical Atmosphere

Two Bedroom Villa

The villa is designed with one master bedroom and one additional bedroom, suitable for family with kids or a group of friends. Each room equipped with king-size beds.

 

Sits on a 229 m² land with detail as follow:

 

  • Master bedroom: 32.19 m²
  • Second bedroom: 25.00 m²
  • Bathroom in master bedroom: 14.54 m²
  • Bathroom in second bedroom: 14.65 m²
  • Living room: 34.70 m²
  • Swimming pool: 24.72 m²
  • Pool deck area: 24.67 m²
Three Bedroom Villa in Seminyak Bali

Three Bedroom Villa

The villa is designed with one master bedroom and two additional bedrooms. It’s most suitable for larger group of families or friends. Each room equipped with king-size beds.

 

Sits on a 207 m² land with detail as follow:

 

  • Master bedroom: 35.75 m²
  • Second bedroom: 37.00 m² (on the 1st floor)
  • Third bedroom: 22.00 m² (on the 1st floor)
  • Bathroom in master bedroom: 14.87 m²
  • Bathroom in second bedroom: 14.94 m²
  • Bathroom in third bedroom: 16.50 m²
  • Living room: 47.12 m²
  • Swimming pool: 24.00 m²
  • Pool deck area: 25.29 m²
  • Terrace: 15.99 m²