{"id":12385,"date":"2019-10-15T10:23:03","date_gmt":"2019-10-15T17:23:03","guid":{"rendered":"https:\/\/liv.rent\/blog\/?p=12385"},"modified":"2026-08-28T12:46:42","modified_gmt":"2026-08-28T19:46:42","slug":"renting-and-the-strata-property-act","status":"publish","type":"post","link":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/","title":{"rendered":"Your guide to renting in a strata under the BC Strata Property Act"},"content":{"rendered":"\n<p>Stratas are a form of housing ownership that is unique to British Columbia. Strata housing provides plenty of benefits to homeowners, but when it comes to renting within a strata property, things can get a tad more complex. Under the Strata Property Act, residents of stratas in B.C. find themselves in a unique housing situation that comes with its own <a href=\"https:\/\/liv.rent\/blog\/rental-laws\/british-columbia\/\" target=\"_blank\" rel=\"noreferrer noopener\">rules &amp; regulations<\/a> in addition to existing tenancy law. In this post, <a href=\"https:\/\/liv.rent\/\" target=\"_blank\" rel=\"noreferrer noopener\">liv.rent<\/a> will break down the key aspects of renting in a strata in B.C., focusing on the rights, responsibilities, and challenges that both landlords and tenants may encounter under this type of arrangement.<\/p>\n\n\n\n<br>\n<style>\n.background-general-cta-email-subscribe-rental-laws {\n  text-align: center;\n  color: #303030;\n  font-family: 'Inter', sans-serif;\n  font-size: 24px;\n}\n\n.cta-block-general-cta-email-subscribe-rental-laws p{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n\n.cta-block-general-cta-email-subscribe-rental-laws {\n  background-color: #F5F5F5;\n  border-radius: 16px;\n  padding: 30px;\n  text-align: center;\n  margin: 20px 0px;\n}\n.button-general-cta-email-subscribe-rental-laws {\n  margin-top: 20px;\n  padding: 12px 16px;\n  background: #1D415E;\n  border: 0px solid white;\n  box-shadow: 0px 6px 8px -2px rgba(29, 66, 94, 0.4), 0px 12px 16px rgba(32, 121, 193, 0.15);\n  border-radius: 6px;\n  cursor: pointer;\n  \n  font-family: 'Inter';\n  font-style: normal;\n  font-weight: 600;\n  font-size: 14px;\n  line-height: 16px;\n  text-align: center;\n  color: #FFFFFF;\n\n}\n  \n<\/style>\n<div class=\"background-general-cta-email-subscribe-rental-laws cta-block-general-cta-email-subscribe-rental-laws\">\n<h3><strong>Join Our Newsletter<\/strong><\/h3>\n\n<p>For more info on rental laws and policies (e.g. eviction, lease agreements, repairs &amp; maintenance), subscribe to get the latest news.<\/p>\n\n<a href=\"https:\/\/315027fd.sibforms.com\/serve\/MUIEALxBmw-zX8J7nIDbE8Y0GsbO2XD2wyS5o8IJ7wVaedytZTfE-Ysnf2unVSDuBMQ_DiIreTYMftk3u84zjN-NZ459-r4fafSVJmvHqufcCZsHOdl9YPdQlyNO_8e-aEyO3JswcwrjPcNt9Ll22P85SQ6zAIiqlLhL9S2Es9edJgfjg0307yN6DptRbjGnHobRqNlUNRLczWrl\" target=\"_blank\" rel=\"noopener noreferrer\"><button id=\"button-general-cta-email-subscribe-rental-laws\" class=\"button-general-cta-email-subscribe-rental-laws\">Subscribe<\/button><\/a>\n<\/div>\n<br>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is a strata?<\/strong><\/h2>\n\n\n\n<p>&#8216;Strata&#8217; refers to a form of property ownership in which individuals own and have exclusive rights to their individual units within a multi-unit building or development while sharing ownership and responsibilities for common areas and amenities with other unit owners.<\/p>\n\n\n\n<p>In <a href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\" target=\"_blank\" rel=\"noreferrer noopener\">Vancouver<\/a> and other areas of the Lower Mainland, strata can come in the form of apartments, townhouses, duplexes or even single-family homes owned by a governing body known as the strata corporation &#8211; or strata for short.&nbsp; However, a strata can also be land, just rarely in Vancouver. When you buy one of these properties, you become a co-owner of the self-governed strata corporation and as such, you are held accountable alongside other owners for certain fees, duties and responsibilities. In the eyes of the law, strata corporations can do everything that an individual homeowner can do \u2013 like purchase goods &amp; services, and sue or be sued.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<!--\n  Reusable Buildings Block - By Building URLs\n  ---------------------------------------------------\n  This block takes full liv.rent building URLs, pulls the numeric id\n  out of each one for the GraphQL query, and links the card straight\n  back to the URL you pasted, so the pretty slug is always the one you\n  supplied.\n\n  To change which buildings appear, edit BUILDING_URLS in the script\n  below. Everything else (title, footer link, wording) is in the CONFIG\n  object next to it. Anything from 1 to 10 buildings renders; the grid\n  reflows on its own.\n\n  Note: the building record itself is what drives the card, so a building\n  with nothing currently for rent still renders (it just shows no price).\n  Only an id that does not exist at all is skipped, with a console warning.\n-->\n\n<style type=\"text\/css\">\n  .liv-buildings.liv-buildings,\n  .liv-buildings.liv-buildings * {\n    box-sizing: border-box !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    font-family: Inter, Helvetica, Arial, sans-serif !important;\n    font-style: normal !important;\n    line-height: 1.4 !important;\n    letter-spacing: normal !important;\n    word-spacing: normal !important;\n    text-transform: none !important;\n    text-indent: 0 !important;\n    text-align: left !important;\n    text-shadow: none !important;\n    float: none !important;\n    list-style: none !important;\n  }\n\n  \/* ---------- Block ---------- *\/\n  .liv-buildings.liv-buildings {\n    display: block !important;\n    max-width: 1094px;\n    margin: 40px auto !important;\n    padding: 32px 0 !important;\n    border-top: 1px solid #eaecf1;\n    border-bottom: 1px solid #eaecf1;\n    background: none;\n    font-size: 13px !important;\n    color: #0e131b !important;\n    -webkit-font-smoothing: antialiased;\n    container-type: inline-size;\n    container-name: livbuildings;\n  }\n\n  .liv-buildings .liv-buildings__title {\n    display: block !important;\n    font-size: 24px !important;\n    font-weight: 700 !important;\n    line-height: 1.2 !important;\n    letter-spacing: -0.4px !important;\n    color: #0e131b !important;\n    margin: 0 0 20px !important;\n    padding: 0 !important;\n  }\n\n  \/* ---------- Grid ---------- *\/\n  .liv-buildings .liv-buildings__grid {\n    display: grid !important;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px;\n    align-items: stretch;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  @media only screen and (min-width: 900px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 16px;\n    }\n  }\n\n  @container livbuildings (max-width: 699px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 14px;\n    }\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 16px;\n    }\n  }\n\n  \/* Small counts should not stretch a card across the whole column. *\/\n  .liv-buildings .liv-buildings__grid--n1 {\n    grid-template-columns: minmax(0, 1fr);\n    max-width: 320px;\n  }\n\n  .liv-buildings .liv-buildings__grid--n2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    max-width: 660px;\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid--n3 {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      max-width: 820px;\n    }\n  }\n\n  \/* 5 or 9 buildings across 4 columns strands a single card on its own\n     row. Three columns divides both evenly (3+2, 3+3+3). Declared after\n     the base grid so it wins on source order in both engines. *\/\n  @media only screen and (min-width: 900px) {\n    .liv-buildings .liv-buildings__grid--three {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid--three {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  \/* ---------- Card ----------\n     Qualified with the tag so it also outranks theme rules aimed at\n     `.entry-content a`, which is where link colour usually comes from. *\/\n  .liv-buildings a.liv-buildings__card {\n    display: flex !important;\n    flex-direction: column;\n    background: #ffffff !important;\n    border: 1px solid #d2d7df !important;\n    border-radius: 8px !important;\n    box-shadow: 0 0 16px 0 rgba(69, 79, 91, 0.12) !important;\n    overflow: hidden;\n    margin: 0 !important;\n    padding: 0 !important;\n    text-decoration: none !important;\n    color: #0e131b !important;\n    cursor: pointer;\n  }\n\n  .liv-buildings a.liv-buildings__card:hover,\n  .liv-buildings a.liv-buildings__card:focus,\n  .liv-buildings a.liv-buildings__card:visited {\n    text-decoration: none !important;\n    color: #0e131b !important;\n  }\n\n  .liv-buildings .liv-buildings__media {\n    display: block !important;\n    position: relative;\n    width: 100%;\n    aspect-ratio: 16 \/ 10;\n    background: #f3f5f7;\n    overflow: hidden;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  @supports not (aspect-ratio: 16 \/ 10) {\n    .liv-buildings .liv-buildings__media {\n      height: 140px;\n    }\n  }\n\n  .liv-buildings img.liv-buildings__img {\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n    max-width: 100% !important;\n    object-fit: cover;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    border-radius: 0 !important;\n    box-shadow: none !important;\n  }\n\n  .liv-buildings .liv-buildings__badge {\n    display: inline-block !important;\n    position: absolute;\n    top: 8px;\n    left: 8px;\n    max-width: calc(100% - 16px);\n    background: #0e131b !important;\n    color: #ffffff !important;\n    font-size: 10px !important;\n    font-weight: 500 !important;\n    line-height: 16px !important;\n    margin: 0 !important;\n    padding: 1px 6px !important;\n    border: 0 !important;\n    border-radius: 2px !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    pointer-events: none;\n  }\n\n  .liv-buildings .liv-buildings__body {\n    display: flex !important;\n    flex-direction: column;\n    flex: 1;\n    gap: 5px;\n    margin: 0 !important;\n    padding: 10px !important;\n  }\n\n  .liv-buildings .liv-buildings__price-row {\n    display: flex !important;\n    align-items: baseline;\n    flex-wrap: nowrap;\n    gap: 4px;\n    min-width: 0;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  .liv-buildings .liv-buildings__price {\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    line-height: 1.3 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  .liv-buildings .liv-buildings__period {\n    font-size: 11px !important;\n    font-weight: 400 !important;\n    line-height: 1.3 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    white-space: nowrap;\n  }\n\n  .liv-buildings .liv-buildings__details {\n    display: block !important;\n    font-size: 12px !important;\n    font-weight: 500 !important;\n    line-height: 1.4 !important;\n    color: #5a6881 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .liv-buildings .liv-buildings__divider {\n    display: block !important;\n    height: 1px;\n    width: 100%;\n    background: #d2d7df !important;\n    border: 0 !important;\n    margin: 3px 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* Building names run long, so give them two lines rather than\n     truncating \"Lakeview Pointe Kelowna Apartments\" to nothing. *\/\n  .liv-buildings .liv-buildings__name {\n    display: -webkit-box !important;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    font-size: 12px !important;\n    font-weight: 600 !important;\n    line-height: 1.35 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* Two lines rather than one ellipsized line: on a 2-up phone layout a\n     single line drops the city, which is the half that matters when the\n     block spans more than one of them. *\/\n  .liv-buildings .liv-buildings__region {\n    display: -webkit-box !important;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    font-size: 11px !important;\n    font-weight: 400 !important;\n    line-height: 1.35 !important;\n    color: #5a6881 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* `margin: auto 0 0` rather than `margin-top: auto` - the reset zeroes\n     the shorthand, so a longhand top margin would be overwritten and the\n     buttons would stop aligning along the bottom of a row. *\/\n  .liv-buildings .liv-buildings__cta {\n    display: flex !important;\n    align-items: center;\n    justify-content: center;\n    height: 32px;\n    margin: auto 0 0 !important;\n    padding: 0 8px !important;\n    background: #051a49 !important;\n    color: #ffffff !important;\n    font-size: 11px !important;\n    font-weight: 500 !important;\n    line-height: 1 !important;\n    text-align: center !important;\n    border: 0 !important;\n    border-radius: 6px !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    transition: background 0.15s ease;\n  }\n\n  .liv-buildings a.liv-buildings__card:hover .liv-buildings__cta {\n    background: #0d3880 !important;\n  }\n\n  \/* One step up once the block itself has room. Scoped to the block, not\n     the card, so there is only a single set of overrides to reason about. *\/\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__body {\n      gap: 7px;\n      padding: 12px !important;\n    }\n\n    .liv-buildings .liv-buildings__badge {\n      top: 12px;\n      left: 12px;\n      max-width: calc(100% - 24px);\n      font-size: 11px !important;\n      line-height: 18px !important;\n      padding: 1px 8px !important;\n    }\n\n    .liv-buildings .liv-buildings__price {\n      font-size: 17px !important;\n    }\n\n    .liv-buildings .liv-buildings__period {\n      font-size: 13px !important;\n    }\n\n    .liv-buildings .liv-buildings__details,\n    .liv-buildings .liv-buildings__name {\n      font-size: 13px !important;\n    }\n\n    .liv-buildings .liv-buildings__region {\n      font-size: 12px !important;\n    }\n\n    .liv-buildings .liv-buildings__cta {\n      height: 38px;\n      font-size: 13px !important;\n    }\n  }\n\n  .liv-buildings a.liv-buildings__footer-link {\n    display: block !important;\n    font-size: 14px !important;\n    font-weight: 500 !important;\n    line-height: 1.4 !important;\n    color: #051a49 !important;\n    text-align: center !important;\n    margin: 18px 0 0 !important;\n    padding: 0 !important;\n    background: none !important;\n    text-decoration: none !important;\n  }\n\n  .liv-buildings a.liv-buildings__footer-link:visited,\n  .liv-buildings a.liv-buildings__footer-link:focus,\n  .liv-buildings a.liv-buildings__footer-link:hover {\n    color: #051a49 !important;\n  }\n\n  .liv-buildings a.liv-buildings__footer-link:hover {\n    text-decoration: underline !important;\n  }\n\n  \/* The placeholder the block renders INTO is ordinary post content, so\n     the theme styles it too - a stray `padding` there silently re-centres\n     the whole block, and a `margin-bottom` adds phantom space under it.\n     findMount() tags the div it creates as a fallback with the same class\n     so this rule reaches that one as well. *\/\n  .liv-buildings-root.liv-buildings-root,\n  #liv-buildings-root {\n    display: block !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    background: none !important;\n    font-size: inherit !important;\n    line-height: normal !important;\n    text-align: left !important;\n    text-indent: 0 !important;\n  }\n<\/style>\n\n<script type=\"text\/javascript\">\n  \/* ==================================================================\n   * DO NOT PUT AN AMPERSAND CHARACTER ANYWHERE IN THIS SCRIPT.\n   *\n   * WordPress runs post content through wptexturize(), which rewrites a\n   * bare ampersand into a numeric HTML entity. Inside a script tag that\n   * is a syntax error, so the whole block dies on parse: the markup is\n   * still visible in the DOM, but nothing runs and no request is made.\n   * It rewrites only SOME of them, which makes it look intermittent.\n   *\n   * That is why this file uses nested ifs, ternaries, early returns and\n   * the get() helper instead of the logical-and operator. Keeping the\n   * character out entirely means `grep` is a reliable check.\n   * ================================================================== *\/\n  (function () {\n    \/\/ Captured while this script runs, so each copy of the block can find\n    \/\/ its OWN placeholder. `document.currentScript` is null inside the\n    \/\/ deferred callback, so it has to be read here at the top level.\n    var SELF = document.currentScript;\n\n    \/* ----------------------------------------------------------------\n     * CONFIG - edit these\n     * ---------------------------------------------------------------- *\/\n    var CONFIG = {\n      \/\/ Buildings to show, in the order they should appear. Paste the\n      \/\/ full liv.rent URL: the id is read out of it for the query and\n      \/\/ the URL itself becomes the card link, slug and all.\n      \/\/ Works with 1 building, works with 10.\n      BUILDING_URLS: [\n        \"https:\/\/liv.rent\/building\/55691\/lakeview-pointe-kelowna-apartments-apartment-building-3623-elliot-road-west-kelowna-bc\",\n        \"https:\/\/liv.rent\/building\/53981\/parque-on-park-apartment-building-20449-park-ave-langley-bc\",\n        \"https:\/\/liv.rent\/building\/8227\/the-pendrell-apartment-building-1770-pendrell-st-vancouver-bc\",\n        \"https:\/\/liv.rent\/building\/55792\/nells-place-apartment-building-4502-rupert-street-vancouver-bc\",\n        \"https:\/\/liv.rent\/building\/55771\/hub-place-apartment-building-1649-e-broadway-vancouver-bc\",\n      ],\n      TITLE: \"Now renting in B.C.\",\n      FOOTER_LINK_TEXT: \"See all CAPREIT rental listings\",\n      FOOTER_LINK_URL: \"https:\/\/liv.rent\/company\/capreit\",\n      ROOT_SELECTOR: \".liv-buildings-root, #liv-buildings-root\",\n      IMAGES_URL: \"https:\/\/cdn.liv.rent\",\n      GRAPHQL_URL: \"https:\/\/nemesis-prod.liv.rent\/graphql\",\n      \/\/ Safety rail so a runaway paste cannot fire a 40-alias query.\n      MAX_BUILDINGS: 10,\n    };\n\n    \/* ----------------------------------------------------------------\n     * Query - one request, two aliased fields per building.\n     *\n     *   building(...)       the building record: name, address, photos.\n     *                       Renders even with nothing available.\n     *   buildingDetail(...) the units currently live in that building.\n     *                       The server pins state_machine=published and\n     *                       is_hidden=false, so this is only ever what a\n     *                       renter could actually apply to right now.\n     *\n     * Ids are digits pulled out of the URL by regex, so they are safe to\n     * inline as Int literals.\n     * ---------------------------------------------------------------- *\/\n    var BUILDING_FIELDS = [\n      \"id\",\n      \"name\",\n      \"building_type\",\n      \"full_street_name\",\n      \"city\",\n      \"state\",\n      \"building_files { aws_s3_key tag position }\",\n    ];\n\n    var LISTING_FIELDS = [\n      \"listing_id\",\n      \"price\",\n      \"price_frequency\",\n      \"bedrooms\",\n      \"gr_unit\",\n      \"gr_count\",\n      \"gr_min_price\",\n      \"unit_type_scope_txt_id\",\n      \"cover_photo_aws_s3_key\",\n    ];\n\n    function buildQuery(ids) {\n      var lines = [\"query blogBuildings {\"];\n      ids.forEach(function (id, index) {\n        lines.push(\n          \"  b\" + index + \": building(input: { building_id: \" + id + \" }) {\",\n        );\n        lines.push(\"    \" + BUILDING_FIELDS.join(\"\\n    \"));\n        lines.push(\"  }\");\n        lines.push(\n          \"  d\" +\n            index +\n            \": buildingDetail(input: { building_id: \" +\n            id +\n            \" }) {\",\n        );\n        lines.push(\"    \" + LISTING_FIELDS.join(\"\\n    \"));\n        lines.push(\"  }\");\n      });\n      lines.push(\"}\");\n      return lines.join(\"\\n\");\n    }\n\n    \/* ----------------------------------------------------------------\n     * Lookups mirrored from the liv.rent app so wording matches\n     * ---------------------------------------------------------------- *\/\n    var PERIOD = {\n      monthly: \"\/Month\",\n      weekly: \"\/Week\",\n      daily: \"\/Day\",\n      yearly: \"\/Year\",\n      one_time: \"\/One-time\",\n    };\n\n    \/\/ Widest first: the src, then the retry ladder attachFallback() walks.\n    var SIZES = [\n      [480, 300],\n      [320, 200],\n    ];\n\n    var TYPE_LABEL = {\n      condo: \"Apartment Building\",\n      highrise: \"Apartment Building\",\n      lowrise: \"Apartment Building\",\n      house: \"House\",\n      townhouse: \"Townhouse\",\n    };\n\n    \/* ----------------------------------------------------------------\n     * Helpers\n     * ---------------------------------------------------------------- *\/\n    function el(tag, className) {\n      var node = document.createElement(tag);\n      if (className) node.className = className;\n      return node;\n    }\n\n    \/\/ Walks a path of keys, stopping at the first missing link.\n    function get(obj, path) {\n      var node = obj;\n      for (var i = 0; i < path.length; i++) {\n        if (!node) return null;\n        node = node[path[i]];\n      }\n      return node;\n    }\n\n    function money(value) {\n      var n = Number(value);\n      if (!isFinite(n)) return null;\n      if (n <= 0) return null;\n      return \"$\" + Math.round(n).toLocaleString(\"en-US\");\n    }\n\n    \/\/ gr_unit marks a \"group\" listing: one record standing in for several\n    \/\/ identical units, priced from gr_min_price.\n    function isGroup(listing) {\n      if (listing.gr_unit === true) return true;\n      return listing.gr_unit === \"1\";\n    }\n\n    \/\/ https:\/\/liv.rent\/building\/55691\/lakeview-pointe... -> '55691'\n    function idFromUrl(url) {\n      var match = String(url || \"\").match(\/\\\/building\\\/(\\d+)\/);\n      if (!match) return null;\n      return match[1];\n    }\n\n    \/\/ Mirrors getImageUrl() in the app, including the character escapes -\n    \/\/ an unescaped bracket or quote in a filename breaks the CDN path.\n    function imageUrl(key, width, height) {\n      if (!key) return null;\n      var match = String(key).match(\/static_file.+$\/);\n      if (!match) return null;\n      var path = match[0]\n        .replace(\/^\\\/\/, \"\")\n        .replace(\/ \/g, \"%20\")\n        .replace(\/\\(\/g, \"%28\")\n        .replace(\/\\)\/g, \"%29\")\n        .replace(\/'\/g, \"%27\")\n        .replace(\/\"\/g, \"%22\");\n      return (\n        CONFIG.IMAGES_URL +\n        \"\/\" +\n        width +\n        \"x\" +\n        height +\n        \"\/filters:quality(80)\/\" +\n        path\n      );\n    }\n\n    \/\/ Some older building photos are narrower than the largest thumbnail\n    \/\/ the card asks for, and the CDN answers an upscale with a 500 rather\n    \/\/ than serving the original. Step down through the smaller sizes, then\n    \/\/ give up and leave the neutral panel instead of a broken-image icon.\n    \/\/ srcset has to go with the first retry or the browser just reselects\n    \/\/ the candidate that already failed.\n    function attachFallback(img, key) {\n      var step = 0;\n      img.onerror = function () {\n        if (step >= SIZES.length) {\n          img.onerror = null;\n          if (img.parentNode) img.parentNode.removeChild(img);\n          return;\n        }\n        var size = SIZES[step];\n        step += 1;\n        img.removeAttribute(\"srcset\");\n        img.removeAttribute(\"sizes\");\n        img.setAttribute(\"src\", imageUrl(key, size[0], size[1]));\n      };\n    }\n\n    \/\/ Building photos prefer the tagged cover. Some buildings only carry\n    \/\/ untagged `building_image` rows with a null position, so the sort is\n    \/\/ a tiebreak rather than the primary rule.\n    function coverKey(building, listings) {\n      var files = building.building_files;\n      if (Array.isArray(files)) {\n        if (files.length) {\n          var cover = files.filter(function (file) {\n            return file.tag === \"cover_photo\";\n          })[0];\n          if (cover) return cover.aws_s3_key;\n\n          var ordered = files.slice().sort(function (a, b) {\n            return position(a) - position(b);\n          });\n          if (ordered[0]) return ordered[0].aws_s3_key;\n        }\n      }\n\n      \/\/ No building photo on file: borrow the first live unit's cover so\n      \/\/ the card is never a grey box.\n      var withPhoto = listings.filter(function (listing) {\n        return Boolean(listing.cover_photo_aws_s3_key);\n      })[0];\n      if (withPhoto) return withPhoto.cover_photo_aws_s3_key;\n      return null;\n    }\n\n    function position(file) {\n      var n = Number(file.position);\n      if (!isFinite(n)) return 9999;\n      return n;\n    }\n\n    function bedLabel(n) {\n      if (!n) return \"Studio\";\n      return n + \" Bed\";\n    }\n\n    \/* Rolls the live units up into the three things the card shows:\n     * how many are available, the cheapest asking price, and the spread\n     * of bedroom counts. *\/\n    function summarise(listings) {\n      var units = 0;\n      var price = null;\n      var frequency = \"\";\n      var minBeds = null;\n      var maxBeds = null;\n      var hasRoom = false;\n\n      listings.forEach(function (listing) {\n        var group = isGroup(listing);\n\n        var count = Number(listing.gr_count);\n        if (group) {\n          units += isFinite(count) ? Math.max(count, 1) : 1;\n        } else {\n          units += 1;\n        }\n\n        var amount = Number(group ? listing.gr_min_price : listing.price);\n        if (isFinite(amount)) {\n          if (amount > 0) {\n            if (price === null) {\n              price = amount;\n              frequency = listing.price_frequency;\n            } else if (amount < price) {\n              price = amount;\n              frequency = listing.price_frequency;\n            }\n          }\n        }\n\n        \/\/ A room in a shared unit has no meaningful bedroom count.\n        var scope = String(listing.unit_type_scope_txt_id || \"\").toUpperCase();\n        if (scope === \"SINGLE\") {\n          hasRoom = true;\n          return;\n        }\n\n        var beds = Number(listing.bedrooms);\n        if (isFinite(beds)) {\n          if (minBeds === null) minBeds = beds;\n          else if (beds < minBeds) minBeds = beds;\n          if (maxBeds === null) maxBeds = beds;\n          else if (beds > maxBeds) maxBeds = beds;\n        }\n      });\n\n      return {\n        units: units,\n        price: money(price),\n        period: PERIOD[frequency] || \"\",\n        beds: bedText(minBeds, maxBeds, hasRoom),\n      };\n    }\n\n    function bedText(min, max, hasRoom) {\n      if (min === null) return hasRoom ? \"Room\" : \"\";\n      if (min === max) {\n        var single = bedLabel(min);\n        return hasRoom ? single + \" \u00b7 Room\" : single;\n      }\n      var low = !min ? \"Studio\" : String(min);\n      var range = low + \" - \" + max + \" Bed\";\n      return hasRoom ? range + \" \u00b7 Room\" : range;\n    }\n\n    function unitsText(units) {\n      if (!units) return \"\";\n      if (units === 1) return \"1 Unit Available\";\n      return units + \" Units Available\";\n    }\n\n    function typeLabel(building) {\n      var type = String(building.building_type || \"\").toLowerCase();\n      return TYPE_LABEL[type] || \"Building\";\n    }\n\n    \/* ----------------------------------------------------------------\n     * Rendering\n     * ---------------------------------------------------------------- *\/\n    function buildCard(entry) {\n      var building = entry.building;\n      var listings = entry.listings;\n      var summary = summarise(listings);\n\n      var name = building.name || building.full_street_name;\n      var region = [building.full_street_name, building.city, building.state]\n        .filter(Boolean)\n        .join(\", \");\n\n      var card = el(\"a\", \"liv-buildings__card\");\n      \/\/ The pasted URL is the link, so the slug always matches the one\n      \/\/ that was checked by hand.\n      card.setAttribute(\"href\", entry.url);\n      card.setAttribute(\"id\", \"liv-blog-building-\" + building.id);\n      \/\/ Same as the footer link: new tab so the reader keeps their place,\n      \/\/ noopener for safety, and no noreferrer so the visit still\n      \/\/ attributes back to the blog.\n      card.setAttribute(\"target\", \"_blank\");\n      card.setAttribute(\"rel\", \"noopener\");\n\n      \/* Media *\/\n      var media = el(\"div\", \"liv-buildings__media\");\n      var key = coverKey(building, listings);\n      var src = imageUrl(key, 640, 400);\n\n      if (src) {\n        var img = el(\"img\", \"liv-buildings__img\");\n        img.setAttribute(\"src\", src);\n        img.setAttribute(\n          \"srcset\",\n          [\n            imageUrl(key, 320, 200) + \" 320w\",\n            imageUrl(key, 480, 300) + \" 480w\",\n            imageUrl(key, 640, 400) + \" 640w\",\n          ].join(\", \"),\n        );\n        \/\/ Layout is driven by the blog column, not the viewport, and the\n        \/\/ column count varies with how many buildings are configured, so\n        \/\/ one static hint cannot be exact. It errs to the widest case (3\n        \/\/ across) - better a slightly heavy image than a soft one.\n        img.setAttribute(\"sizes\", \"(min-width: 900px) 360px, 50vw\");\n        img.setAttribute(\"loading\", \"lazy\");\n        img.setAttribute(\"decoding\", \"async\");\n        img.setAttribute(\"alt\", [name, region].filter(Boolean).join(\", \"));\n        attachFallback(img, key);\n        media.appendChild(img);\n      }\n\n      var badgeText = unitsText(summary.units);\n      if (badgeText) {\n        var badge = el(\"span\", \"liv-buildings__badge\");\n        badge.textContent = badgeText;\n        media.appendChild(badge);\n      }\n\n      card.appendChild(media);\n\n      \/* Body *\/\n      var body = el(\"div\", \"liv-buildings__body\");\n\n      var priceRow = el(\"div\", \"liv-buildings__price-row\");\n      var priceNode = el(\"span\", \"liv-buildings__price\");\n      if (summary.price) {\n        priceNode.textContent = \"From \" + summary.price;\n        priceRow.appendChild(priceNode);\n        if (summary.period) {\n          var periodNode = el(\"span\", \"liv-buildings__period\");\n          periodNode.textContent = summary.period;\n          priceRow.appendChild(periodNode);\n        }\n      } else {\n        \/\/ Nothing live in the building today. The building page is still\n        \/\/ worth a visit, so the card stays and only the price softens.\n        priceNode.textContent = \"Contact for availability\";\n        priceRow.appendChild(priceNode);\n      }\n      body.appendChild(priceRow);\n\n      var details = el(\"p\", \"liv-buildings__details\");\n      details.textContent = summary.beds || typeLabel(building);\n      body.appendChild(details);\n\n      body.appendChild(el(\"div\", \"liv-buildings__divider\"));\n\n      var nameNode = el(\"p\", \"liv-buildings__name\");\n      nameNode.textContent = name;\n      body.appendChild(nameNode);\n\n      var regionNode = el(\"p\", \"liv-buildings__region\");\n      regionNode.textContent = region;\n      body.appendChild(regionNode);\n\n      var cta = el(\"span\", \"liv-buildings__cta\");\n      cta.textContent = \"View Building\";\n      body.appendChild(cta);\n\n      card.appendChild(body);\n      return card;\n    }\n\n    function render(entries, root) {\n      var wrapper = el(\"div\", \"liv-buildings\");\n\n      var title = el(\"h2\", \"liv-buildings__title\");\n      title.textContent = CONFIG.TITLE;\n      wrapper.appendChild(title);\n\n      var grid = el(\"div\", \"liv-buildings__grid\");\n      if (entries.length < 4) {\n        grid.className += \" liv-buildings__grid--n\" + entries.length;\n      } else if (entries.length % 4 === 1) {\n        \/\/ 5 and 9 would otherwise leave one card alone on the last row.\n        grid.className += \" liv-buildings__grid--three\";\n      }\n      entries.forEach(function (entry) {\n        grid.appendChild(buildCard(entry));\n      });\n      wrapper.appendChild(grid);\n\n      var footer = el(\"a\", \"liv-buildings__footer-link\");\n      footer.textContent = CONFIG.FOOTER_LINK_TEXT;\n      footer.setAttribute(\"href\", CONFIG.FOOTER_LINK_URL);\n      \/\/ Opens in a new tab so the reader keeps their place in the post.\n      \/\/ noopener only - the referrer is left intact so the visit still\n      \/\/ attributes back to the blog.\n      footer.setAttribute(\"target\", \"_blank\");\n      footer.setAttribute(\"rel\", \"noopener\");\n      wrapper.appendChild(footer);\n\n      root.appendChild(wrapper);\n    }\n\n    \/* ----------------------------------------------------------------\n     * Fetch + boot\n     * ---------------------------------------------------------------- *\/\n    \/\/ Two copies of this block on one page must not both render into the\n    \/\/ first placeholder, so prefer the one that follows this script and\n    \/\/ claim it before the fetch starts.\n    var CLAIMED = \"data-liv-mounted\";\n\n    function isFreePlaceholder(node) {\n      if (!node.matches) return false;\n      if (!node.matches(CONFIG.ROOT_SELECTOR)) return false;\n      return !node.hasAttribute(CLAIMED);\n    }\n\n    function findMount() {\n      var host = SELF ? SELF.parentNode : null;\n\n      if (host) {\n        var sibling = SELF.nextElementSibling;\n        while (sibling) {\n          if (isFreePlaceholder(sibling)) return sibling;\n          sibling = sibling.nextElementSibling;\n        }\n      }\n\n      var candidates = document.querySelectorAll(CONFIG.ROOT_SELECTOR);\n      for (var i = 0; i < candidates.length; i++) {\n        if (!candidates[i].hasAttribute(CLAIMED)) return candidates[i];\n      }\n\n      \/\/ No placeholder reached us - render where the script itself sits.\n      \/\/ Tagged with the placeholder class so the theme-neutralising rule\n      \/\/ in the stylesheet covers this div too.\n      if (host) {\n        var mount = document.createElement(\"div\");\n        mount.className = \"liv-buildings-root\";\n        host.insertBefore(mount, SELF.nextSibling);\n        return mount;\n      }\n\n      return null;\n    }\n\n    function parseUrls() {\n      var seen = {};\n      var parsed = [];\n\n      CONFIG.BUILDING_URLS.forEach(function (url) {\n        var id = idFromUrl(url);\n        if (!id) {\n          console.warn(\"[liv.rent buildings] Not a building URL: \" + url);\n          return;\n        }\n        if (seen[id]) return;\n        seen[id] = true;\n        parsed.push({ id: id, url: url });\n      });\n\n      if (parsed.length > CONFIG.MAX_BUILDINGS) {\n        console.warn(\n          \"[liv.rent buildings] Showing the first \" +\n            CONFIG.MAX_BUILDINGS +\n            \" of \" +\n            parsed.length +\n            \" buildings.\",\n        );\n        return parsed.slice(0, CONFIG.MAX_BUILDINGS);\n      }\n\n      return parsed;\n    }\n\n    function load() {\n      var targets = parseUrls();\n      if (!targets.length) {\n        console.warn(\"[liv.rent buildings] No usable building URLs.\");\n        return;\n      }\n\n      var root = findMount();\n      if (!root) {\n        console.warn(\n          \"[liv.rent buildings] No place to render - expected a <div \" +\n            'class=\"liv-buildings-root\"> after the script.',\n        );\n        return;\n      }\n      root.setAttribute(CLAIMED, \"1\");\n\n      var ids = targets.map(function (target) {\n        return target.id;\n      });\n\n      fetch(CONFIG.GRAPHQL_URL, {\n        method: \"POST\",\n        headers: { \"Content-Type\": \"application\/json\" },\n        body: JSON.stringify({ query: buildQuery(ids) }),\n      })\n        .then(function (res) {\n          return res.json();\n        })\n        .then(function (payload) {\n          if (payload.errors) {\n            if (payload.errors.length) {\n              throw new Error(payload.errors[0].message);\n            }\n          }\n\n          var missing = [];\n\n          \/\/ Aliases come back keyed by index, so the configured order is\n          \/\/ preserved for free - no client-side reordering needed.\n          var entries = targets\n            .map(function (target, index) {\n              var building = get(payload, [\"data\", \"b\" + index]);\n              if (!building) {\n                missing.push(target.id);\n                return null;\n              }\n              return {\n                id: target.id,\n                url: target.url,\n                building: building,\n                listings: get(payload, [\"data\", \"d\" + index]) || [],\n              };\n            })\n            .filter(Boolean);\n\n          if (missing.length) {\n            console.warn(\n              \"[liv.rent buildings] No building record for: \" +\n                missing.join(\", \"),\n            );\n          }\n\n          \/\/ Leave the post untouched rather than showing an empty frame.\n          if (!entries.length) return;\n\n          render(entries, root);\n        })\n        .catch(function (err) {\n          console.warn(\"[liv.rent buildings] Failed to load buildings.\", err);\n        });\n    }\n\n    \/\/ The block can be parsed after DOMContentLoaded has already fired.\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\"DOMContentLoaded\", load, false);\n    } else {\n      load();\n    }\n  })();\n<\/script>\n\n<!-- Where the block renders. Keep this after the script. -->\n<div class=\"liv-buildings-root\"><\/div>\n\n<style id=\"liv-buildings-subtitle-css\">\n.liv-buildings .liv-buildings__subtitle{display:block !important;font-size:14px !important;font-weight:500 !important;line-height:1.4 !important;color:#5b6472 !important;margin:-14px 0 20px !important;padding:0 !important;letter-spacing:0 !important;}\n<\/style>\n<script>\n(function(){\n  var TEXT = \"Featured buildings from CAPREIT\";\n  function place(){\n    var done = 0;\n    document.querySelectorAll('.liv-buildings').forEach(function(root){\n      var t = root.querySelector('.liv-buildings__title');\n      if(!t) return;\n      if(root.querySelector('.liv-buildings__subtitle')) { done++; return; }\n      var s = document.createElement('div');\n      s.className = 'liv-buildings__subtitle';\n      s.textContent = TEXT;\n      t.insertAdjacentElement('afterend', s);\n      done++;\n    });\n    return done;\n  }\n  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', place); else place();\n  var n=0, iv=setInterval(function(){ place(); if(++n>40) clearInterval(iv); }, 250);\n})();\n<\/script>\n\n\n<script id=\"capreit-cta-tracking\">\n(function(){\n  var PROV = \"bc\", PROVU = \"BC\";\n  function tag(){\n    document.querySelectorAll(\".liv-buildings\").forEach(function(root){\n      var cards = root.querySelectorAll(\"a.liv-buildings__card\");\n      Array.prototype.forEach.call(cards, function(a, i){\n        var pos = i + 1;\n        if(!a.getAttribute(\"data-building-id\")){\n          var m = (a.id || \"\").match(\/liv-blog-building-(\\d+)\/);\n          if(m) a.setAttribute(\"data-building-id\", m[1]);\n        }\n        if(!a.getAttribute(\"data-building-name\")){\n          var n = a.querySelector(\".liv-buildings__name\");\n          if(n) a.setAttribute(\"data-building-name\", n.textContent.trim());\n        }\n        a.setAttribute(\"data-province\", PROVU);\n        a.setAttribute(\"data-position\", String(pos));\n        a.setAttribute(\"data-cta-type\", \"building\");\n        a.id = \"blog-cta-capreit-\" + PROV + \"-building-\" + pos;\n      });\n      var f = root.querySelector(\"a.liv-buildings__footer-link\");\n      if(f){\n        f.id = \"blog-cta-capreit-\" + PROV + \"-footer-all-listings\";\n        f.setAttribute(\"data-province\", PROVU);\n        f.setAttribute(\"data-cta-type\", \"footer-all-listings\");\n      }\n    });\n  }\n  if(document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", tag); else tag();\n  var c = 0, iv = setInterval(function(){ tag(); if(++c > 40) clearInterval(iv); }, 250);\n  if(!window.__capreitCtaBound){\n    window.__capreitCtaBound = true;\n    \/\/ bubble phase, so anything that cancels the navigation has already run\n    document.addEventListener(\"click\", function(e){\n      if (e.defaultPrevented) return;                 \/\/ navigation was cancelled\n      if (typeof e.button === \"number\" && e.button !== 0) return;  \/\/ primary button only\n      var a = e.target && e.target.closest ? e.target.closest(\"a[id^='blog-cta-capreit-']\") : null;\n      if (!a) return;\n      var href = a.getAttribute(\"href\") || \"\";\n      if (!href) return;\n      if (href.charAt(0) === \"#\") return;\n      if (href.toLowerCase().indexOf(\"javascript:\") === 0) return;\n      window.dataLayer = window.dataLayer || [];\n      window.dataLayer.push({\n        event: \"capreit_blog_cta_click\",\n        cta_id: a.id,\n        cta_type: a.getAttribute(\"data-cta-type\") || \"\",\n        building_id: a.getAttribute(\"data-building-id\") || \"\",\n        building_name: a.getAttribute(\"data-building-name\") || \"\",\n        province: a.getAttribute(\"data-province\") || \"\",\n        position: a.getAttribute(\"data-position\") ? Number(a.getAttribute(\"data-position\")) : null,\n        link_url: a.href || \"\"\n      });\n    }, false);\n  }\n})();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Renting in a strata under the Strata Property Act<\/h2>\n\n\n\n<p>Until recently, individual stratas were able to create bylaws to prohibit or restrict renting. As of November 24, 2022, however, no strata corporation or section is allowed to have a <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/legislation-and-changes\/changes-to-legislation#:~:text=As%20of%20November%2024%2C%202022,required%20as%20provincial%20legislation%20changed).\" target=\"_blank\" rel=\"noreferrer noopener\">residential rental restriction bylaw<\/a>. This means that landlords may rent to any tenants whose applications they approve, with the exception of <a href=\"https:\/\/liv.rent\/blog\/landlords\/short-term-vs-long-term-rentals-which-are-right-for-you\/\" target=\"_blank\" rel=\"noreferrer noopener\">short-term tenancies<\/a> \u2013 which may still be banned or limited.<\/p>\n\n\n\n<p>Here, we&#8217;ll go over some of the key things renters and landlords should be aware of when renting in a strata.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">Renting in a strata: for renters<\/h3>\n\n\n\n<p>When renting in a strata, tenants are subject to the same regulations as homeowners under the Strata Property Act, and must also adhere to that strata&#8217;s bylaws and rules. Tenants should be provided with a copy of the strata&#8217;s current bylaws and rules as part of the <a href=\"http:\/\/www.bclaws.ca\/Recon\/document\/ID\/freeside\/12_43_2000#FormKNoticeofTenant'sResponsibilities\">Form K<\/a>: Notice of Tenant\u2019s Responsibilities <a href=\"https:\/\/liv.rent\/blog\/landlords\/common-lease-addendums-and-how-to-use-them\/\" target=\"_blank\" rel=\"noreferrer noopener\">lease addendum<\/a>.<\/p>\n\n\n\n<p>Tenants in a strata will also have access to common property (though fees may apply), and can even request short-term exclusive use of shared areas. Tenants also have the right to attend meetings and participate in discussions, if given permission.<\/p>\n\n\n\n<p>If a tenant violates a bylaw or rule and is responsible for an associated fee, that fee may be collected from the landlord instead. In this case, the tenant would be obligated to repay the landlord.<\/p>\n\n\n\n<p>If tenants are to sign a &#8220;long-term&#8221; lease, three years or more in this case, they then have the same rights and obligations as owners under the Strata Property Act. This includes paying fees that would normally be the responsibility of the owner, and maintaining parts of the strata lot that would be the owner&#8217;s responsibility.<\/p>\n\n\n\n<p>You can find a complete overview of tenants&#8217; responsibilities in a strata <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/renting-buying-selling\/renting-in-stratas\/tenants-in-stratas\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">Renting in a strata: for landlords<\/h3>\n\n\n\n<p>Landlords will also need to comply with the rules &amp; bylaws outlined in the <a href=\"http:\/\/www.bclaws.ca\/Recon\/document\/ID\/freeside\/12_43_2000#FormKNoticeofTenant'sResponsibilities\">Form K: the Notice of Tenant\u2019s Responsibilities<\/a> lease addendum, in addition to the legislation in the Strata Property Act. Further, landlords must present both their new tenants and the strata council with a copy of the Form K, signed by both parties. If either party is found to be violating the strata&#8217;s bylaws, the owner may be responsible for the associated fines or fees.<\/p>\n\n\n\n<p>Landlords are within their rights to evict a tenant who repeatedly violates strata bylaws. The strata council can also take steps to evict tenants.<\/p>\n\n\n\n<p>In the case of a long-term tenancy, landlords must not interfere with the strata lot or common property in a way that would be unreasonable. <\/p>\n\n\n\n<p>Landlords may also assign any of their rights and obligations to the tenants, provided they inform both the tenant, and strata council in writing. Tenants cannot be made responsible for paying fines on behalf of the owner. <\/p>\n\n\n\n<p>You can find a complete overview of landlords&#8217; responsibilities in a strata <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/renting-buying-selling\/renting-in-stratas\/landlords-and-strata-corporations\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\n<p style=\"font-size: 16px;margin: 0;\"><b>&gt;&gt; Recommended Reading:<\/b> <a href=\"https:\/\/liv.rent\/blog\/landlords\/common-lease-addendums-and-how-to-use-them\/\" target=\"_blank\" rel=\"noopener noreferrer\">Understanding Lease Addendums Part 2: Common Addendums And How To Use Them<\/a><\/p>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What are the responsibilities of a strata homeowner?<\/strong><\/h2>\n\n\n\n<p>Homeowners who are part of a strata council have several key duties beyond the regular responsibilities of a property owner. Here&#8217;s a quick breakdown of some of the common responsibilities of strata owners:<\/p>\n\n\n\n<ul>\n<li>Attending regular meetings to help decide on things like rule changes, financial matters, and maintenance<\/li>\n\n\n\n<li>Approving an <strong><a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/operating-a-strata\/finances-and-insurance\/budgeting-and-strata-fees\">annual budget<\/a>&nbsp;<\/strong>and electing a&nbsp;<strong><a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/operating-a-strata\/roles-and-responsibilities\/strata-councils&amp;title=Strata%20Councils\">strata council<\/a><\/strong><\/li>\n\n\n\n<li>Shared responsibility for the administration of the corporation, including taxation and adherence to the Strata Property Act<\/li>\n\n\n\n<li>The upkeep, maintenance, repairs and general appearance of the entire strata complex<\/li>\n\n\n\n<li>Respecting and following the strata by-laws<\/li>\n<\/ul>\n\n\n\n<p>The strata council will normally hire companies to perform property maintenance and accounting responsibilities. However, if there is a willing owner with an accounting background, they can volunteer to perform this function.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What are strata fees?<\/strong><\/h2>\n\n\n\n<p>Homeowners who are part of a strata will also be responsible for paying monthly strata fees. These fees are intended to cover shared expenses, such as:<\/p>\n\n\n\n<ul>\n<li>Building maintenance (repairs, power washing, painting, window washing, snow removal)<\/li>\n\n\n\n<li>Landscaping<\/li>\n\n\n\n<li>Building amenities (gym, pool etc.)<\/li>\n\n\n\n<li>Security<\/li>\n\n\n\n<li>Insurance<\/li>\n\n\n\n<li>Some utilities<\/li>\n<\/ul>\n\n\n\n<p>What they cover can vary significantly from strata to strata so make sure you find out what is included in these fees.<\/p>\n\n\n\n<p>A portion of these fees must also go to the<strong> <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/operating-a-strata\/finances-and-insurance\/the-contingency-reserve-fund-crf?keyword=strata&amp;keyword=contingency\">Contingency Reserve Fund<\/a><\/strong> (CRF) to pay for common expenses that occur less frequently or not at all. Currently in BC, The Strata Property regulations require that the CRF must have a minimum level of funding equivalent to 25% of the annual operating fund.<\/p>\n\n\n\n<p>In addition, &nbsp;owners can be called upon to pay<strong>&nbsp;<a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/operating-a-strata\/finances-and-insurance\/special-levies&amp;title=Special%20Levies\">special levies<\/a>&nbsp;<\/strong>for matters affecting the strata corporation, including the&nbsp;<strong><a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/operating-a-strata\/repairs-and-maintenance&amp;title=Repairs%20and%20Maintenance\">repair and maintenance<\/a>&nbsp;<\/strong>of common property and assets like replacing the roof or upgrading an elevator if contingency funds do not cover it.&nbsp; However, 75% of the strata must approve the collection of such a levy.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What are Strata bylaws?<\/strong><\/h2>\n\n\n\n<p>Each strata can establish <strong><a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/operating-a-strata\/bylaws-and-rules&amp;title=Strata%20Bylaws%20and%20Rules\">bylaws<\/a><\/strong> that owners and renters must follow. These might include bans on pets, smoking, barbecues and even rentals and\/or outline what repairs are the responsibility of the strata vs. unit owner. They can even go so far as to dictate acceptable window coverings.&nbsp; &nbsp;If you do not comply with the strata bylaws, you risk facing disciplinary action including fines.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Who is responsible for repairs?<\/strong><\/h2>\n\n\n\n<p>This will vary from strata to strata but in general, the strata corporation will be responsible for repairing items that are collectively shared like a roof or sprinkler system or anything else defined as <strong><a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/understanding-stratas\/common-property-and-limited-common-property\">common property<\/a><\/strong> (any part of the development shown on the strata plan that is not part of an individual strata unit) or <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/understanding-stratas\/common-property-and-limited-common-property\"><strong>limited common property<\/strong><\/a> (a part of the common property designated on the strata plan for the exclusive use of one or more strata units like balconies or parking spots).<\/p>\n\n\n\n<p>For more information on Repairs &amp; Maintenance in a Strata, click <strong><a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/operating-a-strata\/repairs-and-maintenance\/paying-for-repair-and-maintenance\">here.<\/a><\/strong><\/p>\n\n\n\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\n<p style=\"font-size: 16px;margin: 0;\"><b>&gt;&gt; Recommended Reading:<\/b> <a href=\"https:\/\/liv.rent\/blog\/rental-laws\/landlord-tenant-responsibilities-bc\/\" target=\"_blank\" rel=\"noopener noreferrer\">Your guide to landlord &#038; tenant responsibilities in BC<\/a><\/p>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What rights do strata owners have?<\/strong><\/h2>\n\n\n\n<p>As a part owner of the strata, it is important for you to ensure the strata corp is held accountable and acts responsibly on matters concerning the entire strata property or individual owners or units.&nbsp; You have many of the same rights as a traditional home owner but as a co-owner of a strata corporation, you should think of your fellow owners as business partners as well as neighbours.<\/p>\n\n\n\n<p>As such you have the right to:<\/p>\n\n\n\n<ul>\n<li>Vote at any general meeting.<\/li>\n\n\n\n<li>Request and receive certain records from the strata council.<\/li>\n\n\n\n<li>Instruct the strata council by majority vote at general meetings.<\/li>\n\n\n\n<li>Limit the power of the strata council by majority vote at general meetings.<\/li>\n\n\n\n<li>Call for general meetings with a petition of a certain percentage of the owners<\/li>\n\n\n\n<li>Add items to the agenda at general meetings with a petition of a certain percentage of the owners.<\/li>\n\n\n\n<li>Seek a court or arbitration order against unfair acts of the strata corporation or strata council.<\/li>\n\n\n\n<li>Go to the<strong> <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/strata-housing\/resolving-disputes\">Civil Resolution Tribunal<\/a><\/strong>, to enforce the strata council to follow the<strong> <a href=\"https:\/\/www.leg.bc.ca\/Pages\/BCLASS-Legacy.aspx#%2Fcontent%2Flegacy%2Fweb%2F36th3rd%2F1st_read%2Fgov47-1.htm\">Strata Property Act<\/a>,<\/strong> regulations, bylaws or rules or to resolve a conflict.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<br> \n\n<style> \n\n.button-rethink-way-you-rent { \n  background-color: #3E5B77; \n  border: 5px #26425C; \n  color: white; \n  padding: 10px 30px; \n  text-align: center; \n  text-decoration: none; \n  display: inline-block; \n  font-size: 15px; \n  margin: 5px 0px 20px 0px; \n  cursor: pointer; \n} \n<\/style> \n\n<img decoding=\"async\" class=\"alignleft wp-image-23097\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/08\/Digital-Contracts-Cropped-2.gif\" alt=\"Find apartments &amp; houses for rent with the liv.rent app\" width=\"196\" height=\"370\" style=\"float:left;\"> \n\n<h3 style=\"color: #3E5B77;\">Rethink The Way You Rent<\/h3> \n\n<p>Not on <strong><a href=\"https:\/\/liv.rent\/\" target=\"_blank\" rel=\"noopener noreferrer\">liv.rent<\/a><\/strong> yet? Experience the ease of digital applications &#038; contracts, verified tenants &#038; landlords, virtual tours and more \u2013 all on one platform. <strong><a href=\"https:\/\/liv.rent\/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Sign up for free<\/a><\/strong> or <strong><a href=\"https:\/\/liv.rent\/download\" target=\"_blank\" rel=\"noopener noreferrer\"> download the app<\/a><\/strong>.<\/p> \n\n<a href=\"https:\/\/liv.rent\/\" target=\"_blank\" rel=\"noopener noreferrer\"><button id=\"button-rethink-way-you-rent\" class=\"button-rethink-way-you-rent\">Learn More<\/button><\/a> \n\n<p style=\"color: #3E5B77\"><strong><a href=\"https:\/\/315027fd.sibforms.com\/serve\/MUIEALxBmw-zX8J7nIDbE8Y0GsbO2XD2wyS5o8IJ7wVaedytZTfE-Ysnf2unVSDuBMQ_DiIreTYMftk3u84zjN-NZ459-r4fafSVJmvHqufcCZsHOdl9YPdQlyNO_8e-aEyO3JswcwrjPcNt9Ll22P85SQ6zAIiqlLhL9S2Es9edJgfjg0307yN6DptRbjGnHobRqNlUNRLczWrl\" target=\"_blank\" rel=\"noopener noreferrer\">Subscribe<\/a><\/strong> to receive the latest tenant &#038; landlord tips and get notified about changes in the Canadian rental market.\n<\/p> \n\n<p style=\"color: #3E5B77\"><strong>>> Stay up-to-date on the average rent in Vancouver, Toronto and Montreal: <\/strong> <a href=\"https:\/\/liv.rent\/blog\/rent-reports\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rent Reports<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stratas are a form of housing ownership that is unique to British Columbia. Strata housing provides plenty of benefits to homeowners, but when it comes to renting within a strata property, things can get a tad more complex. Under the Strata Property Act, residents of stratas in B.C. find themselves in a unique housing situation [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":29274,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false},"categories":[528,524],"tags":[349],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Your guide to renting in a strata under the BC Strata Property Act | liv.rent blog<\/title>\n<meta name=\"description\" content=\"This guide to BC&#039;s Strata Property Act and what it means for renters &amp; landlords answers commons questions and breaks down key information.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Your guide to renting in a strata under the BC Strata Property Act | liv.rent blog\" \/>\n<meta property=\"og:description\" content=\"This guide to BC&#039;s Strata Property Act and what it means for renters &amp; landlords answers commons questions and breaks down key information.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/\" \/>\n<meta property=\"og:site_name\" content=\"liv.rent blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/liv.rent\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-15T17:23:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T19:46:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2018\/08\/genericheader1_rentalresource_2021_03_30.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kristina Ikavalko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@liv_rent\" \/>\n<meta name=\"twitter:site\" content=\"@liv_rent\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kristina Ikavalko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/\"},\"author\":{\"name\":\"Kristina Ikavalko\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae\"},\"headline\":\"Your guide to renting in a strata under the BC Strata Property Act\",\"datePublished\":\"2019-10-15T17:23:03+00:00\",\"dateModified\":\"2026-08-28T19:46:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/\"},\"wordCount\":1464,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/liv.rent\/blog\/#organization\"},\"keywords\":[\"Vancouver\"],\"articleSection\":[\"BC\",\"Rental Laws\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/\",\"url\":\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/\",\"name\":\"Your guide to renting in a strata under the BC Strata Property Act | liv.rent blog\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/#website\"},\"datePublished\":\"2019-10-15T17:23:03+00:00\",\"dateModified\":\"2026-08-28T19:46:42+00:00\",\"description\":\"This guide to BC's Strata Property Act and what it means for renters & landlords answers commons questions and breaks down key information.\",\"breadcrumb\":{\"@id\":\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/liv.rent\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Your guide to renting in a strata under the BC Strata Property Act\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/liv.rent\/blog\/#website\",\"url\":\"https:\/\/liv.rent\/blog\/\",\"name\":\"Liv Rent\",\"description\":\"Rental Made Easy\",\"publisher\":{\"@id\":\"https:\/\/liv.rent\/blog\/#organization\"},\"alternateName\":\"liv.rent\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/liv.rent\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/liv.rent\/blog\/#organization\",\"name\":\"Liv Rent\",\"alternateName\":\"liv.rent\",\"url\":\"https:\/\/liv.rent\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png\",\"contentUrl\":\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png\",\"width\":1000,\"height\":457,\"caption\":\"Liv Rent\"},\"image\":{\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/liv.rent\/\",\"https:\/\/twitter.com\/liv_rent\",\"https:\/\/www.instagram.com\/liv.rent\/\",\"https:\/\/www.youtube.com\/channel\/UCyx0INp1qqQ2Xhw-rMiqQiA\",\"https:\/\/www.pinterest.ca\/livrent\/\",\"https:\/\/www.tiktok.com\/@liv.rent\",\"https:\/\/www.linkedin.com\/company\/livrent\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae\",\"name\":\"Kristina Ikavalko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g\",\"caption\":\"Kristina Ikavalko\"},\"description\":\"Creative Content Creator for liv.rent, based in Vancouver.\",\"url\":\"https:\/\/liv.rent\/blog\/author\/kristina\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Your guide to renting in a strata under the BC Strata Property Act | liv.rent blog","description":"This guide to BC's Strata Property Act and what it means for renters & landlords answers commons questions and breaks down key information.","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:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/","og_locale":"en_US","og_type":"article","og_title":"Your guide to renting in a strata under the BC Strata Property Act | liv.rent blog","og_description":"This guide to BC's Strata Property Act and what it means for renters & landlords answers commons questions and breaks down key information.","og_url":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/","og_site_name":"liv.rent blog","article_publisher":"https:\/\/www.facebook.com\/liv.rent\/","article_published_time":"2019-10-15T17:23:03+00:00","article_modified_time":"2026-08-28T19:46:42+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2018\/08\/genericheader1_rentalresource_2021_03_30.png","type":"image\/png"}],"author":"Kristina Ikavalko","twitter_card":"summary_large_image","twitter_creator":"@liv_rent","twitter_site":"@liv_rent","twitter_misc":{"Written by":"Kristina Ikavalko","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#article","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/"},"author":{"name":"Kristina Ikavalko","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae"},"headline":"Your guide to renting in a strata under the BC Strata Property Act","datePublished":"2019-10-15T17:23:03+00:00","dateModified":"2026-08-28T19:46:42+00:00","mainEntityOfPage":{"@id":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/"},"wordCount":1464,"commentCount":0,"publisher":{"@id":"https:\/\/liv.rent\/blog\/#organization"},"keywords":["Vancouver"],"articleSection":["BC","Rental Laws"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/","url":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/","name":"Your guide to renting in a strata under the BC Strata Property Act | liv.rent blog","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/#website"},"datePublished":"2019-10-15T17:23:03+00:00","dateModified":"2026-08-28T19:46:42+00:00","description":"This guide to BC's Strata Property Act and what it means for renters & landlords answers commons questions and breaks down key information.","breadcrumb":{"@id":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/liv.rent\/blog\/rental-laws\/renting-and-the-strata-property-act\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/liv.rent\/blog\/"},{"@type":"ListItem","position":2,"name":"Your guide to renting in a strata under the BC Strata Property Act"}]},{"@type":"WebSite","@id":"https:\/\/liv.rent\/blog\/#website","url":"https:\/\/liv.rent\/blog\/","name":"Liv Rent","description":"Rental Made Easy","publisher":{"@id":"https:\/\/liv.rent\/blog\/#organization"},"alternateName":"liv.rent","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/liv.rent\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-CA"},{"@type":"Organization","@id":"https:\/\/liv.rent\/blog\/#organization","name":"Liv Rent","alternateName":"liv.rent","url":"https:\/\/liv.rent\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png","contentUrl":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png","width":1000,"height":457,"caption":"Liv Rent"},"image":{"@id":"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/liv.rent\/","https:\/\/twitter.com\/liv_rent","https:\/\/www.instagram.com\/liv.rent\/","https:\/\/www.youtube.com\/channel\/UCyx0INp1qqQ2Xhw-rMiqQiA","https:\/\/www.pinterest.ca\/livrent\/","https:\/\/www.tiktok.com\/@liv.rent","https:\/\/www.linkedin.com\/company\/livrent\/"]},{"@type":"Person","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae","name":"Kristina Ikavalko","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g","caption":"Kristina Ikavalko"},"description":"Creative Content Creator for liv.rent, based in Vancouver.","url":"https:\/\/liv.rent\/blog\/author\/kristina\/"}]}},"_links":{"self":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/12385"}],"collection":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/comments?post=12385"}],"version-history":[{"count":5,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/12385\/revisions"}],"predecessor-version":[{"id":69153,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/12385\/revisions\/69153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media\/29274"}],"wp:attachment":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media?parent=12385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/categories?post=12385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/tags?post=12385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}