{"product_id":"taipei-rental-monthly-apartment-rr9-2","title":"American style 1-Bedroom Home (RR9-2)","description":"\u003cp\u003eDiscover comfort in our chic, newly renovated Zhongshan district home. Just 6 mins from MRT, enjoy easy access to local delights. Our space boasts modern Panasonic appliances, a luxurious Kohler-equipped bathroom, and cozy balconies. Elevator access and central trash management add convenience. Fully equipped kitchen, washer, dryer, and AC ensure a hassle-free stay. Welcome to your urban retreat.\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e25 ping \/ 83㎡ \/ 890 sqft\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003e1 bedroom and 1 bathroom\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e6-minute walk from \u003cspan style=\"color: #fa6a4d;\"\u003eMRT Zhongshan Station\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTV\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWifi\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eAir Conditioner \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eBed (150cm*190cm) \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eCooking Stove\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMicrowave \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWasher\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 class=\"p3\"\u003e\u003cb\u003eInterested in Renting?\u003c\/b\u003e\u003c\/h3\u003e\n\u003cp class=\"p3\"\u003e\u003cmeta charset=\"utf-8\"\u003eContact us for more information via our official LINE account, by email, or through the contact form:\u003c\/p\u003e\n\u003cul class=\"ul1\"\u003e\n\u003cli class=\"li3\"\u003e\u003cspan class=\"s1\"\u003e\u003ca href=\"https:\/\/lin.ee\/Q7g9PtG\" target=\"_blank\" rel=\"noopener\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eLINE:\u003c\/b\u003e @kolette\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\"\u003e\n\u003cspan class=\"s1\"\u003e\u003c\/span\u003e\u003cb\u003eEmail:\u003c\/b\u003e contact@kolettehome.com\u003c\/li\u003e\n\u003cli class=\"li3\"\u003e\u003cspan class=\"s1\"\u003e\u003ca href=\"https:\/\/kolettehome.com\/pages\/contact\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eContact form\u003c\/b\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cdiv id=\"kc-cal\"\u003e\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  var WORKER = \"https:\/\/ical-proxy.aidantpe.workers.dev\";\n  var ICAL_URL = \"https:\/\/www.airbnb.com.tw\/calendar\/ical\/1088069074367344151.ics?t=a47b67455f384a01860fd83ec7db1861\";\n\n  var bookedRanges=[];\n  var cy=new Date().getFullYear();\n  var cm=new Date().getMonth();\n  var MN=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\n  var DN=[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"];\n\n  var wrap=document.getElementById(\"kc-cal\");\n  wrap.innerHTML=`\n  \u003cstyle\u003e\n  .kc-wrap{font-family:sans-serif;margin:40px 0;border-top:2px solid #e5e7eb;padding-top:30px}\n  .kc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}\n  .kc-htitle{font-size:1.1rem;font-weight:700;color:#111}\n  .kc-nav button{background:#f3f4f6;border:none;border-radius:8px;padding:6px 14px;cursor:pointer;font-size:14px;margin-left:6px}\n  .kc-nav button:hover{background:#e5e7eb}\n  .kc-status{font-size:12px;color:#6b7280;margin-bottom:12px}\n  .kc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}\n  .kc-dow{font-size:11px;color:#9ca3af;text-align:center;padding:4px 0;font-weight:600}\n  .kc-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;color:#111}\n  .kc-avail{background:#f9fafb;border:1px solid #e5e7eb}\n  .kc-booked{background:#e5e7eb;color:#6b7280;text-decoration:line-through}\n  .kc-past{color:#d1d5db}\n  .kc-today{border:2px solid #3b82f6!important;font-weight:700}\n  .kc-legend{display:flex;gap:14px;font-size:12px;color:#6b7280;margin-top:4px;margin-bottom:10px}\n  .kc-leg{display:flex;align-items:center;gap:5px}\n  .kc-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}\n  .kc-notice{font-size:12px;color:#6b7280;margin-top:10px}\n  \u003c\/style\u003e\n  \u003cdiv class=\"kc-wrap\"\u003e\n    \u003cdiv class=\"kc-head\"\u003e\n      \u003cdiv class=\"kc-htitle\" id=\"kc-monthlabel\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"kc-nav\"\u003e\n        \u003cbutton onclick=\"kcPrev()\"\u003e\u0026#8592;\u003c\/button\u003e\n        \u003cbutton onclick=\"kcNext()\"\u003e\u0026#8594;\u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"kc-status\" id=\"kc-status\"\u003eLoading...\u003c\/div\u003e\n    \u003cdiv class=\"kc-grid\" id=\"kc-grid\"\u003e\u003c\/div\u003e\n    \u003cdiv class=\"kc-legend\"\u003e\n    \u003cdiv class=\"kc-notice\"\u003eBookings for 30+ nights only\u003c\/div\u003e\n  \u003c\/div\u003e`;\n\n  function pd(s){return new Date(+s.slice(0,4),+s.slice(4,6)-1,+s.slice(6,8));}\n  function isBooked(d){for(var r of bookedRanges){if(d\u003e=r.start\u0026\u0026d\u003cr.end)return true;}return false;}\n\n  function renderCal(){\n    document.getElementById(\"kc-monthlabel\").textContent=MN[cm]+\" \"+cy;\n    var g=document.getElementById(\"kc-grid\");\n    g.innerHTML=\"\";\n    DN.forEach(function(d){var e=document.createElement(\"div\");e.className=\"kc-dow\";e.textContent=d;g.appendChild(e);});\n    var first=new Date(cy,cm,1).getDay();\n    var total=new Date(cy,cm+1,0).getDate();\n    var today=new Date();today.setHours(0,0,0,0);\n    for(var i=0;i\u003cfirst;i++){var e=document.createElement(\"div\");e.className=\"kc-day\";g.appendChild(e);}\n    for(var d=1;d\u003c=total;d++){\n      var date=new Date(cy,cm,d);\n      var e=document.createElement(\"div\");\n      e.textContent=d;\n      if(date\u003ctoday){e.className=\"kc-day kc-past\";}\n      else if(isBooked(date)){e.className=\"kc-day kc-booked\";}\n      else{e.className=\"kc-day kc-avail\";}\n      if(date.getTime()===today.getTime())e.classList.add(\"kc-today\");\n      g.appendChild(e);\n    }\n  }\n\n  window.kcPrev=function(){cm--;if(cm\u003c0){cm=11;cy--;}renderCal();};\n  window.kcNext=function(){cm++;if(cm\u003e11){cm=0;cy++;}renderCal();};\n\n  fetch(WORKER+\"\/?url=\"+encodeURIComponent(ICAL_URL))\n    .then(function(r){return r.text();})\n    .then(function(text){\n      var lines=text.replace(\/\\r\\n\/g,\"\\n\").replace(\/\\r\/g,\"\\n\").split(\"\\n\");\n      var inEv=false,ds=null,de=null;\n      lines.forEach(function(line){\n        if(line===\"BEGIN:VEVENT\"){inEv=true;ds=null;de=null;}\n        else if(line===\"END:VEVENT\"){if(inEv\u0026\u0026ds\u0026\u0026de)bookedRanges.push({start:ds,end:de});inEv=false;}\n        else if(inEv){\n          var m=line.match(\/^DTSTART[^:]*:(\\d{8})\/);\n          var m2=line.match(\/^DTEND[^:]*:(\\d{8})\/);\n          if(m)ds=pd(m[1]);\n          if(m2)de=pd(m2[1]);\n        }\n      });\n      document.getElementById(\"kc-status\").textContent=\"Contact us for details\";\n      renderCal();\n    })\n    .catch(function(e){\n      document.getElementById(\"kc-status\").textContent=\"\";\n      renderCal();\n    });\n\n  renderCal();\n})();\n\u003c\/script\u003e\n","brand":"Kolette Home","offers":[{"title":"Default Title","offer_id":45789433168058,"sku":null,"price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0605\/9504\/4538\/files\/RR9-1_Kolette_Home_Dining_Room.jpg?v=1776592807","url":"https:\/\/kolettehome.com\/products\/taipei-rental-monthly-apartment-rr9-2","provider":"Kolette Home","version":"1.0","type":"link"}