{"title":"MRT Xingtian Temple Station","description":"\u003ch2\u003e\u003cspan style=\"color: rgb(250, 106, 77);\"\u003e\u003cstrong\u003e\u003cspan style=\"color: rgb(246, 208, 15);\"\u003eOrange Line\u003c\/span\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h2\u003e\n\u003ch4\u003e\n\u003cspan style=\"color: rgb(128, 128, 128);\"\u003e\u003cem\u003eSpiritual sanctuary meets the city’s ambition: Where incense and innovation coexist.\u003cbr\u003e\u003c\/em\u003e\u003c\/span\u003e\u003cstrong\u003e\u003cbr\u003eLiving Vibe\u003c\/strong\u003e\n\u003c\/h4\u003e\n\u003ch4\u003e\n\u003cstrong\u003eVibe:\u003c\/strong\u003e Experience a refined balance where  efficiency meets the grounding, soulful presence of the temple.\u003cbr\u003e\u003cstrong\u003eTaste:\u003c\/strong\u003e Your neighborhood are cafes and local street food along the bustling Jinzhou Street.\u003cbr\u003e\u003cstrong\u003eEnergy:\u003c\/strong\u003e Unwind with a sunset jog in Rongxing Garden or experience the thrill of low-flying planes at Airplane Alley.\u003cbr\u003e\n\u003c\/h4\u003e","products":[{"product_id":"taipei-rental-monthly-apartment-sj06","title":"Cozy Suite with private bathroom and cooking space (SJ06)","description":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eBrand new, stylish, furnished and independent suite with a double bed, this home is modern and cozy at the same time. It comes with a private bathroom and a working desk. Not to mention your own washer and a cooking space. \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eO\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003enly 3 minutes walk to MRT Xingtian Temple station, which \u003cspan\u003egives city dwellers great convenience.\u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e6.4 ping \/ 21 m² \/ 228 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\u003eOpen layout bedroom and 1 bathroom\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e3-minute walk from\u003cspan style=\"color: #f6d00f;\"\u003e MRT Xingtian Temple Station\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003eCooking space with IH stove and kitchenware provided\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*188cm) \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWorking Desk\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWasher\/Dryer\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e Elevator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMicrowave provided in the public area\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\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eLINE:\u003c\/b\u003e \u003ca href=\"https:\/\/lin.ee\/Q7g9PtG\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e@kolette\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\"\u003e\u003c\/span\u003e\u003cb\u003eEmail:\u003c\/b\u003e \u003ca href=\"mailto:contact@kolettehome.com\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003econtact@kolettehome.com\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003ca href=\"https:\/\/kolettehome.com\/pages\/contact\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan class=\"s1\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eContact form\u003c\/b\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\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\/1215752036378127246.ics?t=cdd5191d4d6f407bbc8752ef4e35677f\";\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":44427274715322,"sku":null,"price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0605\/9504\/4538\/files\/SJ06_Kolette_Home_Bedroom.jpg?v=1776495742"},{"product_id":"taipei-rental-monthly-apartment-sj05","title":"Tidy Suite with private bathroom and working desk (SJ05)","description":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eA brand new, furnished and cozy suite good for 2 people. It comes with a private bathroom and a working desk. Not to mention your own washer with the dry function. \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eO\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003enly 3 minutes walk to MRT Xingtian Temple station, which \u003cspan\u003egives city dwellers great convenience. \u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e5.2 ping \/ 17 ㎡ \/ 185 sqft\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan\u003eOne double b\u003c\/span\u003e\u003cspan\u003eed (150cm*188cm) \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eDry and wet separated bathroom\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003e3-minute walk from\u003cspan style=\"color: #f6d00f;\"\u003e MRT Xingtian Temple Station\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\n\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\u003eWorking Desk\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eRefrigerator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWasher\/Dryer\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eKettle\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTableware\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eElevator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMicrowave provided in the public area\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\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eLINE:\u003c\/b\u003e \u003ca href=\"https:\/\/lin.ee\/Q7g9PtG\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e@kolette\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\"\u003e\u003c\/span\u003e\u003cb\u003eEmail:\u003c\/b\u003e \u003ca href=\"mailto:contact@kolettehome.com\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003econtact@kolettehome.com\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003ca href=\"https:\/\/kolettehome.com\/pages\/contact\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan class=\"s1\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eContact form\u003c\/b\u003e\u003c\/span\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\/1216328413107644652.ics?t=e9635ba5c2eb4ac48e04f96916f7aaac\";\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":44434173624506,"sku":null,"price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0605\/9504\/4538\/files\/SJ05_Kolette_Home_Bedroom.jpg?v=1776495475"},{"product_id":"taipei-rental-monthly-apartment-sj04","title":"Sunlight Suite with private bathroom (SJ04)","description":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eA brand new, furnished suite flooded with natural lights. It comes with a private bathroom and a working desk, good for 2 people. Not to mention your own washer with the dry function. \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eO\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003enly 3 minutes walk to MRT Xingtian Temple station, which \u003cspan\u003egives city dwellers great convenience. \u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e4.2 ping \/ 13.9 m² \/ 149 sqft\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan\u003eOne double b\u003c\/span\u003e\u003cspan\u003eed (150cm*188cm) \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eDry and wet separated bathroom\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003e3-minute walk from\u003cspan style=\"color: rgb(0, 118, 255);\"\u003e \u003cspan style=\"color: rgb(246, 208, 15);\"\u003eMRT Xingtian Temple Station\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\n\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\u003eWorking Desk\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eRefrigerator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWasher\/Dryer\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eKettle\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTableware\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eElevator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMicrowave provided in the public area\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\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eLINE:\u003c\/b\u003e \u003ca href=\"https:\/\/lin.ee\/Q7g9PtG\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e@kolette\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\"\u003e\u003c\/span\u003e\u003cb\u003eEmail:\u003c\/b\u003e \u003ca href=\"mailto:contact@kolettehome.com\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003econtact@kolettehome.com\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003ca href=\"https:\/\/kolettehome.com\/pages\/contact\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan class=\"s1\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eContact form\u003c\/b\u003e\u003c\/span\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\/1216348862045459463.ics?t=65644208b290421f8a8d7cad681fe85d\";\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":44456486568122,"sku":null,"price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0605\/9504\/4538\/files\/SJ04_Kolette_Home_Bedroom.jpg?v=1776495245"},{"product_id":"taipei-rental-monthly-apartment-sj03","title":"Suite with great natural lights and desk (SJ03)","description":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eA new, furnished, cozy suite full of natural lights. It comes with a private bathroom and a working desk, good for 2 people. \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eNot to mention your own washer with the dry function. \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eO\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003enly 3 minutes walk to MRT Xingtian Temple station, which \u003cspan\u003egives city dwellers great convenience. \u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e4.9 ping \/ 16.2 m² \/ 174 sqft\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan\u003eOne double b\u003c\/span\u003e\u003cspan\u003eed (150cm*188cm) \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eDry and wet separated bathroom\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003e3-minute walk from\u003cspan style=\"color: rgb(246, 160, 15);\"\u003e \u003cspan style=\"color: rgb(246, 208, 15);\"\u003eMRT Xingtian Temple Station\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\n\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\u003eWorking Desk\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eRefrigerator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWasher\/Dryer\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eKettle\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTableware\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eElevator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMicrowave provided in the public area\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\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eLINE:\u003c\/b\u003e \u003ca href=\"https:\/\/lin.ee\/Q7g9PtG\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e@kolette\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\"\u003e\u003c\/span\u003e\u003cb\u003eEmail:\u003c\/b\u003e \u003ca href=\"mailto:contact@kolettehome.com\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003econtact@kolettehome.com\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003ca href=\"https:\/\/kolettehome.com\/pages\/contact\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan class=\"s1\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eContact form\u003c\/b\u003e\u003c\/span\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\/1216437851737134577.ics?t=e04bdf5d335f4eeb89d0b0ebccb299a1\";\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\n\n","brand":"Kolette Home","offers":[{"title":"Default Title","offer_id":44461235044538,"sku":null,"price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0605\/9504\/4538\/files\/SJ03_Kolette_Home_Bedroom.jpg?v=1776495054"},{"product_id":"taipei-rental-monthly-apartment-sj02","title":"Open Suite with private bathroom and desk (SJ02)","description":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eA new, furnished, cozy suite with a private bathroom and a working desk. It's good for 2 people.\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e The moving TV provides you with the best audio-visual experience. Not to mention your own washer with the dry function. \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eO\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003enly 3 minutes walk to MRT Xingtian Temple station, which \u003cspan\u003egives city dwellers great convenience. \u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e4.8 ping \/ 15.9 m² \/ 171 sqft\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan\u003eOne double b\u003c\/span\u003e\u003cspan\u003eed (150cm*188cm) \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eDry and wet separated bathroom\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003e3-minute walk from\u003cspan style=\"color: #f6d00f;\"\u003e MRT Xingtian Temple Station\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMoving Smart TV\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\u003eWorking Desk\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eRefrigerator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWasher\/Dryer\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eKettle\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTableware\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e Elevator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMicrowave provided in the public area\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\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eLINE:\u003c\/b\u003e \u003ca href=\"https:\/\/lin.ee\/Q7g9PtG\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e@kolette\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\"\u003e\u003c\/span\u003e\u003cb\u003eEmail:\u003c\/b\u003e \u003ca href=\"mailto:contact@kolettehome.com\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003econtact@kolettehome.com\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003ca href=\"https:\/\/kolettehome.com\/pages\/contact\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan class=\"s1\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eContact form\u003c\/b\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\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\/1216449470865658768.ics?t=17058c643d7b4f749369aedf465fe644\";\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\n\n","brand":"Kolette Home","offers":[{"title":"Default Title","offer_id":44461239271610,"sku":null,"price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0605\/9504\/4538\/files\/SJ02_Kolette_Home_Bedroom_2.jpg?v=1776494953"},{"product_id":"taipei-rental-monthly-apartment-sj01","title":"Open Suite with a walk-in closet (SJ01)","description":"\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003eA new, furnished, cozy suite with a private bathroom and a working desk. It's good for 2 people. A walk-in closet adds more storage space\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e. Not to mention your own washer with the dry function. \u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003eO\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003enly 3 minutes walk to MRT Xingtian Temple station, which \u003cspan\u003egives city dwellers great convenience. \u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"font-weight: 400;\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSize\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: 400;\"\u003e5.7 ping \/ 18.8 m² \/ 203 sqft\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan\u003eOne double b\u003c\/span\u003e\u003cspan\u003eed (150cm*188cm) \u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eDry and wet separated bathroom\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003e3-minute walk from\u003cspan style=\"color: #f6d00f;\"\u003e MRT Xingtian Temple Station\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\n\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\u003eWalk-in Closet\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eAir Conditioner \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWorking Desk\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eRefrigerator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWasher\/Dryer\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eKettle\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTableware\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e Elevator\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMicrowave provided in the public area\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\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eLINE:\u003c\/b\u003e \u003ca href=\"https:\/\/lin.ee\/Q7g9PtG\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e@kolette\u003c\/a\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"s1\"\u003e\u003c\/span\u003e\u003cb\u003eEmail:\u003c\/b\u003e \u003ca href=\"mailto:contact@kolettehome.com\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003econtact@kolettehome.com\u003c\/a\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli class=\"li3\" style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003ca href=\"https:\/\/kolettehome.com\/pages\/contact\" style=\"color: rgb(0, 0, 0);\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan class=\"s1\"\u003e\u003cspan class=\"s2\"\u003e\u003cb\u003eContact form\u003c\/b\u003e\u003c\/span\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\/1216456131845047700.ics?t=a854ddae683d441fad4693cdb705e3fd\";\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\n\n","brand":"Kolette Home","offers":[{"title":"Default Title","offer_id":44461247692986,"sku":null,"price":0.0,"currency_code":"TWD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0605\/9504\/4538\/files\/SJ01_Kolette_Home_Workspace.jpg?v=1776494444"}],"url":"https:\/\/kolettehome.com\/collections\/mrt-xingtian-tample-station.oembed","provider":"Kolette Home","version":"1.0","type":"link"}